Most enterprise AI search failures start before search: the systems disagree about what belongs to the same customer.
On Monday morning, sales says a deal is in contract review while delivery says go-live is calendar week 41.
Six sources. One customer. Five current states.
Engineering says the ticket is moving but the sandbox is paused. Operations asks who approved the bulk import. Management wants one sentence.
The engineering question sits underneath every summary: which records belong together, which change is current, and who is allowed to receive it?
Six sources can still leave you with no current state
The company already had digests. Chat could summarize messages. The wiki could summarize pages and tickets. Each product did a reasonable job inside its own boundary.
The gap appeared between those boundaries.
A page, a thread, a ticket, a deal, a mailbox item and a meeting could all describe the same customer in different words. No source knew that they belonged together. None could say which record had overruled another. A polished summary still left someone opening six tabs to reconstruct the truth.
I built the context layer around a customer registry. Every record folds under that model and keeps its system, author, timestamp and quoted source passage. A fact enters the graph as a relation someone can inspect: customer, go-live, calendar week 41, confirmed by a named person.
The graph matters because it resolves the mapping problem no individual source can see.
The graph earns its keep when information moves
Retrieval was useful. Automatic sharing changed the daily workflow.
A decision made in a meeting normally dies in the meeting notes. Someone has to copy it into chat, update a page, mention it in a ticket or remember to tell the person who was absent.
Here, a person enables sharing once. A confirmed decision then reaches the exact team it concerns within minutes. The fact arrives under the right customer with the original passage, the source record and the person who confirmed it. Nobody has to send anything per meeting.
The test is deliberately plain: someone who missed the meeting learns what was decided without asking anyone who attended.
That is where the knowledge graph pays back. Not as a prettier search index. As the map that lets information travel without losing who said it, where it came from or who should see it.
A useful map can still become a permission leak
The context layer owns no universal service account. Every read runs as the signed-in person. Group membership is checked when the question is asked, not copied into the graph as a permanent grant.
If the person cannot open a result, the result disappears without even exposing a count. A count can leak that a record exists.
Every visible item cites the passage that put it on the radar. A failed source is named too, so an empty result never pretends that six systems were checked when one timed out.
The graph receives only facts a person confirmed or chose to share through standing consent. Material the layer merely reads does not silently become shared memory. HR records, employment data and commercial terms stay outside the route. Meeting transcripts are read live and are not stored.
The write path needs a separate owner
Answers are one direction. Actions are another.
A proposed ticket comment, page append, chat reply or work item waits in an action inbox. A person approves, edits or declines it. The assistant-facing interface can propose. It cannot approve its own proposal.
The same signal never opens a second review. A decline remains an audited decision. Rollback creates a compensating action instead of deleting history. The receipt stays with the proposal.
The operating numbers stay simple: six sources folded onto one radar, zero writes without a human verdict, zero duplicate reviews for one signal and one verdict per fact.
Those controls are the price of making automatic sharing credible inside a company.
Where does your own context layer fail first: mapping records to the same entity, deciding what is current, or routing a confirmed fact to the right people?
I write field notes from real builds: AI integration, automation, and the parts that break in production. New posts every two weeks. Use the RAG requirements template to audit the source, access and action boundaries in your own context layer.


Top comments (0)