Handoff 2026-09-10 §20.D–E, canaries 2–4:
- evidence_probe.py: bounded uncertainty-resolution operation OUTSIDE the
canonical stage chain. Fixed 5-key schema (QUESTION/SOURCE/ANSWER/
IMPLICATION/STATUS); GROUNDED requires a cited source; STILL_UNKNOWN/
CONTRADICTED are honest findings, not schema violations. Executor-owned
artifact path (ADAPT-9); no stdout rescue. Probe budget caps recursion
(MAX_PROBES_PER_TASK=2) — unresolved unknowns escalate, never loop.
- Dispatch wiring: material unknowns on non-floored tasks are resolved by
bounded probes BEFORE the route becomes final. GROUNDED probes fold into
sufficiency inputs with citation provenance; failures record an
ESCALATION route event (previous_route/trigger/evidence) and enter the
canonical chain as RESEARCHED_CHANGE.
- Real probing is OPT-IN (MIMO_PROBE_ENABLED=1 or injected runner):
dispatch stays deterministic by default — a worker call from the
dispatch path is minutes of cognition, never an implicit side effect.
- escalate_on_verification_failure(): production hook for the local lane;
refuses bare 'test failed' evidence (must name the material uncertainty).
- ROUTED_LOCAL_FIX contract message names the exact escalation call.
- Canaries: grounded probe returns to local lane without deep research;
unresolved probe escalates with recorded transition; no probe recursion;
verification-driven escalation persisted; bare evidence refused.
- Suite: 1185 passed (3 pre-existing env failures excluded)
Refs #291