openspec/changes/archive/2026-09-10-add-stage-bay/tasks.md
Tasks
- JSON contract in
stage-bayspec - Last plate committed at
src/lib/bay/last-plate.json -
/bayroute prerenders - Advise reader (other family) on this architecture change
Pinned by advise 2026-09-10 (reader agt-fable-5-1-arch-review)
- Derates: one owner.
snapshot.pystops emittingt4000_readliterals; page reads them fromdocs/3090-SIM.mdfrontmatter (or the doc becomes the snapshot’s input). Reconcile 0.29 vs 0.30 in the doc. - Three feed states on the slate:
LIVE,BRICK DARK(DEV, fetch failed),PLATE <date>(Pages, never tried). Journey promises BRICK DARK; code has two states. - Residency granularity: either the glass says “AI process on tube” or
pipeline.pywrites a per-model manifest the snapshot reads. Today any AI python lights all three mags. -
cap 420→power.limitfrom the samenvidia-smiquery. Doc says 350 W. - Plate refresh is one command (
ssh fractal1 python3 ~/aicam/snapshot.py > src/lib/bay/last-plate.json), written indocs/3090-SIM.mdorpackage.json. - Tailscale IP once: MagicDNS
fractal1in the vite proxy,tailscale ip -4at serve start, or a single shared constant. - Fold target: create
openspec/specs/stage-bay/on fold;hardware-kitis the only living spec dir today. - Font licensing: confirm web-embed rights for Tactic Sans and Space Age before Pages is public; add a LICENSE note beside
static/fonts/. - Layout lock:
pathname.startsWith(base + '/bay')instead ofincludes('/bay'). - Write down that live is
vite devonly (import.meta.env.DEVgate); a tailnet-served static build stays on plate.