[{"data":1,"prerenderedAt":1678},["ShallowReactive",2],{"$fuNyYAQAJAFfZ86FJoE1ncIJ9Cl3ck06rP4eXxt0lId4":3},{"newThing":4,"project":5,"cycle":8,"sections":24,"threads":1668,"otherDocs":1669,"documents":1671,"images":1675,"archiveItems":1676,"links":1677},null,{"id":6,"label":7,"liveBase":4},"design","Design",{"id":9,"num":10,"dir":11,"name":12,"title":13,"focus":14,"status":15,"statusNote":16,"created":17,"completed":4,"mode":18,"report":4,"recordless":19,"thumbnail":4,"imageCount":20,"artifactCount":21,"lastActivity":22,"hasPickup":19,"hasInitialPrompt":23},"c111",111,"c111.cycles-by-week","cycles-by-week","Cycles by Week","A weekly view of the cycle atlas (started · still open · closed per week) beside the existing numerical view, plus a week details page designed as a `_meta` mock","active","week detail promoted to \u002Fcycles\u002Fweeks 2026-10-05 — Phase 3 backfill, Phase 4 digest rewire, Phase 5 close next","2026-10-05","assemblage: the dates, commits, captures, releases and deploys are all on disk already; the week is the frame that connects them",false,0,2,"2026-11-03",true,[25,46,147,314,1480,1493],{"key":26,"title":27,"empty":19,"ast":28},"why","Why",{"type":29,"children":30},"root",[31],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36,44],{"type":32,"tag":37,"props":38,"children":40},"code",{"className":39},[],[41],{"type":42,"value":43},"text","\u002Fcycles",{"type":42,"value":45}," answers \"what cycles exist\" in numerical order, project by project. It can't answer \"what happened the week of Sep 28\": which cycles began, which ran through it, which closed, and what shipped. Cycles now overlap heavily (c99–c110 ran inside two weeks across design, layer and qdash), so the number order no longer tells the story in time.",{"key":47,"title":48,"empty":19,"ast":49},"objective","Objective",{"type":29,"children":50},[51,127],{"type":32,"tag":52,"props":53,"children":54},"ol",{},[55,94,122],{"type":32,"tag":56,"props":57,"children":58},"li",{},[59,64,66,72,74,79,81,86,87,92],{"type":32,"tag":37,"props":60,"children":62},{"className":61},[],[63],{"type":42,"value":43},{"type":42,"value":65}," gets a ",{"type":32,"tag":67,"props":68,"children":69},"strong",{},[70],{"type":42,"value":71},"Number ⇄ Week",{"type":42,"value":73}," view switch. Number stays the default and is unchanged. Week lists each week, newest first, with three lists: ",{"type":32,"tag":67,"props":75,"children":76},{},[77],{"type":42,"value":78},"Started",{"type":42,"value":80},", ",{"type":32,"tag":67,"props":82,"children":83},{},[84],{"type":42,"value":85},"Still open",{"type":42,"value":80},{"type":32,"tag":67,"props":88,"children":89},{},[90],{"type":42,"value":91},"Closed",{"type":42,"value":93},".",{"type":32,"tag":56,"props":95,"children":96},{},[97,99,104,106,112,114,120],{"type":42,"value":98},"A ",{"type":32,"tag":67,"props":100,"children":101},{},[102],{"type":42,"value":103},"week details page",{"type":42,"value":105}," designed as a ",{"type":32,"tag":37,"props":107,"children":109},{"className":108},[],[110],{"type":42,"value":111},"_meta",{"type":42,"value":113}," mock (",{"type":32,"tag":37,"props":115,"children":117},{"className":116},[],[118],{"type":42,"value":119},"\u002Fpages\u002F_meta\u002Fcycles-week-detail",{"type":42,"value":121},") on live data. It shows the three cycle lists plus record excerpts, commits per repo, captures, and layer releases & deploys.",{"type":32,"tag":56,"props":123,"children":124},{},[125],{"type":42,"value":126},"Missing start and close dates are filled: git fallback now (marked inferred), and the records backfilled as a follow-up.",{"type":32,"tag":33,"props":128,"children":129},{},[130,132,137,139,145],{"type":42,"value":131},"Done = the week view is live on ",{"type":32,"tag":37,"props":133,"children":135},{"className":134},[],[136],{"type":42,"value":43},{"type":42,"value":138}," and the detail mock is reviewed (it gets promoted to ",{"type":32,"tag":37,"props":140,"children":142},{"className":141},[],[143],{"type":42,"value":144},"\u002Fcycles\u002Fweeks\u002F\u003Cweek>",{"type":42,"value":146}," once approved).",{"key":148,"title":149,"empty":19,"ast":150},"scope","Scope",{"type":29,"children":151},[152],{"type":32,"tag":153,"props":154,"children":155},"ul",{},[156,200,220,240,269,282,302],{"type":32,"tag":56,"props":157,"children":158},{},[159,161,167,169,175,177,183,184,190,192,198],{"type":42,"value":160},"Data: ",{"type":32,"tag":37,"props":162,"children":164},{"className":163},[],[165],{"type":42,"value":166},"server\u002Fdata\u002Fcycles\u002FbuildCycles.ts",{"type":42,"value":168}," + ",{"type":32,"tag":37,"props":170,"children":172},{"className":171},[],[173],{"type":42,"value":174},"parseCycleMd.ts",{"type":42,"value":176}," (closed date, date source), new ",{"type":32,"tag":37,"props":178,"children":180},{"className":179},[],[181],{"type":42,"value":182},"server\u002Fdata\u002Fcycles\u002Fweeks.ts",{"type":42,"value":80},{"type":32,"tag":37,"props":185,"children":187},{"className":186},[],[188],{"type":42,"value":189},"server\u002Fapi\u002Fcycles\u002Fweeks\u002F",{"type":42,"value":191}," (index + ",{"type":32,"tag":37,"props":193,"children":195},{"className":194},[],[196],{"type":42,"value":197},"[week]",{"type":42,"value":199},").",{"type":32,"tag":56,"props":201,"children":202},{},[203,205,211,213,219],{"type":42,"value":204},"Overview: ",{"type":32,"tag":37,"props":206,"children":208},{"className":207},[],[209],{"type":42,"value":210},"app\u002Fpages\u002Fcycles\u002Findex.vue",{"type":42,"value":212}," (view switch + week view), components under ",{"type":32,"tag":37,"props":214,"children":216},{"className":215},[],[217],{"type":42,"value":218},"app\u002Fcomponents\u002Fcycles\u002F",{"type":42,"value":93},{"type":32,"tag":56,"props":221,"children":222},{},[223,225,231,232,238],{"type":42,"value":224},"Detail mock: ",{"type":32,"tag":37,"props":226,"children":228},{"className":227},[],[229],{"type":42,"value":230},"app\u002Fpages\u002Fpages\u002F_meta\u002Fcycles-week-detail.vue",{"type":42,"value":168},{"type":32,"tag":37,"props":233,"children":235},{"className":234},[],[236],{"type":42,"value":237},"app\u002Fdata\u002Fpage-registry.ts",{"type":42,"value":239}," entry.",{"type":32,"tag":56,"props":241,"children":242},{},[243,245,251,253,259,261,267],{"type":42,"value":244},"Feed: ",{"type":32,"tag":37,"props":246,"children":248},{"className":247},[],[249],{"type":42,"value":250},"server\u002Fdata\u002Fcycles\u002Fwindow.ts",{"type":42,"value":252}," (",{"type":32,"tag":37,"props":254,"children":256},{"className":255},[],[257],{"type":42,"value":258},"gatherWindow(from, to)",{"type":42,"value":260},", shared by the week API and the digest), ",{"type":32,"tag":37,"props":262,"children":264},{"className":263},[],[265],{"type":42,"value":266},"scripts\u002Fwindow-feed.mts",{"type":42,"value":268}," (CLI over it).",{"type":32,"tag":56,"props":270,"children":271},{},[272,274,280],{"type":42,"value":273},"Digest: ",{"type":32,"tag":37,"props":275,"children":277},{"className":276},[],[278],{"type":42,"value":279},".claude\u002Fskills\u002Fpartner-digest\u002FSKILL.md",{"type":42,"value":281}," Step 2.",{"type":32,"tag":56,"props":283,"children":284},{},[285,287,293,294,300],{"type":42,"value":286},"Records backfill: ",{"type":32,"tag":37,"props":288,"children":290},{"className":289},[],[291],{"type":42,"value":292},"cycles\u002F*\u002FCYCLE.md",{"type":42,"value":80},{"type":32,"tag":37,"props":295,"children":297},{"className":296},[],[298],{"type":42,"value":299},"cycles\u002FHISTORY.md",{"type":42,"value":301}," (design; sister repos are listed only, not written).",{"type":32,"tag":56,"props":303,"children":304},{},[305,307],{"type":42,"value":306},"Plan: ",{"type":32,"tag":308,"props":309,"children":311},"a",{"href":310},"\u002Fcycles\u002Fdesign\u002Fc111\u002Fdoc\u002Fplan",[312],{"type":42,"value":313},"plan.md",{"key":315,"title":316,"empty":19,"ast":317},"key-changes","Key Changes",{"type":29,"children":318},[319,329,345,663,697,948,1042,1052,1261,1271],{"type":32,"tag":33,"props":320,"children":321},{},[322,327],{"type":32,"tag":67,"props":323,"children":324},{},[325],{"type":42,"value":326},"kick-off (2026-10-05):",{"type":42,"value":328}," initial prompt plus four clarifying answers recorded above; plan written. A second round adopted the three suggested patterns (digest rewire, stale-open signal, evolution links) with their rulings; plan updated (shared window feed, digest rewire as Phase 4).",{"type":32,"tag":33,"props":330,"children":331},{},[332,337,339,344],{"type":32,"tag":67,"props":333,"children":334},{},[335],{"type":42,"value":336},"Phase 0–1 built (2026-10-05):",{"type":42,"value":338}," dates, the shared window feed, and the Week view on ",{"type":32,"tag":37,"props":340,"children":342},{"className":341},[],[343],{"type":42,"value":43},{"type":42,"value":93},{"type":32,"tag":153,"props":346,"children":347},{},[348,413,461,526,612,630],{"type":32,"tag":56,"props":349,"children":350},{},[351,356,357,363,365,371,373,379,381,387,389,395,397,403,405,411],{"type":32,"tag":67,"props":352,"children":353},{},[354],{"type":42,"value":355},"Timeline",{"type":42,"value":252},{"type":32,"tag":37,"props":358,"children":360},{"className":359},[],[361],{"type":42,"value":362},"server\u002Fdata\u002Fcycles\u002Ftimeline.ts",{"type":42,"value":364},"): every atlas cycle gets ",{"type":32,"tag":37,"props":366,"children":368},{"className":367},[],[369],{"type":42,"value":370},"started",{"type":42,"value":372}," \u002F ",{"type":32,"tag":37,"props":374,"children":376},{"className":375},[],[377],{"type":42,"value":378},"closed",{"type":42,"value":380}," with a ",{"type":32,"tag":37,"props":382,"children":384},{"className":383},[],[385],{"type":42,"value":386},"record | git",{"type":42,"value":388}," source. Starts come from the record for 149 cycles and from git for 51 (first touch of the cycle dir). Closes come from the record for 78 and from git for 42 (the commit that added the cycle to HISTORY.md, else the dir's last touch). Only qpixel c3 has no date. Unindexed cycles (in neither CYCLES.md nor HISTORY.md) count as closed at their inferred date, so they don't sit in Still open forever. One git pass per repo, cached 60 s. ",{"type":32,"tag":390,"props":391,"children":392},"em",{},[393],{"type":42,"value":394},"Active weeks",{"type":42,"value":396}," (for quiet) = a dated Key Changes entry, a commit touching ",{"type":32,"tag":37,"props":398,"children":400},{"className":399},[],[401],{"type":42,"value":402},"cycles\u002FcN.*",{"type":42,"value":404},", or a commit naming ",{"type":32,"tag":37,"props":406,"children":408},{"className":407},[],[409],{"type":42,"value":410},"cN",{"type":42,"value":412}," in its subject. Commits in qcontrol, the layer and qtap name design's cycles.",{"type":32,"tag":56,"props":414,"children":415},{},[416,421,422,428,430,436,438,444,445,451,453,459],{"type":32,"tag":67,"props":417,"children":418},{},[419],{"type":42,"value":420},"Weeks",{"type":42,"value":252},{"type":32,"tag":37,"props":423,"children":425},{"className":424},[],[426],{"type":42,"value":427},"weeks.ts",{"type":42,"value":429},"): Monday-start weeks. ",{"type":32,"tag":37,"props":431,"children":433},{"className":432},[],[434],{"type":42,"value":435},"bucketWindow(from, to)",{"type":42,"value":437}," returns Started \u002F Still open (carried) \u002F Closed. Carried rows carry ",{"type":32,"tag":37,"props":439,"children":441},{"className":440},[],[442],{"type":42,"value":443},"openWeeks",{"type":42,"value":80},{"type":32,"tag":37,"props":446,"children":448},{"className":447},[],[449],{"type":42,"value":450},"quietWeeks",{"type":42,"value":452}," and ",{"type":32,"tag":37,"props":454,"children":456},{"className":455},[],[457],{"type":42,"value":458},"stale",{"type":42,"value":460}," (3+ quiet weeks, parked exempt), ordered most-recently-moved first, then parked, then stale.",{"type":32,"tag":56,"props":462,"children":463},{},[464,469,470,476,478,484,486,492,494,500,502,508,510,516,518,524],{"type":32,"tag":67,"props":465,"children":466},{},[467],{"type":42,"value":468},"Window feed",{"type":42,"value":252},{"type":32,"tag":37,"props":471,"children":473},{"className":472},[],[474],{"type":42,"value":475},"window.ts",{"type":42,"value":477}," ",{"type":32,"tag":37,"props":479,"children":481},{"className":480},[],[482],{"type":42,"value":483},"gatherWindow",{"type":42,"value":485},"): cycles, dated record entries, commits per repo (sha, PR number), layer tags, deploys, captures with evolution links. ",{"type":32,"tag":37,"props":487,"children":489},{"className":488},[],[490],{"type":42,"value":491},"GET \u002Fapi\u002Fcycles\u002Fweeks",{"type":42,"value":493}," (dictionary + per-week refs, 167 KB) and ",{"type":32,"tag":37,"props":495,"children":497},{"className":496},[],[498],{"type":42,"value":499},"\u002Fapi\u002Fcycles\u002Fweeks\u002F\u003Cmonday>",{"type":42,"value":501}," (400 for anything else). The CLI ",{"type":32,"tag":37,"props":503,"children":505},{"className":504},[],[506],{"type":42,"value":507},"npx tsx scripts\u002Fwindow-feed.mts --from … [--to …] [--compact]",{"type":42,"value":509}," runs it in about 1.2 s without a dev server. Deploys come from the local ",{"type":32,"tag":37,"props":511,"children":513},{"className":512},[],[514],{"type":42,"value":515},"deploy",{"type":42,"value":517}," reflog, because the branch is one force-pushed commit (c49). The reflog starts 2026-09-27 and is local-only; the feed says so in ",{"type":32,"tag":37,"props":519,"children":521},{"className":520},[],[522],{"type":42,"value":523},"notes",{"type":42,"value":525}," when a window predates it (LATER: have deploy.sh append to a deploys log).",{"type":32,"tag":56,"props":527,"children":528},{},[529,534,536,542,543,548,550,555,556,562,564,570,572,578,580,586,588,594,596,602,604,610],{"type":32,"tag":67,"props":530,"children":531},{},[532],{"type":42,"value":533},"Week view",{"type":42,"value":535},": a ",{"type":32,"tag":37,"props":537,"children":539},{"className":538},[],[540],{"type":42,"value":541},"UxTabGroup",{"type":42,"value":477},{"type":32,"tag":67,"props":544,"children":545},{},[546],{"type":42,"value":547},"Number | Week",{"type":42,"value":549}," on ",{"type":32,"tag":37,"props":551,"children":553},{"className":552},[],[554],{"type":42,"value":43},{"type":42,"value":252},{"type":32,"tag":37,"props":557,"children":559},{"className":558},[],[560],{"type":42,"value":561},"?view=week",{"type":42,"value":563},"). Number stays the default and is unchanged (8 project sections, jump pills). The week data is fetched during SSR, so the static build carries it. ",{"type":32,"tag":37,"props":565,"children":567},{"className":566},[],[568],{"type":42,"value":569},"CyclesWeekView",{"type":42,"value":571}," (project ",{"type":32,"tag":37,"props":573,"children":575},{"className":574},[],[576],{"type":42,"value":577},"UxFilterGroup",{"type":42,"value":579},", 12 weeks a page, the order toggle applies) → ",{"type":32,"tag":37,"props":581,"children":583},{"className":582},[],[584],{"type":42,"value":585},"CyclesWeekBand",{"type":42,"value":587},": label, range, and an activity counts line. The counts are atlas-wide and not narrowed by the filter, and a tooltip says so. Below them are three columns; a week with nothing started, closed or touched for the selected projects folds to a \"quiet week\" line. ",{"type":32,"tag":37,"props":589,"children":591},{"className":590},[],[592],{"type":42,"value":593},"CyclesWeekRow",{"type":42,"value":595}," meta: start or close date (≈ when inferred), carried \"6 wks · quiet 2\" in amber when stale, \"parked\". An ",{"type":32,"tag":37,"props":597,"children":599},{"className":598},[],[600],{"type":42,"value":601},"evo",{"type":42,"value":603}," link goes to the subject's evolution page when the cycle produced subject-keyed captures that week; with several subjects it goes to ",{"type":32,"tag":37,"props":605,"children":607},{"className":606},[],[608],{"type":42,"value":609},"\u002Fcycles\u002Fevolution",{"type":42,"value":611}," for now, and Phase 2 retargets it to the week detail's captures. \"Gone quiet N\" folds the stale ones per week.",{"type":32,"tag":56,"props":613,"children":614},{},[615,620,622,628],{"type":32,"tag":67,"props":616,"children":617},{},[618],{"type":42,"value":619},"Data, week of Sep 28",{"type":42,"value":621},": 11 started (c100–c110), 74 carried (57 gone quiet), 8 closed (c49, c66, c102–c104, c106, c108, c109); 245 commits, 101 record entries, 223 captures, 9 layer releases, 23 deploys. The long gone-quiet list is real: design's CYCLES.md still lists c41\u002Fc42\u002Fc44\u002Fc51\u002Fc59… (\"flagged in c69 sweep\") and the sister repos keep old cycles under ",{"type":32,"tag":37,"props":623,"children":625},{"className":624},[],[626],{"type":42,"value":627},"## Active",{"type":42,"value":629},". These are exactly the rulings the stale signal exists to surface.",{"type":32,"tag":56,"props":631,"children":632},{},[633,638,640,645,647,653,655,661],{"type":32,"tag":67,"props":634,"children":635},{},[636],{"type":42,"value":637},"Checked",{"type":42,"value":639}," in the pane: Number ⇄ Week round-trip and the URL; the filter (Design off → design rows gone, Sep 28 folds to a quiet week); Gone quiet expands; evolution links resolve (200); no console errors; at 375 px one 343 px column with no overflow. The plain ",{"type":32,"tag":37,"props":641,"children":643},{"className":642},[],[644],{"type":42,"value":6},{"type":42,"value":646}," launch config's watcher missed server and template edits, so this run uses ",{"type":32,"tag":37,"props":648,"children":650},{"className":649},[],[651],{"type":42,"value":652},"design-polling",{"type":42,"value":654},". Committed design ",{"type":32,"tag":37,"props":656,"children":658},{"className":657},[],[659],{"type":42,"value":660},"c222be4a4",{"type":42,"value":662}," (not pushed, not deployed).",{"type":32,"tag":33,"props":664,"children":665},{},[666,671,673,679,681,687,689,695],{"type":32,"tag":67,"props":667,"children":668},{},[669],{"type":42,"value":670},"Phase 2 built (2026-10-05):",{"type":42,"value":672}," the week detail mock, ",{"type":32,"tag":37,"props":674,"children":676},{"className":675},[],[677],{"type":42,"value":678},"\u002Fpages\u002F_meta\u002Fcycles-week-detail\u002F\u003Cmonday>",{"type":42,"value":680},". The week is in the path because static builds prerender paths, not queries, and the prev \u002F next links let the crawler reach every week. No week = the last full week. Registry entry under the new ",{"type":32,"tag":37,"props":682,"children":684},{"className":683},[],[685],{"type":42,"value":686},"c111-cycles-by-week",{"type":42,"value":688}," collapse; ",{"type":32,"tag":37,"props":690,"children":692},{"className":691},[],[693],{"type":42,"value":694},"\u002Fpages\u002F_meta",{"type":42,"value":696}," gets a c111 section.",{"type":32,"tag":153,"props":698,"children":699},{},[700,745,856,925],{"type":32,"tag":56,"props":701,"children":702},{},[703,708,710,715,717,722,724,729,731,736,738,743],{"type":32,"tag":67,"props":704,"children":705},{},[706],{"type":42,"value":707},"Top to bottom",{"type":42,"value":709},": week nav (← prev · range · next → · All weeks) → verdict + stats band (\"11 started, 8 closed, 17 carried live.\" over a busiest-record \u002F gone-quiet \u002F layer-range line; 7 metrics) → the ",{"type":32,"tag":67,"props":711,"children":712},{},[713],{"type":42,"value":714},"screengrab viewer",{"type":42,"value":716}," → jump pills → Cycles (three columns with focus, dates, \"N in the log\" links, Gone quiet folded) → ",{"type":32,"tag":67,"props":718,"children":719},{},[720],{"type":42,"value":721},"Log",{"type":42,"value":723}," (Key Changes entries dated in the week, grouped by cycle, MDC-rendered with site links, long ones clamped with Show all) → ",{"type":32,"tag":67,"props":725,"children":726},{},[727],{"type":42,"value":728},"Commits",{"type":42,"value":730}," (bar per repo, expands to sha · date · subject, qcontrol PR links) → ",{"type":32,"tag":67,"props":732,"children":733},{},[734],{"type":42,"value":735},"Captures",{"type":42,"value":737}," (grouped by cycle cluster: newThing line, 8 shots then Show all, representative first and outlined) → ",{"type":32,"tag":67,"props":739,"children":740},{},[741],{"type":42,"value":742},"Releases & deploys",{"type":42,"value":744}," → feed notes.",{"type":32,"tag":56,"props":746,"children":747},{},[748,753,755,760,762,768,770,775,777,783,785,791,793,798,800,806,808,814,816,822,824,830,832,838,840,846,848,854],{"type":32,"tag":67,"props":749,"children":750},{},[751],{"type":42,"value":752},"Screengrab viewer",{"type":42,"value":754}," (Mark, 2026-10-05: \"lead with one main screenshot, then a small horizontal gallery … one representative from each cluster\"; \"clicking sub items should change the main display item like a slideshow instead of scrolling the window\"; \"show the stats above the screengrab viewer\"): the captures cluster by ",{"type":32,"tag":67,"props":756,"children":757},{},[758],{"type":42,"value":759},"cycle",{"type":42,"value":761},". Each cluster gets one representative, picked server-side by ",{"type":32,"tag":37,"props":763,"children":765},{"className":764},[],[766],{"type":42,"value":767},"representative()",{"type":42,"value":769}," in ",{"type":32,"tag":37,"props":771,"children":773},{"className":772},[],[774],{"type":42,"value":475},{"type":42,"value":776},": its most settled thread (final \u002F after \u002F promoted \u002F composed \u002F shipped \u002F landed, in the thread label or the file name), else its newest thread; never a ",{"type":32,"tag":37,"props":778,"children":780},{"className":779},[],[781],{"type":42,"value":782},"before",{"type":42,"value":784},"; default variant; first in program order. The cluster caption is the shot's ",{"type":32,"tag":37,"props":786,"children":788},{"className":787},[],[789],{"type":42,"value":790},"newThing",{"type":42,"value":792},". The manifests copy ",{"type":32,"tag":37,"props":794,"children":796},{"className":795},[],[797],{"type":42,"value":790},{"type":42,"value":799}," onto every shot of a cycle (169 of 223 that week), so it captions but can't pick. Clusters are ordered busiest record first, and the first is the opening slide. The strip, the ← \u002F → buttons and the arrow keys change the main image; the strip scrolls itself to keep the selection in view and the page never moves. \"See all N shots ↓\" is the one link that jumps down to the cluster's group. Sep 28 picks: c100 ",{"type":32,"tag":37,"props":801,"children":803},{"className":802},[],[804],{"type":42,"value":805},"mock-home",{"type":42,"value":807}," (composed mocks), c102\u002Fc103\u002Fc110 ",{"type":32,"tag":37,"props":809,"children":811},{"className":810},[],[812],{"type":42,"value":813},"-after",{"type":42,"value":815},", c109 ",{"type":32,"tag":37,"props":817,"children":819},{"className":818},[],[820],{"type":42,"value":821},"micro-cards-b",{"type":42,"value":823},", c108 ",{"type":32,"tag":37,"props":825,"children":827},{"className":826},[],[828],{"type":42,"value":829},"final-integration-routing-failed",{"type":42,"value":831},", c106 ",{"type":32,"tag":37,"props":833,"children":835},{"className":834},[],[836],{"type":42,"value":837},"qdash-listing-rest",{"type":42,"value":839},", c104 ",{"type":32,"tag":37,"props":841,"children":843},{"className":842},[],[844],{"type":42,"value":845},"band-rest",{"type":42,"value":847},", c107 ",{"type":32,"tag":37,"props":849,"children":851},{"className":850},[],[852],{"type":42,"value":853},"new-overview",{"type":42,"value":855}," (promoted app).",{"type":32,"tag":56,"props":857,"children":858},{},[859,864,866,871,873,879,880,886,887,893,894,900,902,908,910,915,917,923],{"type":32,"tag":67,"props":860,"children":861},{},[862],{"type":42,"value":863},"API",{"type":42,"value":865},": ",{"type":32,"tag":37,"props":867,"children":869},{"className":868},[],[870],{"type":42,"value":499},{"type":42,"value":872}," adds ",{"type":32,"tag":37,"props":874,"children":876},{"className":875},[],[877],{"type":42,"value":878},"prev",{"type":42,"value":372},{"type":32,"tag":37,"props":881,"children":883},{"className":882},[],[884],{"type":42,"value":885},"next",{"type":42,"value":372},{"type":32,"tag":37,"props":888,"children":890},{"className":889},[],[891],{"type":42,"value":892},"current",{"type":42,"value":80},{"type":32,"tag":37,"props":895,"children":897},{"className":896},[],[898],{"type":42,"value":899},"clusters",{"type":42,"value":901},", and entry ASTs (raw markdown dropped, a ",{"type":32,"tag":37,"props":903,"children":905},{"className":904},[],[906],{"type":42,"value":907},"long",{"type":42,"value":909}," flag kept). The busiest week is about 620 KB of JSON and about 1 MB of SSR HTML. That's acceptable for an internal mock; the page needs trimming before promotion. The week view's \"Week details →\" links and multi-subject ",{"type":32,"tag":37,"props":911,"children":913},{"className":912},[],[914],{"type":42,"value":601},{"type":42,"value":916}," (→ ",{"type":32,"tag":37,"props":918,"children":920},{"className":919},[],[921],{"type":42,"value":922},"#captures",{"type":42,"value":924},") point here.",{"type":32,"tag":56,"props":926,"children":927},{},[928,932,934,939,941,946],{"type":32,"tag":67,"props":929,"children":930},{},[931],{"type":42,"value":637},{"type":42,"value":933},": Sep 28 renders in 0.28 s, other weeks in under 0.25 s; a non-Monday date shows the error state; strip click, ← and the arrow key change the slide, and the page doesn't scroll; repo expand (86 qcontrol commits, 8 PR links); log Show all; Gone quiet; capture thumbnails load (0 broken). Dev-server note: neither ",{"type":32,"tag":37,"props":935,"children":937},{"className":936},[],[938],{"type":42,"value":6},{"type":42,"value":940}," nor ",{"type":32,"tag":37,"props":942,"children":944},{"className":943},[],[945],{"type":42,"value":652},{"type":42,"value":947}," reloaded server or template edits this session, so each check ran after a restart, and the first request after a restart waits on Vite's dependency warm-up.",{"type":32,"tag":33,"props":949,"children":950},{},[951,956,958,963,965,970,971,977,979,985,987,993,995,1000,1002,1008,1010,1016,1018,1024,1026,1032,1034,1040],{"type":32,"tag":67,"props":952,"children":953},{},[954],{"type":42,"value":955},"Pages & components section (2026-10-05):",{"type":42,"value":957}," Mark, 2026-10-05: \"list out the pages or components worked on if they exist, including a link to the evolution page supporting that particular page or component\". The week detail gets a ",{"type":32,"tag":67,"props":959,"children":960},{},[961],{"type":42,"value":962},"Pages & components",{"type":42,"value":964}," section after Cycles, with its own jump pill. The source is the capture subjects in the window (",{"type":32,"tag":37,"props":966,"children":968},{"className":967},[],[969],{"type":42,"value":475},{"type":42,"value":477},{"type":32,"tag":37,"props":972,"children":974},{"className":973},[],[975],{"type":42,"value":976},"subjectsOf",{"type":42,"value":978}," → feed ",{"type":32,"tag":37,"props":980,"children":982},{"className":981},[],[983],{"type":42,"value":984},"subjects",{"type":42,"value":986},"): kind, label (",{"type":32,"tag":37,"props":988,"children":990},{"className":989},[],[991],{"type":42,"value":992},"subjectLabel",{"type":42,"value":994},"), the cycles that shot it that week, the shot count, the newest shot as a thumbnail, its all-time moments and first-capture date, a ",{"type":32,"tag":67,"props":996,"children":997},{},[998],{"type":42,"value":999},"new",{"type":42,"value":1001}," pill when it was first captured inside the week, and ",{"type":32,"tag":37,"props":1003,"children":1005},{"className":1004},[],[1006],{"type":42,"value":1007},"\u002Fcycles\u002Fevolution\u002F\u003Ckind>\u002F\u003Cslug>",{"type":42,"value":1009}," (design subjects; sister manifests have no evolution pages yet). Grouped Pages \u002F Components \u002F Patterns, 12 per kind, then Show all. Sep 28: 57 subjects (53 pages, 4 components), 26 new. The busiest are ",{"type":32,"tag":37,"props":1011,"children":1013},{"className":1012},[],[1014],{"type":42,"value":1015},"page\u002Fsticky-title",{"type":42,"value":1017}," (16 shots, c106, new) and ",{"type":32,"tag":37,"props":1019,"children":1021},{"className":1020},[],[1022],{"type":42,"value":1023},"page\u002Fusers",{"type":42,"value":1025}," (15, c108 · c107 · c103). The evolution links resolve. Pages or components touched only in code (no capture) don't appear; commits don't name subjects. LATER if wanted: map changed files (",{"type":32,"tag":37,"props":1027,"children":1029},{"className":1028},[],[1030],{"type":42,"value":1031},"app\u002Fpages\u002Fpages\u002F*.vue",{"type":42,"value":1033},", layer ",{"type":32,"tag":37,"props":1035,"children":1037},{"className":1036},[],[1038],{"type":42,"value":1039},"components\u002F**",{"type":42,"value":1041},") to subjects.",{"type":32,"tag":33,"props":1043,"children":1044},{},[1045,1050],{"type":32,"tag":67,"props":1046,"children":1047},{},[1048],{"type":42,"value":1049},"Promoted (2026-10-05):",{"type":42,"value":1051}," Mark, 2026-10-05: \"let's move the commits graph just below the screenshots\", then \"it looks good, let's promote\".",{"type":32,"tag":153,"props":1053,"children":1054},{},[1055,1065,1115,1140,1172,1188],{"type":32,"tag":56,"props":1056,"children":1057},{},[1058,1063],{"type":32,"tag":67,"props":1059,"children":1060},{},[1061],{"type":42,"value":1062},"Commits move up",{"type":42,"value":1064},": Commits now sits right under the screengrab viewer, ahead of the jump pills, and is the first pill.",{"type":32,"tag":56,"props":1066,"children":1067},{},[1068,1073,1075,1081,1083,1089,1091,1097,1099,1105,1107,1113],{"type":32,"tag":67,"props":1069,"children":1070},{},[1071],{"type":42,"value":1072},"Promotion",{"type":42,"value":1074},": the mock moves (",{"type":32,"tag":37,"props":1076,"children":1078},{"className":1077},[],[1079],{"type":42,"value":1080},"git mv",{"type":42,"value":1082},") to ",{"type":32,"tag":37,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":42,"value":1088},"app\u002Fpages\u002Fcycles\u002Fweeks\u002F[[week]].vue",{"type":42,"value":1090},", so ",{"type":32,"tag":37,"props":1092,"children":1094},{"className":1093},[],[1095],{"type":42,"value":1096},"\u002Fcycles\u002Fweeks",{"type":42,"value":1098}," opens the last full week and ",{"type":32,"tag":37,"props":1100,"children":1102},{"className":1101},[],[1103],{"type":42,"value":1104},"\u002Fcycles\u002Fweeks\u002F\u003Cmonday>",{"type":42,"value":1106}," opens any week. The back link goes to \"Cycles by week\" (",{"type":32,"tag":37,"props":1108,"children":1110},{"className":1109},[],[1111],{"type":42,"value":1112},"\u002Fcycles\u002F?view=week",{"type":42,"value":1114},"), and the mock's source line is gone.",{"type":32,"tag":56,"props":1116,"children":1117},{},[1118,1123,1124,1130,1132,1138],{"type":32,"tag":67,"props":1119,"children":1120},{},[1121],{"type":42,"value":1122},"Redirects",{"type":42,"value":865},{"type":32,"tag":37,"props":1125,"children":1127},{"className":1126},[],[1128],{"type":42,"value":1129},"nuxt.config",{"type":42,"value":1131}," routeRules 301 the old ",{"type":32,"tag":37,"props":1133,"children":1135},{"className":1134},[],[1136],{"type":42,"value":1137},"\u002Fpages\u002F_meta\u002Fcycles-week-detail[\u002F**]",{"type":42,"value":1139}," URLs to the new route.",{"type":32,"tag":56,"props":1141,"children":1142},{},[1143,1148,1150,1155,1157,1162,1164,1170],{"type":32,"tag":67,"props":1144,"children":1145},{},[1146],{"type":42,"value":1147},"Repointed links",{"type":42,"value":1149},": the week view's \"Week details →\" and multi-subject ",{"type":32,"tag":37,"props":1151,"children":1153},{"className":1152},[],[1154],{"type":42,"value":601},{"type":42,"value":1156}," links, and the ",{"type":32,"tag":37,"props":1158,"children":1160},{"className":1159},[],[1161],{"type":42,"value":111},{"type":42,"value":1163}," registry entry (",{"type":32,"tag":37,"props":1165,"children":1167},{"className":1166},[],[1168],{"type":42,"value":1169},"href: '\u002Fcycles\u002Fweeks'",{"type":42,"value":1171},"; the c111 section says promoted).",{"type":32,"tag":56,"props":1173,"children":1174},{},[1175,1180,1181,1186],{"type":32,"tag":67,"props":1176,"children":1177},{},[1178],{"type":42,"value":1179},"Entry point",{"type":42,"value":865},{"type":32,"tag":37,"props":1182,"children":1184},{"className":1183},[],[1185],{"type":42,"value":43},{"type":42,"value":1187}," gets a \"Last week →\" link under \"Page evolution →\". It's the visible way in, and the static crawler's: prev \u002F next then reach every week.",{"type":32,"tag":56,"props":1189,"children":1190},{},[1191,1195,1196,1201,1203,1209,1211,1217,1219,1225,1227,1233,1235,1240,1241,1246,1248,1253,1255,1260],{"type":32,"tag":67,"props":1192,"children":1193},{},[1194],{"type":42,"value":637},{"type":42,"value":865},{"type":32,"tag":37,"props":1197,"children":1199},{"className":1198},[],[1200],{"type":42,"value":1096},{"type":42,"value":1202}," (0.6 s) and ",{"type":32,"tag":37,"props":1204,"children":1206},{"className":1205},[],[1207],{"type":42,"value":1208},"\u002Fcycles\u002Fweeks\u002F2026-09-28",{"type":42,"value":1210}," render with sections in order (verdict, viewer, Commits, Cycles, Pages & components, Log, Captures, Releases & deploys); non-Mondays show the error state; ",{"type":32,"tag":37,"props":1212,"children":1214},{"className":1213},[],[1215],{"type":42,"value":1216},"\u002Fcycles\u002F\u003Cproject>\u002F\u003Cid>",{"type":42,"value":1218}," still resolves (the static ",{"type":32,"tag":37,"props":1220,"children":1222},{"className":1221},[],[1223],{"type":42,"value":1224},"weeks",{"type":42,"value":1226}," dir wins over ",{"type":32,"tag":37,"props":1228,"children":1230},{"className":1229},[],[1231],{"type":42,"value":1232},"[project]",{"type":42,"value":1234},"); both redirects 301 with the week kept; ",{"type":32,"tag":37,"props":1236,"children":1238},{"className":1237},[],[1239],{"type":42,"value":43},{"type":42,"value":452},{"type":32,"tag":37,"props":1242,"children":1244},{"className":1243},[],[1245],{"type":42,"value":694},{"type":42,"value":1247}," link to ",{"type":32,"tag":37,"props":1249,"children":1251},{"className":1250},[],[1252],{"type":42,"value":1096},{"type":42,"value":1254},"; the week view's links point at ",{"type":32,"tag":37,"props":1256,"children":1258},{"className":1257},[],[1259],{"type":42,"value":1104},{"type":42,"value":93},{"type":32,"tag":33,"props":1262,"children":1263},{},[1264,1269],{"type":32,"tag":67,"props":1265,"children":1266},{},[1267],{"type":42,"value":1268},"Number layouts + week-row cards (2026-10-05):",{"type":42,"value":1270}," Mark, 2026-10-05: \"in the normal numeric format of the cycles page, it would be nice to have a list view and a micro card view that fits double the cycles per row\"; \"let's make the list a uxtable, one per section\"; \"in the list view, we have the dates wrapping, let's use the uxtable headers as well, including the column lines\"; \"in the week view, it might be nice to have a tiny card to go with the rows … maybe 30px tall\".",{"type":32,"tag":153,"props":1272,"children":1273},{},[1274,1304,1329,1377,1425,1434],{"type":32,"tag":56,"props":1275,"children":1276},{},[1277,1282,1284,1289,1290,1295,1296,1302],{"type":32,"tag":67,"props":1278,"children":1279},{},[1280],{"type":42,"value":1281},"Layout switch",{"type":42,"value":1283},": the Number view gets a second ",{"type":32,"tag":37,"props":1285,"children":1287},{"className":1286},[],[1288],{"type":42,"value":541},{"type":42,"value":80},{"type":32,"tag":67,"props":1291,"children":1292},{},[1293],{"type":42,"value":1294},"Cards | Micro | List",{"type":42,"value":252},{"type":32,"tag":37,"props":1297,"children":1299},{"className":1298},[],[1300],{"type":42,"value":1301},"?layout=micro|list",{"type":42,"value":1303},"; Cards stays the default and unchanged).",{"type":32,"tag":56,"props":1305,"children":1306},{},[1307,1312,1313,1319,1321,1327],{"type":32,"tag":67,"props":1308,"children":1309},{},[1310],{"type":42,"value":1311},"Micro",{"type":42,"value":252},{"type":32,"tag":37,"props":1314,"children":1316},{"className":1315},[],[1317],{"type":42,"value":1318},"CyclesMicroCard",{"type":42,"value":1320},"): an 80 px thumbnail with the id badge, a two-line title, a ",{"type":32,"tag":37,"props":1322,"children":1324},{"className":1323},[],[1325],{"type":42,"value":1326},"sm",{"type":42,"value":1328}," status pill and the date, with the focus line in the tooltip. Columns are 2 \u002F 4 \u002F 6 \u002F 8 \u002F 10, twice the Cards grid at every breakpoint (8 a row at 1440).",{"type":32,"tag":56,"props":1330,"children":1331},{},[1332,1337,1338,1344,1346,1352,1354,1360,1362,1367,1369,1375],{"type":32,"tag":67,"props":1333,"children":1334},{},[1335],{"type":42,"value":1336},"List",{"type":42,"value":252},{"type":32,"tag":37,"props":1339,"children":1341},{"className":1340},[],[1342],{"type":42,"value":1343},"CyclesList",{"type":42,"value":1345},"): one ",{"type":32,"tag":37,"props":1347,"children":1349},{"className":1348},[],[1350],{"type":42,"value":1351},"UxTableList",{"type":42,"value":1353}," per project section inside ",{"type":32,"tag":37,"props":1355,"children":1357},{"className":1356},[],[1358],{"type":42,"value":1359},"UxOverflowX",{"type":42,"value":1361},", so it gets the table-list header band, column lines, no-wrap cells and a sticky header. Columns: Cycle · Title (+ focus, truncating) · Status · Started · Closed · Images; a row opens its cycle. The dates come from the cycle timeline (the ",{"type":32,"tag":37,"props":1363,"children":1365},{"className":1364},[],[1366],{"type":42,"value":1224},{"type":42,"value":1368}," fetch the page already makes), so a closed cycle shows its HISTORY \u002F git close, with ≈ when inferred. The record-only ",{"type":32,"tag":37,"props":1370,"children":1372},{"className":1371},[],[1373],{"type":42,"value":1374},"completed",{"type":42,"value":1376}," field is on just 7 design CYCLE.md files.",{"type":32,"tag":56,"props":1378,"children":1379},{},[1380,1385,1387,1392,1394,1400,1402,1408,1410,1416,1417,1423],{"type":32,"tag":67,"props":1381,"children":1382},{},[1383],{"type":42,"value":1384},"Week-row cards",{"type":42,"value":1386},": each ",{"type":32,"tag":37,"props":1388,"children":1390},{"className":1389},[],[1391],{"type":42,"value":593},{"type":42,"value":1393}," leads with a 48 × 30 tile of the cycle's hero thumbnail (",{"type":32,"tag":37,"props":1395,"children":1397},{"className":1396},[],[1398],{"type":42,"value":1399},"thumbnail",{"type":42,"value":1401}," now rides ",{"type":32,"tag":37,"props":1403,"children":1405},{"className":1404},[],[1406],{"type":42,"value":1407},"TimelineCycle",{"type":42,"value":1409}," → ",{"type":32,"tag":37,"props":1411,"children":1413},{"className":1412},[],[1414],{"type":42,"value":1415},"WindowCycle",{"type":42,"value":372},{"type":32,"tag":37,"props":1418,"children":1420},{"className":1419},[],[1421],{"type":42,"value":1422},"WeekCycleInfo",{"type":42,"value":1424},"; 123 of 199 have one, the rest show an empty tile). At that size a white product UI reads faint; a cropped zoom (e.g. the top-left third) would read better if wanted.",{"type":32,"tag":56,"props":1426,"children":1427},{},[1428,1432],{"type":32,"tag":67,"props":1429,"children":1430},{},[1431],{"type":42,"value":637},{"type":42,"value":1433},": 8 tables \u002F 201 rows, 1312 px wide at 1440 with no overflow, dates on one line, 1 px column lines; 373 week-row tiles (217 with images, all loaded); Micro 8 a row.",{"type":32,"tag":56,"props":1435,"children":1436},{},[1437,1442,1444,1449,1451,1457,1458,1464,1466,1472,1474,1479],{"type":32,"tag":67,"props":1438,"children":1439},{},[1440],{"type":42,"value":1441},"2026-11-02, Micro becomes the default:",{"type":42,"value":1443}," at Mark's request, ",{"type":32,"tag":37,"props":1445,"children":1447},{"className":1446},[],[1448],{"type":42,"value":43},{"type":42,"value":1450}," opens in Micro. ",{"type":32,"tag":37,"props":1452,"children":1454},{"className":1453},[],[1455],{"type":42,"value":1456},"?layout=cards",{"type":42,"value":452},{"type":32,"tag":37,"props":1459,"children":1461},{"className":1460},[],[1462],{"type":42,"value":1463},"?layout=list",{"type":42,"value":1465}," select the others, and old ",{"type":32,"tag":37,"props":1467,"children":1469},{"className":1468},[],[1470],{"type":42,"value":1471},"?layout=micro",{"type":42,"value":1473}," links still work (",{"type":32,"tag":37,"props":1475,"children":1477},{"className":1476},[],[1478],{"type":42,"value":210},{"type":42,"value":199},{"key":1481,"title":1482,"empty":19,"ast":1483},"outcome","Outcome",{"type":29,"children":1484},[1485],{"type":32,"tag":33,"props":1486,"children":1487},{},[1488],{"type":32,"tag":390,"props":1489,"children":1490},{},[1491],{"type":42,"value":1492},"(open)",{"key":1494,"title":1495,"empty":19,"ast":1496},"extra","Decisions (kick-off, 2026-10-05)",{"type":29,"children":1497},[1498],{"type":32,"tag":153,"props":1499,"children":1500},{},[1501,1517,1526,1559,1569,1586,1657],{"type":32,"tag":56,"props":1502,"children":1503},{},[1504,1508,1510,1515],{"type":32,"tag":67,"props":1505,"children":1506},{},[1507],{"type":42,"value":85},{"type":42,"value":1509}," = carried ",{"type":32,"tag":390,"props":1511,"children":1512},{},[1513],{"type":42,"value":1514},"through",{"type":42,"value":1516}," the week: started before the week and not closed by its end. A long cycle appears in every week it was alive. Started and Closed are the week's events.",{"type":32,"tag":56,"props":1518,"children":1519},{},[1520,1524],{"type":32,"tag":67,"props":1521,"children":1522},{},[1523],{"type":42,"value":149},{"type":42,"value":1525},": all projects the atlas reads (design, qmap, qflow, bob-wire, market-analyst, qpixel, www, app), filterable by project.",{"type":32,"tag":56,"props":1527,"children":1528},{},[1529,1534,1536,1542,1544,1550,1552,1557],{"type":32,"tag":67,"props":1530,"children":1531},{},[1532],{"type":42,"value":1533},"Date gaps",{"type":42,"value":1535},": both. The CYCLE.md ",{"type":32,"tag":37,"props":1537,"children":1539},{"className":1538},[],[1540],{"type":42,"value":1541},"**Created:**",{"type":42,"value":1543}," \u002F HISTORY.md ",{"type":32,"tag":37,"props":1545,"children":1547},{"className":1546},[],[1548],{"type":42,"value":1549},"**Completed:**",{"type":42,"value":1551}," dates win. Otherwise the git first\u002Flast-touch date of the cycle dir is used, cached and shown as ",{"type":32,"tag":390,"props":1553,"children":1554},{},[1555],{"type":42,"value":1556},"inferred",{"type":42,"value":1558},". After that the records are backfilled (a reviewed list, then a commit).",{"type":32,"tag":56,"props":1560,"children":1561},{},[1562,1567],{"type":32,"tag":67,"props":1563,"children":1564},{},[1565],{"type":42,"value":1566},"Week detail contents",{"type":42,"value":1568},": commits per repo, captures from that week, layer releases & deploys, and cycle record excerpts (Key Changes entries dated inside the week).",{"type":32,"tag":56,"props":1570,"children":1571},{},[1572,1577,1579,1584],{"type":32,"tag":67,"props":1573,"children":1574},{},[1575],{"type":42,"value":1576},"Existing view kept",{"type":42,"value":1578},": numerical order remains the default ",{"type":32,"tag":37,"props":1580,"children":1582},{"className":1581},[],[1583],{"type":42,"value":43},{"type":42,"value":1585}," view (Mark, mid-prompt).",{"type":32,"tag":56,"props":1587,"children":1588},{},[1589,1594,1596],{"type":32,"tag":67,"props":1590,"children":1591},{},[1592],{"type":42,"value":1593},"Ideas adopted (2026-10-05, Mark: \"love your new ideas\")",{"type":42,"value":1595},":\n",{"type":32,"tag":153,"props":1597,"children":1598},{},[1599,1616,1647],{"type":32,"tag":56,"props":1600,"children":1601},{},[1602,1607,1608,1614],{"type":32,"tag":67,"props":1603,"children":1604},{},[1605],{"type":42,"value":1606},"Partner digest",{"type":42,"value":865},{"type":32,"tag":37,"props":1609,"children":1611},{"className":1610},[],[1612],{"type":42,"value":1613},"\u002Fpartner-digest",{"type":42,"value":1615}," is rewired in c111 to draft from the same feed as the week page (Phase 4).",{"type":32,"tag":56,"props":1617,"children":1618},{},[1619,1624,1626,1631,1633,1638,1640,1645],{"type":32,"tag":67,"props":1620,"children":1621},{},[1622],{"type":42,"value":1623},"Stale-open signal",{"type":42,"value":1625},": carried rows show \"open N wks, quiet M\". A week is ",{"type":32,"tag":390,"props":1627,"children":1628},{},[1629],{"type":42,"value":1630},"quiet",{"type":42,"value":1632}," for a cycle only when ",{"type":32,"tag":67,"props":1634,"children":1635},{},[1636],{"type":42,"value":1637},"neither",{"type":42,"value":1639}," its record nor commits moved: no Key Changes entry dated in the week, and no commit that touches its cycle dir or names it (",{"type":32,"tag":37,"props":1641,"children":1643},{"className":1642},[],[1644],{"type":42,"value":410},{"type":42,"value":1646},") in the subject, in any atlas repo. The row turns amber at 3+ quiet weeks in a row. Parked cycles are exempt.",{"type":32,"tag":56,"props":1648,"children":1649},{},[1650,1655],{"type":32,"tag":67,"props":1651,"children":1652},{},[1653],{"type":42,"value":1654},"Evolution links",{"type":42,"value":1656},": on both the week detail's captures strip and the week view's cycle rows (a mark when the cycle produced subject-keyed captures that week).",{"type":32,"tag":56,"props":1658,"children":1659},{},[1660,1662,1667],{"type":42,"value":1661},"Defaults (not asked): weeks run Monday–Sunday and are labelled \"Week of Sep 28\"; the view lives in the URL (",{"type":32,"tag":37,"props":1663,"children":1665},{"className":1664},[],[1666],{"type":42,"value":561},{"type":42,"value":199},[],[1670,313],"initial-prompt.md",[1672,1673],{"file":1670,"title":13},{"file":313,"title":1674},"plan: Cycles by Week",[],[],[],1794599411279]