Purpose
Execute Inspector sign-off deterministically so Foreman can continue.
This procedure is MANDATORY and must be executed as the final step of every Inspector run — even when blocked or when earlier steps fail.
Required behavior
- Always produce a Run Summary message with the required sections.
- Always write
inspector_result.jsonto the worktree root. - Always run
validate_inspector_resultand fix any issues it reports. - If you are blocked or cannot complete review steps, still complete this procedure with your best available information.
Run Summary (MANDATORY format)
Your final chat output MUST include these sections:
Summary- 1–3 short bullets summarizing verdict and key findings.
Checks run + results- Commands you ran (e.g.
pnpm lint,pnpm check,pnpm test:unit,pnpm prepack) and pass/fail, or why skipped.
- Commands you ran (e.g.
Key issues- Important problems/risks (blockers/major issues).
Public API & A11y- Whether public API changes and accessibility are acceptable; call out concerns.
Next steps for Builder- High-level follow-up work expected from Builder (aligned with
next_tasksin the JSON).
- High-level follow-up work expected from Builder (aligned with
Checklist (TODO snapshot)- Print the current
todowriteTODO list (all items + final statuses).
- Print the current
Foreman Handoff: inspector_result.json (MANDATORY)
You MUST write a JSON file named inspector_result.json in the repository/worktree root.
The file MUST contain EXACTLY one JSON object matching this schema:
{
"run": {
"status": "ok" | "failed",
"failed_step": "..." | null,
"error": "..." | null
},
"work": {
"status": "approved" | "changes_requested",
"issues": [
{
"severity": "blocker" | "major" | "minor",
"description": "...",
"paths": ["..."]
}
],
"next_tasks": ["..."]
} | null
}
Rules:
- If
run.statusisok,workMUST be an object. - If
run.statusisfailed,workMUST benull.
After writing inspector_result.json, you MUST run validate_inspector_result and fix any reported issues until it passes.
If validate_inspector_result cannot be executed (tool missing/unavailable), treat it as a hard failure:
- set
run.status = "failed" - set
run.failed_step = "validate_inspector_result" - set
run.errorto the exact error output - set
work = nullThen still writeinspector_result.jsonand include the failure in the Run Summary.