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
Run work across agents
Plan an increment, prove each task, hand off between tools and get a review from another model.
Plan, prove and hand off a task with the CLI
1:00, SpecWeave CLI
Install SpecWeave and plan your first increment
1:36, SpecWeave CLI
Claim, prove, verify and complete a task
1:30, SpecWeave CLI
Hand off from Claude Code to Codex at a usage limit
1:18, SpecWeave CLI
Review with the other model before you ship (this guide)
1:33, SpecWeave CLI