Tom Boucher
|
ed1c20061b
|
docs(#456): add testing standards, ADRs 452/456/457, and CONTEXT.md entries (#458)
- docs/adr/452-eslint-lint-harness.md (Accepted): adopt ESLint flat config
with typescript-eslint, eslint-plugin-n, eslint-plugin-no-only-tests, and
local AST-rule plugin; retire homegrown scripts/lint-*.cjs regex checkers;
three test-rigor rules ship at warn, promoted to error after #453 cleanup
- docs/adr/456-test-rigor-architecture.md (Accepted): deterministic-over-racing
via injectable clock seam + node:test mock.timers; antagonistic tier with
fast-check + Stryker at 80% threshold; typed-surface mandate; delete-bad-tests
policy with no-permanent-quarantine
- docs/adr/457-generated-cjs-single-source.md (Proposed): future direction to
collapse ~59 hand-written bin/lib/*.cjs to TS-generated single source;
eliminates tsconfig.lint.json stopgap; marked Proposed / not yet executed
- TESTING-STANDARDS.md: orients to existing docs; codifies six test-rigor
contracts; adds new policies (no-timing-assertion, clock-seam, property-based,
mutation-score, delete-bad-tests); pairs each with exact ESLint rule names;
markdownlint-clean (MD040 fences, MD056 table columns)
- CONTEXT.md: adds six RULESET.TESTS.* predicates (no-timing-assertion,
clock-seam, property-based-testing, mutation-score, delete-bad-tests,
eslint-harness) and five glossary terms (clock seam, deterministic scheduler,
property-based test, mutation testing/score, ESLint harness)
- docs/adr/README.md: adds index rows for ADRs 452, 456, 457
Co-authored-by: CI Rebase Check <ci@gsd-redux>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-05-29 10:33:36 -04:00 |
|