test-design · git:20260718.188cd11 · 2026-07-18 · sha256 19238782e69828fa
test-design git:20260718.188cd11A
Immutable. This exact content is served forever at /api/v1/blob/19238782e69828fa.
--- name: test-design description: Design or write deterministic tests before implementation. Use when choosing test levels, behavioral cases, fixtures, substitutes, or stable observable boundaries is non-trivial. --- # Test Design Own the prospective test contract and test code, not the production implementation or retrospective evidence audit. ## Workflow 1. Identify the condition, action, observable result, important side effects, and state preserved on failure. 2. Choose the lowest test level that proves the contract through a stable public or system boundary. 3. Select only cases that materially define the behavior: normal operation, important boundaries, meaningful failures, cleanup, and external effects. 4. Follow the repository's existing test structure, helpers, fixtures, and commands. 5. Write a deterministic test whose failure identifies the broken contract. 6. State what remains unverified when the behavior cannot be tested economically instead of adding a weak proxy assertion. Use `behavior-implement` for red-green production changes, `test-gap-review` for retrospective verification sufficiency, `cli-control` for terminal evidence, and `ui-control` for graphical interface evidence. Do not change production code or introduce broad test infrastructure unless the parent task already authorizes it. Report a testability constraint instead. Finish with the test boundary, cases, test code when requested, command to run, and any residual gap.