Skip to content

checkpoint

Periodic multi-reviewer sweep of the whole codebase — surfaces a triaged checkpoint report.

A periodic sweep of the entire codebase with the same reviewer fleet /ca:review uses per-diff, scoped instead to everything against the .codearbiter/ docs. Every reviewer’s output passes through finding-triage then checkpoint-aggregator, which writes a dated report to .codearbiter/checkpoints/YYYY-MM-DD.md with findings grouped by severity and file:line. It also re-zeros the over:N overrides-since-checkpoint counter the statusline shows, by writing the current overrides.log line count to .codearbiter/last-checkpoint. This is a report, not a promotion gate — it surfaces findings and enforces no sign-off.

On Codex, the reviewer fleet runs inline in the current thread rather than through isolated Task-tool dispatch — see Claude Code + Codex → Intentional host differences.

/ca:checkpoint

Takes no arguments — it sweeps the whole codebase every time.

> /ca:checkpoint
Dispatching reviewer fleet (6 reviewers, read-only)...
Triaging findings...
Checkpoint document written to .codearbiter/checkpoints/2026-07-02.md.
| Reviewer | CRITICAL | HIGH | MEDIUM | LOW |
|---|---|---|---|---|
| security-reviewer | 0 | 1 | 2 | 0 |
| coverage-auditor | 0 | 0 | 3 | 1 |
| architecture-drift-reviewer | 0 | 0 | 1 | 0 |
| **Total** | **0** | **1** | **6** | **1** |
1 DEFERRABLE finding surfaced for follow-up harvest.
last-checkpoint updated: 4 (override count reset)

The routine, cheap, whole-codebase sweep — not the current diff (/ca:review), not the rare expensive deep audit (/ca:tribunal), and not ADR health alone (/ca:adr-status).

GateWhenEffect
reviewer fleet, funneledevery invocationsecurity-reviewer, auth-crypto-reviewer, dependency-reviewer, migration-reviewer, coverage-auditor, and architecture-drift-reviewer run read-only over the whole codebase, then funnel through finding-triage and checkpoint-aggregator — the orchestrator never consumes raw reviewer output directly
Source — plugins/ca/commands/checkpoint.md (v2.9.1)
---
description: Periodic multi-reviewer sweep of the whole codebase — surfaces a triaged checkpoint report.
argument-hint: (none)
---
# /ca:checkpoint — codebase sweep
Periodic sweep of the entire codebase with the reviewer fleet, funneled to a single dated report. Surfaces findings — not a promotion gate, enforces no sign-off.
## Flow
1. Build the unit list — the same fleet as `/ca:review`, scoped to the whole codebase against the
`${CLAUDE_PROJECT_DIR}/.codearbiter/` docs:
| Reviewer | Reads |
|---|---|
| `security-reviewer` | `security-controls.md`; reviews security posture |
| `auth-crypto-reviewer` | `security-controls.md`; authn/crypto/key/secret paths |
| `dependency-reviewer` | dependency manifests; license + supply-chain posture |
| `migration-reviewer` | migration history; safety + classification |
| `coverage-auditor` | test coverage vs. obligations across the tree |
| `architecture-drift-reviewer` | `decisions/`; drift between code and accepted ADRs |
2. Route to `dispatching-parallel-agents` with that unit list (read-only batch). It dedupes, then
funnels through `finding-triage``checkpoint-aggregator`.
3. `checkpoint-aggregator` writes the dated report to
`${CLAUDE_PROJECT_DIR}/.codearbiter/checkpoints/YYYY-MM-DD.md`: findings by severity with
file:line, and out-of-scope items marked inline `[NEEDS-TRIAGE]`.
4. Write the current override **count** to `${CLAUDE_PROJECT_DIR}/.codearbiter/last-checkpoint` — the
integer baseline the statusline subtracts for its overrides-since-checkpoint counter. The value is
the number of non-comment, non-blank lines in `overrides.log` at this moment (`0` if the log is
absent). This re-zeros the `over:N` segment until the next `/ca:override`. Write a bare integer,
not a timestamp — the statusline treats any value above the current total as stale and falls back
to showing every override.
5. Report the checkpoint path.
## Hard gate
Read-only except writing the checkpoint doc and `last-checkpoint` — MUST NOT modify code. MUST NOT
consume raw reviewer output — only the `finding-triage``checkpoint-aggregator` verdict. MUST NOT
resolve a `[CONFIRM-NN]` surfaced during the sweep by guessing. The report surfaces findings; it does
not block or sign off anything.
## When NOT to use
- Reviewing just the current diff → `/ca:review`.
- A pre-implementation threat model → `/ca:threat-model`.
- ADR health only → `/ca:adr-status`.
- A whole-codebase deep audit → `/ca:tribunal` (checkpoint is the lean periodic sweep; tribunal its rare deep counterpart).

View in repo