tdd · git:20260828.06ce8c3 · 2026-08-28 · sha256 125633387f100bcc
tdd git:20260828.06ce8c3A
Immutable. This exact content is served forever at /api/v1/blob/125633387f100bcc.
--- name: tdd description: Use when implementing features or bug fixes test-first. --- # Test-Driven Development Red then green. Consult this before and during the loop, not after. Read `CONTEXT.md` if it exists so test names match the domain glossary. Respect ADRs. ## Good test Tests verify behavior through public interfaces, not internals. A good test reads like a spec and survives refactors. ## Seams A seam is the public boundary you test at. Test only at pre-agreed seams. Write the seams down before the first test. Confirm with the human if they are in the session. No test at an unconfirmed seam. ## Anti-patterns - Implementation-coupled: mocks internals, private methods, or side channels. - Tautological: expected value recomputed the way the code does. - Horizontal slicing: all tests then all implementation. Use one test, one implementation, repeat. ## Loop - Red before green. - One seam, one test, one minimal implementation per cycle. - Refactoring is not part of this loop. It belongs to `/code-review`.