Change: Blake now accepts mode="deep_read" and executes one
functions-orchestrated Map, Evidence, Analyse, or Judge pass on AgentCore.
pramaan-spec#2559.| Seat | Behavior | Configuration |
|---|---|---|
| Three proposers | Each independently runs Map → Evidence → Analyse over its own stable Model-view prefix. | Three runtime environment handles in model-catalog.yaml; the fastest seat reuses REGISTRAR_GLANCE_MODEL, while the configured paid-write seat carries an explicit 5-minute breakpoint. |
| Judge | Rules every candidate accept/reject/modify with reason, may add missed grounded rows, then writes summary last. | Independent runtime environment handle; fail-closed and distinct from every proposer. |
| Challengers | Evaluation only. | Two separate catalog handles excluded from the production seats. |
{
"row_type": "attention",
"section_id": "section-1",
"grade": "critical",
"reason": "Express admission affects liability.",
"confidence": 0.95,
"order": 1,
"estimated_seconds": 75,
"suppressed": false
}
{
"agent_key": "deep_read.proposer.grok",
"model_id": "<runtime-catalog value>",
"cached_prefix_id": "document-read-<opaque sha256>",
"provider_session_id": "document-read-<opaque sha256>"
}
I-12 is a code gate: confidence below 0.6 emits
suppressed=true and grade=null. A low-confidence model can never
publish a false skip. Analyse requires exactly one attention row per mapped
section for each proposer.
Document bytes and prior candidates are fenced as DATA before each pass suffix. The document delimiter includes a content-derived nonce, so planted closing markers cannot escape the data channel. Prompt text says the document cannot alter the confidence floor. Code rejects invented pages, anchors, offsets, and quotes before an assertion or finding reaches the event stream.
Both continuity identifiers are deterministically keyed by
(document_id, extraction_version, model). Glance and its fastest Deep Read
proposer therefore send the same opaque x-session-id while model ids remain
entirely config-resolved.
run.started model.usage # one per provider generation document.deep_read.candidates | document.deep_read.rulings run.completed
The two effects extend the shared agent_event_stream.v1 type set; no new
envelope or transport exists.
uv run ruff check agents/registrar agent_contracts tests uv run --package registrar pytest agents/registrar/tests/test_registrar_deep_read.py -q cd agents/registrar && uv run python -m evals.deep_read_panel_evals uv run pytest tests/test_agent_event_stream_contract.py tests/test_contract_schema_custody.py -q
Focused contract tests, shared-event custody, and deterministic panel evals are green.
Live sample: production model calls require deployed runtime catalog handles and OpenRouter credentials. This walkthrough does not represent a local offline run as live model evidence.