End-to-end example: Codex writes the development specs, Claude Sonnet implements the feature, Codex reviews it, and Claude ingests the findings.
You are on feat/magic-link-auth.
- builder: Claude Code
- spec default:
codex-5.5:xhigh@normal - heavy spec default:
opus-4.7:1m@max - implementation default:
sonnet-4.6@high - review default:
codex-5.5:high@normal - subagent routing:
auto, policybalanced - reviewer surface: Codex CLI
- base ref:
main - package profile:
compact - spec dir:
specs/042-magic-link-auth
| Step | Where | Action | Artifact |
|---|---|---|---|
| 1 | Claude | /multi-model-review:cross-review init |
.cross-review/config.json |
| 2 | Claude | /multi-model-review:spec-handoff |
spec-authoring-prompt.md, metadata.json |
| 3 | terminal | run Codex 5.5 on the spec handoff | spec-output.md |
| 4 | Claude Sonnet 4.6 + plugin subagents | implement routed task slices and commit | source changes |
| 5 | Claude | /multi-model-review:review-package |
review-package.md, metadata.json |
| 6 | terminal | codex exec -m codex-5.5 --file ... > review-report.md |
review-report.md |
| 7 | Claude | /multi-model-review:apply-review |
fixes + review-state.json |
| 8 | Claude or shell | commit fixes | updated branch |
/multi-model-review:cross-review init \
--spec codex-5.5:xhigh@normal \
--spec-heavy opus-4.7:1m@max \
--dev sonnet-4.6@high \
--review codex-5.5:high@normal \
--subagents auto
Answers:
- builder:
claude-code - spec default:
codex-5.5:xhigh@normal - heavy spec default:
opus-4.7:1m@max - implementation default:
sonnet-4.6@high - review default:
codex-5.5:high@normal - subagent routing:
auto - reviewer:
codex-cli - base ref:
main - package profile:
compact - spec dir:
specs/042-magic-link-auth
/multi-model-review:spec-handoff 042-magic-link-auth --spec-model codex-5.5:xhigh@normal
Example output:
Spec handoff written to:
.cross-review/spec-handoffs/20260421-1410-magic-link-auth/spec-authoring-prompt.md
Spec author model:
codex-5.5
Spec author options:
intelligence=very-high, reasoning=xhigh, speed=normal
Implementation model:
claude-sonnet-4.6
Implementation options:
workload=high, allow_silent_upgrade=false
Run Codex 5.5 against the prompt and review the returned spec.md, plan.md, and tasks.md file blocks before applying them.
If subagent routing is enabled, tasks.md may include route hints:
- [ ] T001 [route:scout] Map current auth routes, token storage, and rate-limit middleware.
- [ ] T002 [route:heavy-planner] Design the magic-link verification path and replay-prevention boundary.
- [ ] T003 [route:worker] Implement token issuance, verification, and focused tests.
- [ ] T004 [route:review-checker] Run a local read-only preflight against the spec and touched files.Claude Code can then pick the matching plugin subagent. Scout runs on the fast model, planning uses the heavy model, implementation uses the configured dev model, and local preflight stays separate from the external Codex review.
/multi-model-review:review-package --review-model codex-5.5:high@normal
The package is compact-first, so the reviewer sees:
- a spec brief
- a plan brief
- a task brief
- relevant rules
- a grouped diff manifest
- focused diff excerpts
- notes about omissions
Example output:
Package written to:
.cross-review/packages/20260421-1430-magic-link-auth/review-package.md
Profile:
compact
Run the reviewer:
codex exec -m codex-5.5 --file .cross-review/packages/20260421-1430-magic-link-auth/review-package.md > .cross-review/packages/20260421-1430-magic-link-auth/review-report.md
Codex writes:
## Context sufficiency
limited-but-actionable
## Verdict
changes-requested
## Summary
The magic-link flow is mostly implemented, but the verification path appears to use direct token comparison and the route-level rate limit required by the spec is missing.
## Findings
### F1
- severity: critical
- confidence: 92
- location: src/auth/verify.ts:34
- summary: Token comparison is not constant-time
- detail: The verification path compares secrets using direct equality, which leaks timing information.
- suggested_fix: Use a constant-time comparison helper.
### F2
- severity: major
- confidence: 85
- location: src/auth/routes.ts:12
- summary: Magic-link endpoint has no rate limit
- detail: The spec requires request throttling for the magic-link route.
- suggested_fix: Add route-level rate limiting middleware.Because the context was limited-but-actionable, Claude can proceed without re-packaging.
/multi-model-review:apply-review
Claude presents a checklist, reads the cited files, proposes targeted edits, and applies them one at a time after confirmation. With subagent routing enabled, path-local fixes can go to mmr-implementation-worker, while a small local preflight can go to mmr-review-checker before the external re-review.
If Codex had written:
## Context sufficiency
needs-full-packageThen the next step would be:
/multi-model-review:review-package --full
Or, if only one area needed more depth:
/multi-model-review:review-package --paths src/auth
That is the core compact-first loop:
- small package first
- explicit sufficiency signal
- fuller package only when needed