## Immutable version chain (IFD layered deltas) + one menu on every page

- **The source model is now an IFD delta chain** (adopting the __Tools team's layered-delta review). `src/v0/vM.m.p/` folders each hold only what that version added or changed (`shared/**` + `site/**`, with `_removes.json` for deletions); building version V layers all folders ≤ V. A version's input set is therefore **frozen by construction** — a shared-code change is a new delta folder, never an edit to a shipped one, so rebuilding can no longer rewrite history. A `frozen.json` gate pins every version output's sha256 as a drift tripwire (`node build.js --pin` re-pins after an intentional change). The v0.4.2/v0.4.0 duplicated source trees are gone: the v0.4.2 delta is literally one file.
- **Chain epoch:** the base folder (v0.3.0) carries `shared/` as of this release, back-applied to all three selectable versions so they all speak the new host protocol. Immutability holds from here forward.
- **One menu everywhere.** Top-level pages (Partners, Library, Dev) now carry the full site menu — section links, page links, the version switcher, and Book a demo — instead of a bare "Back to site". Section links on those pages return to the last version page you were on *and* scroll to that section (the host forwards the anchor after the frame loads). Back from a top-level page now always returns to a version page, never to another top-level page.
- **Frozen pages stay current at runtime.** The host posts a nav manifest (`versions`, `pages`, current file) into each page after it loads; menus and switchers re-render from it. A version page built today will list versions and pages added years from now — without ever being rebuilt (its inlined data remains as the standalone fallback).
- The jsdom App-Mode smoke suite is now committed (`test/smoke.jsdom.js`) and runs as a build gate whenever jsdom is installed.
