Adds a "Companion docs" header (README, technical, ADR, QFD, roadmap)
and inline pointers from the auth section to ADR-005, the screen
layout to ADR-003, and the acceptance criteria block to qfd §6 — so
each "what must this do" claim has a one-click jump to its rationale
or target.
Adds inline pointers from ADR-007 (storage) to the v0.1 technical
persistence + file-layout sections, from ADR-008 (power) to the v0.1
out-of-scope and roadmap v0.8, and from ADR-009 (keyboard) to spike 4
in the v0.1 technical bring-up order.
Adds a "Related docs" header at the top of adr.md and inline "See also"
pointers from ADR-001 (binary/build tradeoffs → qfd §7) and ADR-002
(render module → v0.1 technical, top H1/H2 functions → qfd §3). Makes
the design-doc set walkable instead of a flat list.
Macro-plan dates start 2026-06-01 with `after` dependencies between
versions. Per-version checklists move to docs/roadmap.md so the README
stays synthetic.
Translates user-facing requirements (the WHATs) into engineering
functions (the HOWs) and components, with a House-of-Quality matrix,
roof tradeoffs, function→component mapping (anchored to ADRs), and a
critical performance budget keyed to upcoming spikes. Cross-references
adr.md throughout.
Prior text said "~40 KB of stack space"; the v0.1 technical design's
task table sums to 76 KB (usb 8 + wifi 8 + ui 16 + render 12 + git 32).
Also widens the std::thread stack-cost note from a flat 8 KB to 8–32 KB
to match the per-task budget. No design change — 76 KB still fits
comfortably in the ESP32-S3's 512 KB internal SRAM.
Pins Node 24 via .node-version, declares pnpm 10.32.1 as packageManager
in package.json, and adds oxfmt as a dev dependency with .oxfmtrc.json
(single quotes, no semi, 80 cols). Ignores node_modules.
Strip-aspect 5.79" panel (792×272) replaces the page-shaped 7.5" choice.
Reflows the v0.1 screen layout, framebuffer memory budget, and spike 2
acceptance to validate the SSD1683-class controller path or fall back to
a ~300 LoC custom embedded-hal driver.
Sets language (Rust on esp-idf-rs), rejects Ratatui and Gleam+Shore with
reasons, locks the MVP scope to "write, save, push one file" and defines
nine downstream releases so each ships a usable artifact.