Dispatch the Court on evidence-only inputs (contract + diff + verify output + confidence). The Court is not a persona; it is a structured adjudicator.
This skill dispatches the Court to adjudicate a task's verification result. The Court is not a persona; it is parameterized by the contract's check types. Inputs are the contract, the captured diff, the four-level Verify output, and a confidence score. Plan, commit messages, ledger, and prior verdicts are structurally withheld.
Invoked by the orchestrator after verifying returns allGreen on a task, or after any criterion reports suspicious. Not invoked by user prompts directly. Called exactly once per task per loop iteration.
Numbered steps the orchestrator follows:
cli/lib/contract.js and confirm it was the contract used for the task.<worktreePath>/anvil/diff.patch.<worktreePath>/anvil/verify/verify-result.json.composeBriefing. The module structurally refuses the commit message, the plan, the ledger, and any prior Court verdict. These are inputs the Court must not see.validateVerdict. Reject any out-of-schema action or per-criterion status with E_INVALID_VERDICT.briefingHash. The orchestrator persists the verdict record via <worktreePath>/anvil/verify/verify-result.json alongside the Verify result; the Court verdict is NEVER carried back into the next task's briefing.Reject the following shortcuts:
If any of these conditions obtain, the Court dispatch is rejected:
commit_message, plan, ledger, or prior_verdicts into composeBriefing (failure-taxonomy row 2).E_INVALID_VERDICT).Each Court dispatch checks:
composeBriefing rejects every key in FORBIDDEN_COURT_INPUT_KEYS with E_COURT_INPUT_VIOLATION.validateVerdict rejects every out-of-schema verdict with E_INVALID_VERDICT.judge return value includes briefingHash matching sha256 of the briefing.MUTABLE_STATE is frozen and empty both before and after the call.