Docs/Reference

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.

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 statesSource 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.