Known, Understood, New
Every ask takes one of three routes. The route depends on how much the pack already knows about that kind of question. The route changes how fast the answer comes back and how much work runs to produce it. It never changes whether the answer is grounded. Every route ends in an answer that cites its sources, or a decline that says what is missing.
| Route | When it runs | What the pack does | What it leaves for next time |
|---|---|---|---|
| Known | A stored plan matches the question. | Reuses the plan, fills in this question’s values, and runs it on live data. There is no planning step. This is the fastest route. | Nothing new. The plan is already stored. |
| Understood | No stored plan matches, but the pack’s governed layer covers the question: its semantic models and the knowledge compiled from its documents. | Finds the evidence, builds a plan, checks it, and runs it. | The plan, once it passes its checks. The same question is Known next time. |
| New | The governed layer can’t plan it, but the pack holds more: documents not compiled yet, columns no model covers, connections. | An agent explores the rest of the pack and grounds the answer in what it read. The answer says it came from exploration. If nothing grounds an answer, the ask declines. | What it found, saved as learning candidates, and the gaps it found in the governed layer. When the gaps are filled, the question is Understood. |
Known means the pack knows how to get the answer. It does not repeat an old answer. Every route runs on live data. A Known answer is as current as the data behind it.
Before any route runs
Section titled “Before any route runs”The pack reads the question and the date it applies to. A word can have two meanings, for example a word that the Lexicon has on two terms. In that case the ask stops and asks which one you meant. The Action returns waiting with the question. In the CLI, answer it with edisyl ask-reply and the same ask continues. In chat, you answer the assistant. The assistant calls ask again with your answer added to the question. A separate check runs at the same time to decide whether the pack should decline. Its result applies before the answer is sent.
The routes then run in order. Known runs first on every question. Understood runs only when Known finds no match. New runs only when Understood can’t write a plan.
Inside each route
Section titled “Inside each route”Known matches in layers. Each layer is a little slower than the one before:
- The same words, asked before. Instant, with no model call.
- The question reduced to a standard form, in about a tenth of a second, also with no model call.
- A small model that helps build that form and finds the closest stored question. This is the only layer that costs anything.
The standard form leaves out details like the time period, so “sales in 2024” and “sales in 2026” use the same stored plan.
Understood uses what Known collected. It looks up the relevant data models, joins, measures, segments, and facts. Then it writes a plan in one model call. A trial run checks the plan before it runs. A plan that fails the check gets one chance to be fixed. A question with several parts is split into steps. What the documents say is fetched first and passed to the step that queries the data.
New is the last option. An agent explores for up to 10 turns or 3 minutes. It searches the data catalog, table structures, documents, figures, the Lexicon, and approved queries. It can write its own SQL. It answers with citations and lists what it couldn’t find, or it declines. The first time a question reaches New, what it finds is saved. The next similar question can then be answered from a faster route.
Most questions should arrive Known
Section titled “Most questions should arrive Known”The pack learns its routes before people ask. Calibration asks the pack’s test questions ahead of time. Each correct answer becomes a stored plan. Objectives, the questions your team writes from real work, are tested first. The questions people really ask are therefore the most likely to arrive Known.
A question that keeps arriving New shows a gap to close. Teach the missing knowledge, or task the pack to model the data. See Improving answers.
To see which route answered and why, run edisyl action explain <action-id>, or ask the assistant in chat (explain_answer). To see each route’s accuracy, speed, and cost against its targets, run edisyl pack health <pack>, or ask in chat (pack_health). To read one route’s test cases, run edisyl pack runs <pack> --latest --tier known, understood, or new. In chat, the assistant calls pack_run_cases with that tier.
Next: Sources, for what a pack reads from and how freshness is reported.
Was this page helpful?
Thanks for the feedback.
