Skip to content

Reliability

KSOR: The System of Record for Reliable Agentic AI

Memory tells an agent what it remembers. A system of record tells it what the organisation is prepared to stand behind. Why agents that act need the second — and what it takes to build one.

By Asadullah Shafique12 min read
  • KSOR
  • System of Record
  • Agentic AI
  • Provenance
  • Governance

In brief

Agents fail quietly when they act on knowledge nobody governs: stale memories, conflicting documents, an earlier agent's guess stored as fact. A Knowledge System of Record — a term from Panaversity's The AI Agent Factory — is the governed layer that tells an agent what to treat as authoritative. This article separates it from memory and from retrieval, walks through the anatomy of a trustworthy fact, and is honest about how much of it the system behind this site actually implements.

On this page · 18

Not long ago, the facts about my own work lived in three places in this repository.

One copy fed the backend agent. One fed the MCP server. One fed the chat widget on the homepage. Each was correct on the day it was written. Then the work moved on — and by the time anyone compared them, the backend copies still named "Textbook RAG Chatbot" as my current project, while the live site led with a newer one.

Nobody had lied. Nothing had crashed. Three consumers were simply answering from three different versions of reality, and none of them had any way to know.

That is the smallest possible version of the problem this article is about. Scale it up to an organisation — a CRM, an ERP, contract repositories, email, tickets, and a dozen agents reading from all of them — and it stops being an embarrassing inconsistency. It becomes an agent confidently taking the wrong action.

The fix here was one file. Every consumer now reads it, and the rule written next to it is: add a renderer, never a literal — no fourth copy, ever. That file is not a Knowledge System of Record. But it is the same idea at the size of one person, and it is where the idea starts to pay.

Where the term comes from

"Knowledge System of Record" is not my coinage. It comes from Panaversity's The AI Agent Factory, which argues that as software's interface dissolves into agents, systems of record become more strategic, not less — "an agent is only as good as the record it reasons over." It then extends the idea from transactional rows to knowledge: a KSOR holds "source-backed knowledge, policy, methods, decisions, provenance, and other context that must survive changes in models and agent vendors."

This article is an engineer's reading of that idea: what a KSOR has to do, how it differs from the things it is most often confused with, and what building one actually requires.

The question a KSOR answers

Before every consequential step, an agent is implicitly answering one question:

What should I treat as authoritative right now?

Models are extraordinarily good at reasoning over whatever they are given. They are not, on their own, any good at deciding whether it deserves to be believed. Capability is not authority.

Illustrative example

One customer, four sources, four answers — the kind of disagreement every organisation carries.

Source Says the customer's plan is Last changed
Archived proposal (PDF) Professional Six months ago
Sales email thread "Moving to Enterprise" Three months ago
CRM Enterprise Yesterday
An earlier agent's note Professional Last quarter

An agent that retrieves whichever of these looks most relevant can produce an answer that is well reasoned and operationally wrong. That is the knowledge consistency problem — and in an autonomous system, wrong knowledge becomes wrong action.

Memory is not a system of record

This distinction does most of the work in the article, so it is worth making precisely.

Agent memory System of record
Question it answers "What do I remember?" "What does the organisation stand behind?"
Owned by One agent, or one session A named owner with a governance process
Written by The agent, freely Governed writes: propose, validate, approve, commit
When two entries conflict No rule — whichever is retrieved Explicit authority and freshness rules
History Usually overwritten Versioned, queryable as of a date
Provenance Rarely recorded Required on every fact
Survives a model or vendor change Often not That is the point
Characteristic failure Confidently stale Too slow to update, if governance is too heavy

The agent uses memory for cognition and the record for authority. Neither replaces the other.

Engineering implication

If your agents' only source of truth is their own memory, you do not have a knowledge system. You have as many versions of reality as you have agents.

Retrieval is not authority either

A vector database answers: which information is semantically similar to this query? A KSOR answers a different question: which information is authoritative, current, supported, and permitted for this decision? Similarity is not truth.

In the example above, retrieval may happily return both the archived PDF and the CRM record. A record applies rules to them:

Authority:  CRM > archived documents   (for subscription status)
Freshness:  yesterday > six months ago
Result:     Enterprise — source: CRM, verified yesterday

The AI Agent Factory makes the same point about its own content: retrieval alone is not a system of record, because the content also needs "a named owner, version control, review and approval, access control, and support for citations." The last item matters more than it looks. Citations are what let a human check an agent's claim instead of trusting it.

Three kinds of record, and the layer between them

The AI Agent Factory separates three things that are easy to blur, and the separation clears up most confusion about what a KSOR is for:

Transactional system of record Knowledge system of record System of context
Examples ERP, CRM, HRIS, general ledger Policies, methods, decisions, governed knowledge Connectors, indexes, routing, permission maps
Owns State — what happened, the balance, who approved Rules and method — what is required, what evidence counts No truth of its own
Answers "What is the number?" "What is the rule?" "What is relevant to this task, right now?"

