Reference
Answers looked up where the facts are
block-unsearched-answer is a Stop gate that refuses a final answer telling the operator a fact about a
product, a service, a host or the fleet which the turn never looked up in the source that holds it.
#Why it exists
Asked where a service runs and why it was not moved, an agent can answer from local files alone, offer a guess as an
inference and "no recorded reason" as a finding, while the operator's order to move it, the defect carrying that order
and the blockers that stalled it sit one register query away. block-unsearched-blocker-claim refuses only
an answer that calls a value unknown, so an answer that sounds certain goes through it. Live state is asked of the
owning product and history is in Oko; an answer that asked neither is a guess, however it is worded.
#Which source holds which fact
| Fact the answer states | Source the turn must have asked |
|---|---|
| Live state: where something runs or is placed now, whether it is up, what it holds, how it is configured now | The product that owns it: stado, skarbiec, brama or its API. Local files,
memory or a guess do not count. |
| History: why something happened or did not, what was ordered, decided, attempted, delivered or blocked | Oko's registers (oko defects, oko blockers, oko tasks,
oko index) or a search over the stored session transcripts. |
Saying such a fact is unknown, unrecorded or was not found states it too, and so does offering it as an inference.
#How it decides
No word list decides. Every ending answer carries the gate's turn-end attestation word for word
(tama attestation standard --turn prints it):
Every fact this answer tells about a product, service, host or the fleet comes from what this turn asked of the source that holds it: where something runs and what it holds now from the owning product (stado, skarbiec, brama), why something happened or did not from Oko's registers or the stored transcripts; I state none, and call none unknown, from local files, memory or a guess.
An answer without it is refused with block-unsearched-answer: BLOCKED: the answer this turn ends with does not
carry its turn-end attestation: missing: "…", followed by what to ask. Where a model is declared
(tama model), the model also reads the answer against the operator's messages and what the turn's
tools returned (the turn is everything after the operator's last message) and refuses a fact whose source the turn
never asked: block-unsearched-answer: BLOCKED: LIVE STATE … or … HISTORY …, naming the source.
On a machine with no model declared the attestation alone decides, and so it does when the declared model, or Brama,
cannot be reached: every product works without the others, so the ending is not refused for a reviewer that gave no
verdict, and stderr says block-unsearched-answer: the answer's attestation decided alone, because the reviewer
gave no verdict: <cause>. Source:
rust/crates/tama-hook-tools/src/programs/block/answer/sources/block_unsearched_answer.rs; the claim lives in
rust/crates/tama-hook-tools/src/ports/task_attestation/standards/turn.json.
#How to satisfy it
Ask the source in the same turn, then answer from what it returned: stado credentials vault show,
stado service status, skarbiec status for live state; oko defects show,
oko blockers roots, oko tasks, a search over ~/.omp/agent/sessions for history.
"Nothing is recorded" stands only after they were asked. The way out is always in the session's reach, so unlike gates
that stand down once a stop hook already fired, this one judges every ending.
#What passes
An answer whose every such fact rests on the turn's own output from the owning source; an acknowledgement, a question, or a report of the agent's own edits and test runs once it carries the attestation; a tool call; an empty ending.