Ontoledgy AI Ontology Context Library · why this exists

Meaning is an engineering problem

An AI's answer is the product of two things: the generator and the context you feed it. The generator keeps improving on its own. The context is the half you own, and it is where most answers are won or lost. Context engineering is the craft of assembling it, and its hard part was never wording the prompt. The hard part is the meaning underneath: most context is built on data that machines have stored but never understood.

That missing meaning didn't vanish. It stayed in people's heads and working practices, so each system tells its own story, disagrees with the others and won't interoperate: a Tower of Babel in data form. Feed that to a fluent AI and it inherits every contradiction, with no firm ground to stand on and nothing to be sense-checked against. Context isn't a prompt you write once. It is an engineering problem, and the answer is to make meaning explicit, shared and grounded. This page is the problem. The rest of the library is the fix.

01 context can't speak without meaning 02 that meaning is trapped in people 03 systems disagree · can't interoperate 04 ungrounded AI can't be trusted or checked

01

The model only sees the context, and the context can't speak

An LLM knows nothing but the context you give it: whatever isn't in that window doesn't exist for the model. So context engineering comes down to one question: what do you put in, and does it carry its own meaning? Reach for your data and you hit the wall at once. We told ourselves the hard part was done when the data was in the computer. But that only ever answered where the information lives, never what it is about. A database can hold a million invoices and still not know that two of them name the same company. It shuffles the symbols flawlessly without grasping what any of them stand for. Holding a symbol is not understanding it, and a symbol with no meaning is context that can't speak.

What the system stores

Bytes it can hold

CUST_4471 · 2024-03-14 · 18,200.00 · status=2

Held, copied, sorted and summed at no cost. The machine is fluent in the structure (rows, keys, totals), and that fluency is real.

What it never stored

What any of it means

That CUST_4471 is Acme Holdings, a strategic account; that status=2 means overdue; that this is the third late payment in a row, a churn signal someone should act on.

None of that is in the data. It lives in a person's head. The machine has the bytes and none of the meaning.


02

The meaning lives in people, not the system

The meaning isn't lost. It just isn't written down anywhere a machine can read, so it can never be loaded into a context window. It lives as implicit knowledge in the people who run the system, and in working practices handed from desk to desk. The system "works" only because a human quietly supplies the half that was never recorded. Engineer context out of this data and you ship the bytes and leave the meaning behind. When that person leaves, the meaning leaves with them.

  • Foreign keys everyone understands but nobody declared: the joins live in habit, not in the schema.
  • A column called flag that means three different things depending on which team filled it in.
  • The rule that you always exclude region 9 from the totals: known at the desk, written nowhere.
  • Two tables you must never join directly, and the one analyst who remembers why is retiring in March.

Every one of these is meaning the machine can't see. The data leans on a running commentary that no system holds and no system enforces. That's not a quirk of one badly run database. It's the normal state of almost all enterprise data.


03

Every system speaks its own language

Pull context from more than one system and it doesn't add up. It contradicts. Each system carries its own private, unwritten model, so no two of them agree. The same real thing turns up under a different name, a different key and a different shape, and nothing tells them they are the same thing. Stuff that into a context window and you don't get a fuller picture. You stack the contradictions.

One company · three systems · no shared key

CRM

Acme Holdings Ltd

id · C-4471

Billing

ACME HLDGS

acct · 88231

Legal-entity DB

Acme Holdings (UK) Limited

lei · 549300XYZ…

One company, three records, and not a single key in common. Integration moves the data between systems; it does nothing to reconcile what the data means. Many tongues and no shared language: the data version of the Tower of Babel. Reports don't tie out, the same customer is counted twice, and every new system added to the pile makes the confusion worse, not better.


04

Then we point an AI at the pile

The new move is to lay a large language model over all of this and call it context. But a fluent model inherits every inconsistency beneath it and invents to fill the gaps. Because nothing was ever made explicit, there is no firm ground for it to stand on and nothing to sense-check it against. Ungrounded context doesn't just limit the AI. It makes the AI confidently wrong.

It can't operate reliably

Plausible, ungrounded

An LLM predicts the next likely word, not the true one. Sat on data that disagrees with itself, a confident invention and a fact read exactly the same.

Ask the same question twice and get two answers, each delivered with the same certainty. There is no stable ground underneath to hold it steady.

It can't be sense-checked

Nothing to check it against

To grade a claim true or false you need a shared, explicit theory of the world to test it against. The data never had one; the meaning stayed implicit.

So there is no common criterion to hold the model to. A fluent AI with nothing to be checked against is confident and unaccountable in equal measure.

Both failures trace back to the same hole as everything above: the meaning was never made explicit or shared. Supply that, and an AI can finally be grounded and graded.


05

Engineer the foundations, and the context holds

Couldn't you just describe all this in plain language, as a pile of definitions and notes, and let the model work out the rest? It doesn't hold. Natural language alone can't carry the meaning. Prose is where the ambiguity lives, not where it gets resolved: the same word still means three things, and no amount of description tells the model that two records are one company. It's expensive, too. Re-narrating the world in every prompt burns the context budget you needed for the task, and a longer, looser description is a less reliable one, not a fuller one. Meaning has to be made explicit and structured, not merely narrated: succinct enough to fit the window, precise enough to act on, and shared so that every system, and the model, reads it the same way.

The bCLEARer engine: five glass modules joined by pipes under hanging letters spelling bCLEARer. Raw documents go in at the left; laptops, tablets and phones light up at the right.
The bCLEARer engine: connect records and schema to what they represent through an explicit, tested model.

Follow every failure back and it ends in the same place: the meaning was never made explicit. The context that can't speak, the knowledge trapped in people, the systems that won't agree, the AI that can't be trusted: all of it is context built on data that doesn't know what it is about. Engineering context meaningfully means giving it stable foundations. Make the meaning explicit and shared, anchor it in an ontology of what actually exists, and pin every thing to a deterministic identity so that two records of one company are known to be one. Carry meaning from the data we hold to the world it refers to, and the context finally holds. That is what this library builds.