Recurring checks to run on a cadence (by a higher-reasoning model), not items parked in TODO.md. The point is to surface drift — places where the system has quietly fallen out of line with its axioms or its own accuracy — and open tickets for what's found, rather than narrating it inline forever.
How to use: walk the sections, note findings, file/triage tickets. Most checks have a tool that does the heavy lifting.
Axiom adherence
Against the three anti-failure axioms (defined in README.md; summarized in architecture.md):
- Clarity — does each part still have a stated purpose that matches what it actually does? Unstated or stale purposes are drift; name/restate or subdivide them. (The accuracy checks below feed this.)
- Interchangeability — run
agent-tool interop-points; review the leaky list (covered ops called raw → route them) and uncovered list (no native interface → warranted?). Confirm the Model/Provider/AgentRunner seam still substitutes cleanly and no unnecessary entanglement has crept in. - Accountability — does every contribution carry a claim + evidence (report / verify / specs), and is each judged against its stated purpose? Does reported status reflect the real execution path, not a proxy — provider status must probe the path, not just key presence (ticket
b12463b8); spot-check that a deliberately-broken provider shows red. Watch for any newAGENT_*-style constant re-conflating product and mechanism.
Accuracy & hygiene
- Docs vs reality —
docs/architecture.md,TODO.md, and section acceptance criteria still match the built system (one binary + interfaces;ext/docspresent; symlink deploy). Fix stale statements at the source. - Completed work — anything in
TODO.mdthat is actually done moves toPROGRESS.mdand out of TODO. - Secret handling — review references to secrets: specs/UI should reference secret uses, not bake specific secret names/values; confirm no secret reaches HTML, JSON, the binary, or logs.
- Ticket health — are open tickets grouped and ordered into prioritized milestones (the gap that keeps TODO alive)? Re-tag/re-order; close stale ones.
Pipeline & UX
- Gate depth — run the full
crystal specandcrystal tool formatbefore claiming green/merging. The worker'sverify_crystal_changeand Accept-and-merge'sverify_livedo not run integration/cross-file checks, so regressions can slip to trunk. - Accept / revert UX — can an operator review a task's change, accept it, and revert cleanly to avoid regressions? Is the Agent Console navigation actually pleasant to use? Note UX rough edges as tickets.