Files
code_of_conquest_dnd/docs/README.md
Phillip Tarrant b4b72e472e docs: traps.md — the bugs that passed a green suite
Six bugs this project shipped into a branch, what let each through, and the
guard that now catches it. They share a shape: the test passed, and the test
was wrong.

- a regression test that constructed its own correct object, so reverting the
  bug left the suite green
- GDScript default params turning an arity change into a silent miscompile,
  invisible to a grep for the renamed field (grep cannot see positional args)
- a determinism test comparing two runs that would change together
- a closed move vocabulary that was not bounded, because the model could repeat
  a tag and choose an amount in unary
- a roster written down in four places with only one pair guarded — including a
  shipped authoring skill that would have emitted origins allowing zero callings
- generated content that has a client consumer

Linked from CLAUDE.md §18 and docs/README.md. Also records M4-a on the roadmap
with its live end-to-end proof.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QYa9u7Kdxv5gX4AnwWexy8
2026-07-12 21:07:39 -05:00

827 B

/docs — cross-cutting docs

Anything affecting both client and api, plus planning and roadmap. Side-specific docs live in /api/docs and /client/docs.

Put here:

  • roadmap.md — phases, POC scope, what's next
  • traps.mdbugs we have already shipped, and the guards that catch them. Read before writing tests: every one of them passed a green suite.
  • adr/ — Architecture Decision Records
  • canon-log.md — the cross-boundary contract (§11)
  • Shared contracts — canon log schema, tag syntax, retry policy (§11, §12)
  • Anything spanning the HTTP boundary

The charter itself — CLAUDE.md — stays at the repo root. It is the source of truth; these docs elaborate, they do not override it.