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:
json
{
"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. - •The
run.statusCAN'T befailedif tool checks are returning errors i.e.pnpm lintthat would be an issue that needs to get fixed by thebuilderagent.
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.