Review with the other model before you ship
You end with a review report from a model of another family and a clean second run.
- SpecWeave CLI
- 1:33
- Claude Code and Codex
- Narrated, with captions
Recorded on SpecWeave 3.1.0 and codex-cli 0.162.1, 18 October 2026, added 18 October 2026.
Before you start: Node.js 20.12 or later and git; SpecWeave installed with npm i -g specweave and a repo set up with specweave init; the Codex CLI installed and signed in (codex login); an increment whose tasks are done on a branch, so there is a diff against main.
Steps
- Finish the increment's tasks on a branch. The ledger records who finished each one (claude@demo in the recording).
- Run
specweave review --briefto see what the reviewer gets without running it: who wrote the code (counted from the ledger's done events), the acceptance criteria, the Approach, the tasks and the diff of the task files since the merge-base with main. - Run
specweave review. It picks the first installed reviewer from another model family (Codex for code Claude wrote, Claude for code an OpenAI model wrote) and sends it that brief; Codex reviews it withcodex execin a read-only sandbox, using its own sign-in. - Read
reports/review-codex.mdin the increment folder. Every finding names a severity and apath:line. With any critical or high finding the verdict isfix firstandspecweave reviewexits 3. - Fix every critical and high finding (or add a task for it), run the tests, and commit.
- Run
specweave reviewagain. With no critical or high finding left the verdict isshipand the exit code is 0. Each run appends a note to ledger.jsonl with the reviewer and its verdict, andspecweave pickupshows the latest notes. - Each run keeps its own report in
reports/reviews/review-<reviewer>-<n>.md, andreports/review-<reviewer>.mdis always the latest; each ledger note names its own run's file. (In SpecWeave 3.1.0, as recorded, every run overwrotereports/review-<reviewer>.md; this changed in 3.1.1.) - Then run
specweave verifyand close the increment withspecweave complete.
Transcript
Built from the caption file of the narration.
0:00 What you will do
Review with the other model before you ship.
0:04 What a reviewer gets
Claude Code finished this task on a branch. specweave review --brief shows what a reviewer gets: who wrote the code, from the ledger, the acceptance criteria, and the diff since the branch began.
0:17 Codex reviews: fix first, exit 3
Before you ship, run specweave review. Claude wrote the code, so it picks Codex, from another family. Codex gets the brief in a read-only sandbox. This run took about 30 seconds. Its verdict is fix first, so the command exits 3.
0:34 What reports/review-codex.md says
The review is saved in reports/review-codex.md. Each finding cites a file and line, and how to fix it. Here, a blank name gets no fallback, which breaks AC-02.
0:47 Fix the finding
Claude's fix trims the name, and falls back to world when it's empty. It also adds a test for blank names. Run the tests: all three pass.
0:57 Review again: ship, exit 0
Then run specweave review again, on the fixed code. No critical or high finding is left, so the verdict is ship, and the exit code is 0.
1:07 Each verdict in the ledger
Each run adds a note to the ledger, with the reviewer and its verdict. Both notes name the same file, and the second run overwrote it: the fix-first report is gone, so keep a copy if you need it. specweave pickup shows the latest notes to whoever comes next.
1:23 Next: verify and complete
Next, run specweave verify, then close the increment with specweave complete.
Learning path
Step 5 of 5 in Run work across agents.