# Read-Only Subagent Review Protocol Use this protocol when Lead/Orchestrator wants parallel review help for a domain pack, semantic replay, or repair handoff. ## Rule Subagents are tools, not owners. Lead/Orchestrator owns: - final verdict; - issue_code selection; - repair decision; - merge of findings; - code changes; - autorun save; - acceptance. Subagents must not: - edit code; - write artifacts except their own returned summary if the caller stores it; - save autoruns; - mutate `docs/orchestration/active_domain_contract.json`; - mutate contracts, prompt registry, or capability mapping; - mark a run accepted. ## Roles `business_answer_reviewer` - Reads user-facing `output.md` style artifacts first. - Judges direct-answer-first behavior, business usefulness, and technical garbage. `route_capability_reviewer` - Reads `turn.json`, debug payloads, capability traces, and route candidate traces. - Judges route family, exact capability, missing axes, and wrong-domain leakage. `evidence_field_truth_reviewer` - Reads evidence payloads, step state, scenario state, and output only for claim comparison. - Judges field truth, dates, amounts, selected object continuity, and carryover. `regression_pack_reviewer` - Reads issue catalog, rerun matrix, repair targets, pack state, and accepted-pack context. - Suggests reruns and smoke coverage for a proposed fix. ## Expected Summary Shape Each subagent returns JSON only: ```json { "reviewer": "business_answer_reviewer", "status": "accepted|partial|blocked|needs_exact_capability", "issue_codes": [], "root_layers": [], "evidence_paths": [], "findings": [], "minimal_patch_direction": null, "required_reruns": [] } ``` Lead/Orchestrator converts useful findings into: - `business_audit.json`; - `issue_catalog_snapshot.json`; - `detector_candidates.json`; - `rerun_matrix.json`; - `lead_coder_handoff.json`.