The same thread, the same message frame — but not every answer is grounded. The model answers in its own words, and our layer stitches a short badge under its answer: whether the knowledge base was searched and how it ended — empty, no access, or partly hidden. The badge carries safe coordinates: the source system and who to ask for access (the record's author, as an email). No red — the user got an answer; and for a conversational request Achilles replies like an ordinary assistant, with no badge at all. Four states — each with its own address.
The shell is the same everywhere — the thread and the message frame from assistant-ui (chat shell); what changes is our layer — the content of the assistant's message.
No context for an answer was found — the model says so honestly instead of guessing from general knowledge, and the badge confirms it: the base was searched, nothing relevant. No coordinates — there's nothing to name.
Something relevant exists, but it's hidden by access rights entirely — not a line of content. The badge carries safe coordinates: the source system and who to ask for access — the record's author, as an email.
→ Query EngineThe answer is assembled from what's available, and beneath it the same badge about the hidden part: the fact, the source system and the author contact — without a title or content. An automatic "Request access" button — v2.
→ Query EngineThe model didn't touch the base — an ordinary assistant, no sources or citations. The grounding contract doesn't apply to it.
→ Query Engine