with one click
test-discipline
Update tests when changing APIs — no exceptions
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Update tests when changing APIs — no exceptions
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Resolve knowledge gaps: fetch unresolved gaps, assess sensitivity, generate research queries, ingest findings, and close gaps with a resolution slug.
Interrupt-driven alerts: detect and surface new contradictions, stale pages, resolved gaps, and embedding drift. Priority-classified with deduplication.
Ingest meeting notes, articles, documents, and conversations into Quaid. Handles idempotent ingestion for exact-byte duplicates and vault-backed sync.
Keep the brain healthy: detect and resolve contradictions via the correction / supersede workflow, validate referential integrity, triage knowledge gaps, find orphaned pages, and compact the database.
Answer questions from the brain using FTS5 + semantic search + structured queries. Synthesize across multiple pages. Cite sources.
Agent-guided binary upgrades: version check, channel detection, download via install.sh (or manual asset fetch + SHA-256 verify), and post-upgrade validation.
| name | test-discipline |
| description | Update tests when changing APIs — no exceptions |
| domain | quality |
| confidence | high |
| source | earned (Fenster/Hockney incident, test assertion sync violations) |
When APIs or public interfaces change, tests must be updated in the same commit. When test assertions reference file counts or expected arrays, they must be kept in sync with disk reality. Stale tests block CI for other contributors.
EXPECTED_FEATURES, EXPECTED_SCENARIOS), they must match the actual files on disk✓ Correct:
distributed-mesh.md to features/ → added 'distributed-mesh' to EXPECTED_FEATURES arrayraw_imports stay unchanged✗ Incorrect:
built-in-roles.md → left EXPECTED_FEATURES at old count (PR blocked)collection.rs as text to prove a lease happens before a rewrite loop