doyle -> todlando: W8 GO, once your W10 teardown record is done. Lane feat/332-surfaces, off CURRENT main 11a2f373, worktree .worktrees/w8-surfaces, pool-claim from inside it. Brief: .spt/preserved/331/JIT-PLAN.md lines 46-49. #332 page shape is ruled in releases#332 comment 5810367647. Read that before any toc.js code. - #332: the daemon serves a per-node toc.js = the static TOC + an INSTALLED ON part before Reference; always the three groups; spt-core first; no rewriting of page HTML. - #269/#264: adapter list = typed groups + (built-in) + nested profiles + an Available on subnet section (W3's data path); no kind/mode/state/source_dir jargon; --json additive only. - #259: the picker shows v#.#.# after adapter[:profile]. Know going in: W9 (#305) will RELOCATE the serving stack from broker to brain right after you. Keep the toc.js generation a pure function of (node, registry), called from docshost, so W9 moves the call site and not the logic. Gate discipline, both from this week's misses: (1) run xtask check yourself, captured to a file. (2) For any NEW test binary, state in the handback whether it reaches `spt api`, `daemon run`, or any other autostart verb. xtask's detector cannot see the api autostart (IR-156, hertz), so a HEAVY-at-birth call is yours to make by reading. REQ ids go into traceable-reqs.toml first; propose them to me before activation. Handback carries the same battery shape as W10, including a negative control per int.