← ClaudeAtlas

spec-report-formatlisted

Report structure, sidecar schema, SR-id rules, outcome enum, and terminal statuses for the /superutils:spec-review loop. Load when reading or writing spec-review loop state or reports. (Distinct from qa:report-format, which is the QA test-report format.)
AppVerk/av-marketplace · ★ 3 · Code & Development · score 76
Install: claude install-skill AppVerk/av-marketplace
# Spec-Review Report & Sidecar Format ## Reviewer finding shape (agent output, one JSON object) ```json { "findings": [ { "severity": "critical|major|minor|nit", "location": "<verbatim ## heading text, or empty when locationless>", "description": "<the defect, citing the text>", "proposed_fix": "<concrete edit instruction or replacement text>", "needs_decision": false } ], "rejected": ["<one line per self-falsified candidate>"] } ``` Reviewers never emit SR ids or fingerprints — identity is orchestrator-owned. ## Challenger verdict shape ```json {"sr_id": "SR-007", "verdict": "uphold|refute", "justification": "<one paragraph>"} ``` ## Fixer output shape (no writes — edit pairs only) ```json {"edits": [{"sr_id": "SR-007", "old": "<exact current text>", "new": "<replacement>"}], "obsolete": [{"sr_id": "SR-009", "evidence": "<current text proving the defect is already gone>"}], "notes": "<per-SR reasons when no unique pair could be produced — orchestrator marks those fix-failed>"} ``` `obsolete` is the **only** channel for "this defect no longer exists"; it is not `notes`. "I could not produce a unique pair" belongs in `notes` and yields `fix-failed`. Conflating them retires real, unfixed defects. ## SR ids and registry identity - SR ids are assigned once per issue, in discovery order (panel order as logged, then each reviewer's own output order), reused on reappearance; a later run continues at max+1. - Location anchor