The table is adapted from the System of Context chapter of The AI Agent Factory.

This is why a KSOR does not replace existing systems. The CRM stays authoritative for relationship status; the ledger stays authoritative for billing. The KSOR holds what cuts across them — rules, relationships, decisions, derived knowledge and provenance — and the context layer routes an agent to the right source for each question.

Anatomy of a trustworthy fact

A bare value — status = active — is data. A fact an agent can safely act on carries its own justification:

Illustrative example

A sketch of the shape, not a schema from a specific product.

fact:
  entity: customer/482
  attribute: status
  value: active
source:
  system: crm              # the authority for this attribute
observed: 2026-09-10
version: 18
supersedes: 17
authority: primary
confidence: high           # a routing signal, not a probability of truth

Five properties do the work.

Provenance. Where did this come from, and through which transformations? A provenance chain — source document, extraction, validation, normalised fact, record, decision, action — lets an engineer walk backwards from a bad action to the fact that caused it.

Versioning. Knowledge changes, and overwriting destroys context. A versioned record answers not only "what is true now?" but "what did the system know when this decision was made?" — the question every audit eventually asks.

Epistemic status. A trustworthy system distinguishes what it knows from what it guesses:

FACT        The contract expires on 30 June.        source: signed contract
INFERENCE   The customer may need renewal outreach.
ACTION      Prepare a renewal workflow.

The system must never silently promote an inference to a fact. Once an agent's guess is stored alongside verified facts with the same status, every later agent inherits it as truth.

Confidence. Useful as a routing signal — use directly, verify first, or escalate. Dangerous as a number that is treated as making something true.

Authority. Explicit rules for which source wins which attribute: the finance system for billing status, the CRM for relationship status, the contract repository for terms. Without them, an agent trusts whichever source happened to be retrieved first.

Decisions are knowledge too

The most underrated part of the KSOR idea is that the record should hold not only facts about the world, but decisions made about it — by agents and by people.

decision: escalate customer/482 to priority support
made_by: support-agent
reason: three unresolved incidents in 14 days
evidence: [incident/A, incident/B, incident/C]
policy: priority-escalation v4
at: 2026-09-10

Now a later agent knows not only the current state but why the state is what it is. Most organisations lose exactly this. The reasoning behind a decision lives in an email, a ticket comment or someone's head, and it leaves when they do.

Three layers of truth that must never collapse

A design rule that prevents a great deal of confusion: keep three categories separate all the way through the system.

  1. Observed truth — what an authoritative source currently reports.
  2. Derived knowledge — what the system has calculated or inferred from evidence.
  3. Agent belief — what one agent currently believes while working on one task.
  1. Observed truth
  2. Derived knowledge
  3. Agent belief
  4. Decision
  5. Action

Each step down is less certain than the one above it. Collapsing them — storing an agent's belief as though it were observed truth — is how one hallucination becomes institutional fact.

Writes are where governance lives

Reading knowledge and changing it are different operations, and they deserve different permissions. An agent may read a customer's status freely. Writing status = terminated is a consequential action.

  1. An agent proposes a change
  2. Validate against schema and business rules
  3. Evaluate policy
  4. Human approval, if the change is high-impact
  5. Commit
  6. A new version is created
  7. An audit event is recorded

Read, propose, approve, commit. This is what stops an autonomous system from quietly rewriting organisational truth — and it is the same principle as read-only-by-default tools, applied to knowledge.

In this codebase

The portfolio agent on this site reads its knowledge through six MCP tools and can write none of it. The record changes only through a commit to the repository — a reviewed, versioned, auditable write path with a human in it. It is a small system, but the write rule is the real one.

The knowledge gateway

Agents should not reach into the record directly. A gateway between them handles authentication, authorisation, query validation, version selection, provenance retrieval, policy enforcement, rate limiting and audit logging. The AI Agent Factory is concrete about the shape: an agent reaches transactional state through a typed query over MCP, and governed knowledge through cited retrieval over authored pages — not through free-text search over everything.

Authorisation attaches to operations, not to "access to the KSOR":

Illustrative example

A permission map for four hypothetical agents.

Agent May read May write
Research Public product knowledge
Sales Customer information Sales notes
Finance Billing state Propose financial changes
Administrator Everything Approve sensitive changes

The question is never simply "can this agent access the record?" It is "which knowledge may this agent read, and which operations may it perform on it?"

A shared reality for multi-agent systems

Multi-agent systems add a new failure: agents that disagree about the world. A research agent believes a customer is high-value; a sales agent believes they are inactive; a support agent is working three open incidents for them. Each view is locally reasonable. Together they produce incoherent behaviour.

Without a shared record, the architecture looks like this:

Agent A  →  its own memory
Agent B  →  its own memory
Agent C  →  a vector index
Agent D  →  raw documents
Agent E  →  a stale API cache

