Changelog
One entry per merged pull request, newest first — generated from the merge history
of main, not maintained by hand. This project squash-merges every pull request, so
git log already is the changelog; regenerating it is strictly more reliable than a
second, hand-kept copy.
- 2026-08-01 — Fix Qodo findings from PR #71: MVP.md path convention, createCountingIds shared counter (#72)
- 2026-08-01 — W19 — MVP Acceptance (MVP DONE), plus marking W18 done (#71)
- 2026-08-01 — W18 — Determinism Harness (#70)
- 2026-08-01 — Docs: move the MCP tool-table contract to SubZeroDev.Platform (#69)
- 2026-08-01 — Docs: link inline section references in TODO.md, make links visible (#68)
- 2026-08-01 — Docs: mark W17 done in TODO.md (#67)
- 2026-08-01 — W17 — MCP Server (#66)
- 2026-07-31 — Docs: mark W16 done in TODO.md (#65)
- 2026-07-31 — W16 — Text Client (#63)
- 2026-07-31 — Docs: link every unit's Spec and Depends-on references in TODO.md (#64)
- 2026-07-31 — Docs: check W15's heading in TODO.md (#62)
- 2026-07-31 — Docs: mark W15 done in TODO.md (#61)
- 2026-07-31 — W15 — The Bureaucracy Campaign and Broken Fixtures (#60)
- 2026-07-31 — Regenerate the changelog at docs build/deploy time instead of via a recurring PR (#59)
- 2026-07-31 — Docs: mark W14 done in TODO.md (#57)
- 2026-07-31 — W14 — Story-Graph Validation: Tier 1/2 checks via validateCampaign (#55)
- 2026-07-31 — Docs: mark W13 done in TODO.md (#53)
- 2026-07-31 — W13 — Endings and Achievements: evaluation wired into advance, unlock-once (#51)
- 2026-07-31 — Docs: mark W12 done in TODO.md (#49)
- 2026-07-31 — W12 — Scene, Actions, Projection, Reason Codes: submitChoice assembled end to end (#47)
- 2026-07-31 — Docs: mark W10/W11 done, refresh README's status snapshot, regenerate homepage (#45)
- 2026-07-31 — W11 — Nodes, Turn, and Settle: the node graph, enter/settle, and initialState (#44)
- 2026-07-31 — W10 — Conditions and Requirements: the frozen Condition evaluator + field namespace (#43)
- 2026-07-31 — Docs: mark W0–W9 done in TODO.md, with the merging PR for each (#42)
- 2026-07-31 — W9 — Variables and Consequences: typed set/increment/decrement, clamp-once (#41)
- 2026-07-31 — Docs discoverability: README navigation, accurate status, auto-generated changelog (#40)
- 2026-07-31 — W8 — Profile Store: in-memory store and the post-action upsert (#39)
- 2026-07-31 — W7 — Session Store: in-memory store, Engine.withEmitter, jsonlEmitter (#38)
- 2026-07-31 — W6 — Projection: black-box acceptance tests for the client boundary (#37)
- 2026-07-31 — W5 — Tiered validation: core-owned checks, delegation, the registry gate (#36)
- 2026-07-31 — W4 — Registry, authoring builder, and localization (#35)
- 2026-07-31 — W3a — Observability: Emitter, core events, and sinks (#34)
- 2026-07-31 — W3 — Pure engine kernel: createEngine, createGame, submitAction, projections (#33)
- 2026-07-30 — Skip the documentation gate on push to main (#32)
- 2026-07-30 — Add a concrete worked example between the abstraction and boundary sections (#31)
- 2026-07-30 — Sharpen the closing beat: shorter payoff heading, bigger footer line (#30)
- 2026-07-30 — Landing page: documentary titles, developer commentary, and a real payoff ending (#29)
- 2026-07-30 — Cut heading sizes and vertical rhythm hard, across the whole page (#28)
- 2026-07-30 — Fix hero dead space and display-copy narrow-wrap bug (#27)
- 2026-07-30 — Landing page style fixes: headings, spacing, Title Case; fix docs navbar navigation (#26)
- 2026-07-30 — Add game engine landing page (#25)
- 2026-07-30 — Record the verification-grep lesson in agent.md (#24)
- 2026-07-30 — Landing page: review, consolidate and correct the spec bundle (#23)
- 2026-07-29 — W2 — RNG handle and stream derivation (#22)
- 2026-07-29 — Add an Origin Story section to the README (#21)
- 2026-07-29 — Expand the README pitch: genre breadth, why-build, philosophy, who it's for (#20)
- 2026-07-29 — Rewrite README as a pitch: why this exists, not just what it is (#19)
- 2026-07-29 — Add ExperimentSource port and experiment gates (A/B testing + feature flags) (#18)
- 2026-07-28 — W1 — Core contract types and module skeleton (#17)
- 2026-07-28 — Complete the engine specification set (#16)
- 2026-07-28 — Specify session capture, and settle the src/engine path convention (#15)
- 2026-07-28 — Delete docs.ps1: it is an installed file, not a committed one (#14)
- 2026-07-28 — Specify the replay regression oracle (#12)
- 2026-07-28 — Sync the vendored gate with upstream's nested-parentheses fix (#13)
- 2026-07-28 — Specify extensibility: ports, and the boundary that decides (#11)
- 2026-07-28 — Sync the vendored documentation gate, and specify observability (#10)
- 2026-07-28 — Docs site information architecture: sections, anchors, and site links (#8)
- 2026-07-28 — Serve the README at the site root, and restore strict link gating (#7)
- 2026-07-28 — Close out W0: correct drift, relax onBrokenMarkdownLinks, tick HTTPS (#6)
- 2026-07-28 — Own the docs site root so the deploy survives base-image changes (#5)
- 2026-07-27 — W0: CI workflow, docs-template install, and published documentation (#3)
- 2026-07-27 — Phase 0 cleanup, docs rendering fixes, and the W0 CI plan (#2)
- 2026-07-27 — Rename Narrative Engine to Game Engine (#1)
- 2026-07-25 — Add engine-focused CLAUDE.md + agent.md
- 2026-07-25 — GameEngine = the Narrative Engine: source + specs
- 2026-07-25 — Rename project to SubZeroDev.GameEngine
- 2026-07-25 — Initial commit: Narrative Engine platform specs (API, platform, hosting)