New @deepseek-ai/dsh-invariants plugin (pure listeners, off in prod) asserts the event taxonomy at runtime — seq monotonicity, turn/step nesting, a tool/result needs a prior tool/call (NOT the converse), legal agent/status transitions — and deep-freezes logged event data so mutating history throws. Seeded sessions are checked + frozen on session/created. The real RFC 008 fix is always-on: deriveMessages now structured-clones the content it emits, so the loop's sanctioned request/adapter mutation can no longer reach back and rewrite the append-only log. The pervasive DeepReadonly<T> type flip is rejected (compile-only, high-noise, castable) — recorded in ADR 0012, which folds in RFC 008. Wired into both demos. |
||
|---|---|---|
| .. | ||
| 001-property-based-testing.md | ||
| 002-mutation-testing.md | ||
| 003-deterministic-and-stress-testing.md | ||
| 004-architectural-conformance.md | ||
| 005-runtime-validation-and-error-taxonomy.md | ||
| 006-doc-sync-and-api-reports.md | ||
| 007-supply-chain-and-vendor-drift.md | ||
| 008-immutable-public-surfaces.md | ||
| README.md | ||
RFCs
Proposals for substantial future work — reviewed before implementation, unlike ADRs (which record decisions already made). Each RFC groups a related set of ideas from the quality/robustness proposal (2026-06-11); statuses move proposed → accepted → implemented (then usually graduate to an ADR).
| # | Title | Status |
|---|---|---|
| 001 | Property-based testing for protocol-shaped code | proposed |
| 002 | Mutation testing as the coverage counterweight | proposed |
| 003 | Deterministic tests + replay invariant fixture + race stress | proposed |
| 004 | Architectural rules: dependency-cruiser, adapter conformance kit | proposed |
| 005 | Runtime arg validation, structured error taxonomy, dev-mode invariants | partially implemented |
| 006 | Doc-sync enforcement and API extractor reports | proposed |
| 007 | Supply chain checks and vendor drift verification | proposed |
| 008 | Deep-readonly public surfaces | implemented (revised) |