v0.36.0
Closes the gap a DDD × TDD review of the toolkit found: the tests it generated were exhaustive
but nothing made them drive the code, nothing measured whether they would fail if the code were
wrong, and nothing pinned a legacy module before a transformation step touched it.
Added
rules/tdd-workflow.md. Merge-bound code is written test-first as a Red → Green → Refactor
commit series per unit (test:naming the tests that failed,feat:,refactor:editing no
test), verifiable from the branch log; the ATDD outer loop (Gherkin scenario, else contract test,
else invariant example) and the walking skeleton; the structure that makes test-first possible —
one in-memory Fake per repository port, injectedClock/ id generator, transactions opened by
the application service; the exemptions; and what the gate records.implement-backlogSteps
4/5/7 and its acceptance criteria follow it,design-implementationspecifies the testability
constraints,generate-scalardb-codeemits the Fakes under**/fakes/, and
generate-contract-testsadds the ArchUnit rules (nonow()/randomUUID()in the domain).- Test quality in the quality gate. Stage 2 of
rules/ai-code-quality-gate.mdnow measures
line/branch coverage of the changed files (JaCoCo, 90/80 ondomain/+application/, 70
elsewhere), the mutation score of the touched domain packages (PIT, 80 % — and one surviving
mutant on an invariant-enforcing or guard line fails the stage by name), and the test-first
record per unit (reported, never thresholded). The gate JSON carriescoverage,mutationand
test_first;options.quality_gateoverrides the thresholds per project;
verify-implementation, the CI workflowgenerate-infra-codeemits and the build files
generate-scalardb-codewrites are wired to the new tasks. /architect:generate-characterization-tests. Golden-master tests recorded from the
running legacy system — a seam inventory per module, fixtures whose every value the code
produced (a second run finds and masks non-determinism),@KnownDefect(DEBT-xx)markers that
pin a bug without blessing it, andreports/07_test-specs/characterization-test-coverage.mdby
entry point.design-microservicesnow requires every transformation-plan step to name its
characterization gate. Registered as the twentieth extension-tier skill (107 commands).docs/ddd-coverage.md§ Test-driven development. The TDD practices with their status, and
the gaps that remain visible as rows: suite runtime budget, flaky-test policy, test naming from
the ubiquitous language.