Five agents, five partial realities. Manageable in a demo; architectural debt at scale. A KSOR is the common substrate: agents stay specialised, and the facts they act on stop forking.

KSOR inside the loop

The record is not something an agent consults once, at the start. It participates throughout the run:

  1. Retrieve authoritative knowledge for the goal
  2. Reason and plan
  3. Check policy
  4. Act
  5. Observe the result
  6. Validate the outcome
  7. Update state and record the evidence
  8. Replan or complete — with the record now reflecting what happened

That closes the chain an audit needs: knowledge → decision → action → outcome. For any consequential action, you should be able to reconstruct what the agent knew, which version it used, which sources supported it, which policy allowed it, which tool it called, and what changed as a result.

Drift and supersession

Environments change while agents keep acting on old assumptions. A record fights drift with freshness policies, source synchronisation, conflict detection, expiry and revalidation workflows. The single most useful mechanism is explicit supersession:

Pricing Policy v7    status: SUPERSEDED    replaced_by: v8

An agent that retrieves v7 learns, in the same response, that it must not use it. Compare that with a document sitting in a vector index — equally retrievable, forever.

What this repository does, and does not, do

The site's own Reality Rule applies to this article, so here is an honest scorecard of the system behind it against the properties above.

Property Implemented? Where
One authoritative source for portfolio facts Yes backend/knowledge/portfolio.json, read by all three consumers
No duplicate copies Yes, by rule "Add a renderer, never a literal"
Read-only agent access over a protocol Yes Six read-only MCP tools
Governed, versioned writes Yes, through git Every change is a reviewed commit
A decision trace per run Partly route and tool_calls in typed state — recorded per run, not persisted
Per-fact provenance, confidence and authority rules No Unnecessary with one source; essential with many
Conflict resolution across sources No There is only one source

It is a single-owner record at the scale of a portfolio, not an enterprise KSOR. The point of showing it is the direction of travel, because the first step is always the same: pick one source, make everything read from it, and forbid the fourth copy. This blog follows the same rule — each article's metadata lives in its own markdown file, and the hub, the homepage and the sitemap all read it from there.

Failure modes

Failure Cause Countermeasure
Confident, stale action Agent memory outlives the fact Freshness policies; explicit supersession
Split-brain agents Each agent owns its own truth One shared record
Laundered hallucination An inference stored as a fact Separate epistemic status; never auto-promote
Silent rewrite of truth Agents can write freely Propose → validate → approve → commit
Unexplainable decision No record of what was known at the time Versioned facts plus decision records
Governance paralysis Every write needs a committee Risk-tiered approval; auto-commit low-risk writes

The last row matters as much as the others. A record so heavily governed that nobody updates it will be bypassed — and a bypassed record is worse than none, because people still believe it.

The principle

Agents should be free to reason. They should not be free to redefine reality without governance.

Autonomy belongs in the reasoning and execution layer. Authority belongs in the knowledge and governance layer. The first is probabilistic; the second has to be deterministic. A dependable agentic system needs both, and needs them kept apart.

The future of reliable agentic AI will not be built only on better models, larger context windows or more agents. It will be built on the infrastructure that lets those models know what to trust before they decide what to do.

Key takeaways

  • Memory answers "what do I remember?"; a system of record answers "what do we stand behind?" Agents need both, for different jobs.
  • Retrieval finds information. Authority, freshness and provenance rules decide which of it to act on.
  • A KSOR complements transactional systems of record; it holds the rules, decisions and provenance that cut across them.
  • Keep observed truth, derived knowledge and agent belief separate. Never promote an inference to a fact silently.
  • Reads can be broad. Writes must be proposed, validated, approved and versioned.
  • Start small: one source, every consumer reads it, and no fourth copy.

Further reading

Idea → implementation

Where this exists in code

Some of the ideas above are implemented in the system behind this site. Each link opens the source, so the claim can be checked rather than taken on trust.

About the author

Asadullah Shafique

Agentic AI Systems Engineer

I build multi-agent systems on the OpenAI Agents SDK with MCP tooling, constitutional guardrails and trace-level evaluation, and write here about the architecture and judgment behind them.

Strategy8 min read

Closing the Deployment Gap: Why the Next Job Is Forward-Deployed, Not Another Demo Agent

Two groups are stuck for what look like opposite reasons — developers watching their work commoditise, companies watching pilots collapse on contact with real workflows. It is the same wall from two sides. The gap is not talent and not the model; it is deployment, and it closes with a System of Context.

  • Forward-Deployed
  • Agent Factory
  • System of Context
  • AI Engineering
Reliability12 min read

Building a Constitutional AI Todo App: The Spec-First Way

149 tests passing. Triple-layer Constitutional AI with 7 BLOCK and 5 FLAG patterns. Team collaboration, recurring todos, and calendar integration, built in four 3-hour sessions from a single SPEC.md file.

  • Constitutional AI
  • FastAPI
  • Next.js
  • TDD