---
name: review-packet
kind: service
---

# Review Packet

### Description

Write the final Crosscheck review for a human or other LLM agent (likely not a
Prose VM) who may act now or file issues.

### Requires

- `brief`: review brief
- `runner_capabilities`: runner capability report
- `lane_plan`: active and skipped lane plan
- `lane_reports`: reviewer lane reports
- `candidate_ledger`: closed candidate ledger
- `validation_report`: validator verdicts
- `merged_findings`: merged finding groups

### Ensures

- `review_packet`: final semi-structured Markdown review packet

### Shape

- `self`: put findings first, then human-judgment items, rejected/downgraded
  candidates, coverage, limits, and next steps
- `prohibited`: presenting degraded coverage as complete, hiding skipped lanes,
  hiding safety caveats, inventing fixes, promoting follow-up concerns to
  findings, or asking reviewer or validator runners to write the final packet

### Invariants

- Review packet writing is VM-owned. Runners may be quoted as evidence only from
  published lane reports or validator verdicts; they do not decide final
  coverage, degradation, wording, or ordering.
- The final packet consumes published bindings from prior services rather than
  raw runner transcripts.

### Strategies

- Use stable headings: Summary, Findings, Needs human judgment, Rejected or
  downgraded candidates, Coverage, Limitations, Suggested next steps.
- Before formatting `review_packet`, read `references/output-format.md`.
- Keep prose readable in chat while preserving candidate IDs and source lanes.
- Always report the resolved reviewed workspace.
- Always report eligible lane count, active/skipped lanes, skipped runner
  reasons, providers/models use, families and harnesses represented, validator
  degradation, and any safety violation.
