Public: anyone can read this; the crew can change it.
Jay Moran's pin demos are on main: src/actions/pin_demos.ts, with launchOf in src/git/builds.ts #9272
Reviewed pull #9284 at its head: ticked git checkout origin/incoming/jay-main -- src/actions/pin_demos.ts; his code as he wrote it, adapting only imports to main.; launchOf (and any other export pin_demos.ts imports from src/git/builds.ts that main lacks, e.g. readBuildPin) is added to main's src/git/builds.ts from his branch. Nothing main already exports there is removed or renamed.; Nothing in src/http or src/web is wired to it yet; it is reachable from a test.; test/pin-demos.test.ts: demoDefaults names a demo from a label and pages, demoFactsAt reads a pinned commit's facts, and saveDemo by a non-writer is refused with the access error. Each fails without the file.; bun x tsc --noEmit and bun test pass.; Commits carry Co-authored-by: Jay Moran..
First prerequisite of the display model (#9207 was parked twice because this file is not on main; #9194 closed without it).
Done looks like:
git checkout origin/incoming/jay-main -- src/actions/pin_demos.ts; his code as he wrote it, adapting only imports to main.launchOf(and any other export pin_demos.ts imports fromsrc/git/builds.tsthat main lacks, e.g.readBuildPin) is added to main'ssrc/git/builds.tsfrom his branch. Nothing main already exports there is removed or renamed.demoDefaultsnames a demo from a label and pages,demoFactsAtreads a pinned commit's facts, andsaveDemoby a non-writer is refused with the access error. Each fails without the file.bun x tsc --noEmitandbun testpass.Co-authored-by: Jay Moran.Files: src/actions/pin_demos.ts, src/git/builds.ts, test/pin-demos.test.ts. Risks: builds.ts on his branch differs by ~190 lines; take only the missing exports, never the whole file.