A video game where you play as a misaligned AI, deceiving and building power. An experiment in spec-driven development. cameron.tngl.io/misaligned

Wiki migration stage 3/4: render (mdBook + the gate) master

The rendering stage from spec/wiki.md's plan: make the wiki an actual browsable book, not just a reorganized file tree. - book.toml at the repo root: mdBook, src = wiki/. - wiki/DESIGN.md: a symlink to ../DESIGN.md so the constitution can be the book's front page without duplicating it. - wiki/README.md renamed to wiki/overview.md: mdBook auto-promotes any chapter literally named README.md to index.html, silently overriding SUMMARY.md's declared order. Verified the fix: index.html is now byte-identical to DESIGN.html. - wiki/SUMMARY.md populated with all 54 real pages (was a stage-1 skeleton of directory overviews only). - New tools/wiki_gate.sh: pure-bash orphan check (every wiki/**/*.md reachable from SUMMARY.md) and internal-link check (every markdown link ending in .md resolves to a real file) — chosen over mdbook-linkcheck to avoid another CI toolchain dependency. Sanity tested against both a clean tree and a deliberately broken link. - Wired into tools/check.sh (new steps: the wiki gate, hard-failing; mdbook build, soft-skipped if mdbook isn't installed locally) and .tangled/workflows/check.yml (mdbook added to the nixpkgs dependency list; both steps hard-failing, authoritative in CI). - The gate immediately caught a real bug: DESIGN.md's own "The constitution rule" section still linked knowledge/development-style.md, knowledge/tick.md, and spec/ — missed in stage 2 because DESIGN.md lives outside wiki/ and wasn't in that stage's file list. Fixed here. - .gitignore: /book (the generated site). Defense: spec/wiki.md acceptance criteria 1 (orphan/broken-link gate) and 5 (one documented command — `mdbook build` / `mdbook serve` — renders the whole wiki with the constitution as the front page; CI builds it every push). Stage 4 (absorb devlogs into wiki/log/) remains.