← Design · c129
PICKUP.md
c129 Pickup Note
Parked: 2026-11-03, on purpose, right after the first fix. The deploy build is at about 4.4 minutes, which is fine for now. Pick this up when deploys feel slow again, or before the lab grows another round of mocks.
Where every thread stands
| Thread | State |
|---|---|
| Skip query-string links in the deploy crawl | ✅ on c123/owasp-agentic-tour as 8aff64e71d (cherry-pick of a7323795df from claude/jovial-dubinsky-36e37e, which is now redundant) |
| Deployed with the fix | ✅ 2026-11-03, deploy bd48264c3e: build ~4 min, but deploy.sh 15.5 min total |
| Commit + push of the output (option 0) | ⏳ not started — ~11 of the 15.5 min; now the recommended next step |
DataTimeline demo reading 'labels' error | ✅ same commit |
| Measurement (before/after, where time goes) | ✅ CYCLE.md Key Changes |
| Cache cycle data during prerender (option 1) | ⏳ not started |
| Data-swarm pages, ~284 s each (option 2) | ⏳ not started |
| Client-render the lab on deploy (option 3) | ⏳ needs Mark's call |
| Prune / incremental deploys (options 4–5) | ⏳ later |
| Folder links in cycle records (prerender errors) | 📖 listed in CYCLE.md; content fixes per record |
The decision queue
Land the fix.Done 2026-11-03 and deployed.- Client-render the lab on deploy? Lab mocks would ship as JS-rendered shells instead of static HTML. Only matters if someone reads them without JS, or wants them searchable.
- What can be retired? Old phase-0 mocks and old cycles' doc pages are content decisions.
Suggested first hour at pickup
- Check the fix is in the deploy branch:
grep -n skipQueryLink nuxt.config.ts. - Take a fresh baseline: in the checkout Mark deploys from, run the generate step on its own (it keeps the output, and doesn't touch the
deployref the waydeploy.sh --no-pushdoes):DESIGN_DEPLOY_OUT=$PWD/../.design-deploy-out.noindex NODE_OPTIONS=--max-old-space-size=4096 npx nuxt generate > /tmp/gen.log 2>&1
Then count pages (find ../.design-deploy-out.noindex/public -name index.html | wc -l) and pull per-route timings from the log (LC_ALL=C grep -oE "/[^ ]* \([0-9]+ms\)"). Don't run it while another deploy is building in the same checkout: they share.nuxt-deploy. - Do option 0: add timestamps to
deploy.shsteps 3–4, deploy once, and see where the ~11 min after the build goes. - Do option 1: memoise
listProjectCycles,statusIndex,imageIndexand the git calls inwindow.ts/timeline.tswhenimport.meta.prerenderis true. Rebuild, compare time and the page list (commof sortedindex.htmllists). - Look at the three data-swarm pages (option 2).
Quick orientation
- Config:
nuxt.config.ts—deployOut,skipQueryLink,prerenderQueue; everything is gated onDESIGN_DEPLOY_OUT. - Deploy script:
scripts/deploy.sh. Note--no-pushstill rewrites the localdeployref and deletes the output folder. - Nitro internals worth knowing (nitropack 2.13):
canPrerenderrunsprerender.ignoreon every extracted link, as pathname + query;generateRoutere-checks it and silently skips already-generated routes, so re-queuing a path is harmless. - Measuring in isolation: the 2026-11-03 numbers came from a scratch git worktree (the
c123tip plus the main checkout's uncommitted files,node_modulescloned withcp -cR, sibling repos symlinked beside it so the cycles pages find them). It has been removed. - Shared notes:
~/Library/Application Support/Claude/side-session-notes/local_ab33652d-…/deploy-prerender-trim-options.mdhas the same numbers.