Why SEIF
An agent's answer can only be as good as what it receives. Most teams cannot say what that is. The system prompt lives in one place, the knowledge in another, retrieval decides at request time, and when an agent states an old price or repeats an internal note to a customer, nobody can say why it had that in hand, or prove it will not happen again.
SEIF makes the agent's input an engineered, testable artifact:
- See what a given agent receives for a given question: each fact with its source, revision and the date someone checked it; what stayed out and the rule that kept it out; what is unknown. No model is called, so it is instant, free and repeatable.
- Prove it: questions customers really ask become tests. A test that requires the price list or forbids the internal notes runs on every change and blocks a release that breaks it, so removing the test does not remove the obligation.
- Connect the same proven context to the agent you already use (Claude Code, Codex, Cursor, Claude.ai, ChatGPT, n8n, Trinity, OpenBot or your own application) through an MCP server, an HTTP runtime or an export.
Where it fits
SEIF is not another agent runtime. It sits before the runtime and decides what the runtime's model gets.
your knowledge (Git, folders, docs, databases, live APIs)
│
┌─────────▼─────────┐
│ SEIF │ decide · prove · version · trace
│ context compiler │ (deterministic, no model calls)
└─────────┬─────────┘
│ messages + materials + reasons (MCP · HTTP · export)
┌────────────────┼──────────────────┬───────────────────┐
▼ ▼ ▼ ▼
Claude Code / Trinity, OpenBot, n8n, Zapier, your app (Python /
Codex / Cursor Hermes Agent… webhooks TypeScript SDK)
| Agent runtimes and orchestrators (Trinity, OpenBot, Hermes Agent, Claude Code…) | Retrieval (RAG) libraries and vector stores | SEIF | |
|---|---|---|---|
| Main job | Run agents: loops, tools, schedules, channels, fleets | Find passages similar to a query | Decide and prove what each agent may receive, per task |
| Unit of work | A conversation or a job | A query | A versioned Context Build with tests |
| What you can inspect | What the agent did and said | Which chunks scored highest | Why each item entered or stayed out, at every stage, with digests |
| Before deployment | Test the agent's output | Tune ranking | Test the input: required, forbidden, budget, currentness; release blocked on failure |
| Boundaries between audiences | Usually by configuration of each agent | Usually none built in | Profiles per agent; sealed material is never sent, and the hosted endpoint never even names it |
| Model calls needed to check it | Yes | Embeddings | None |
They are complementary. A runtime with SEIF in front of it gets the same answers to "what did it know?" that a build system gives to "what code shipped?".
What is different, concretely
- Deterministic. The same files, request and clock produce the same prompt, byte for byte, with a digest. A Build is immutable and can be compared with any other.
- Fail-closed. A required rule that does not fit the budget blocks the turn instead of silently running without it.
- Currentness is a rule, not a hope. A price checked 200 days ago under a 90-day rule does not reach the agent; the screen says which file and which date to renew.
- Negative space is visible. "Left out, and why" is as prominent as "in hand": sealed by rule, out of date, cut by the size limit, not relevant.
- Gaps become knowledge in one step. A question nobody answered becomes a dated section and a passing test.
- Portable. Plain Markdown and YAML in Git. The same project opens in the web app, the desktop app, the CLI and your editor, and exports to Trinity and OpenBot.
Honest limits
- Relevance by words works in any language, deterministically, but cannot meet words with nothing in common or cross languages. Search by meaning (an embeddings model you choose, multilingual) covers that, with the vectors pinned per Build. See Retrieval.
- SEIF proves what was delivered. It does not prove what a model did with it; evaluate answers separately.
- Token counts are estimates.
See it in two minutes
Open app.seifprotocol.com → Explore first → Open a ready example, or locally:
bin/seif init "Aurora" --template example --project ./aurora # Portuguese: --template exemplo
bin/seif compass "how much is an implant?" --project ./aurora # STALE: exists, withheld, which date to renew
bin/seif test --project ./aurora # 5/5 guarantees proven
Next: Quickstart · How resolution works · Documentation index