[{"data":1,"prerenderedAt":3885},["ShallowReactive",2],{"$fbxT4Z_r9BiewI_tIt1-GIGRj_pG0dyrYsIVy6skzitg":3},{"from":4,"to":5,"cycles":6,"entries":586,"repos":3465,"releases":3638,"deploys":3639,"captures":3640,"clusters":3837,"subjects":3842,"notes":3882,"week":4,"prev":76,"next":3884,"current":23},"2026-10-05","2026-10-11",{"started":7,"open":46,"closed":584},[8,25,32,40],{"project":9,"projectLabel":10,"id":11,"num":12,"dir":13,"title":14,"focus":15,"status":16,"thumbnail":17,"started":18,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":21,"quietWeeks":22,"stale":23,"active":24},"design","Design","c114",114,"c114.governance-phase2","Governance Phase II","Build the Phase II governance dashboard for qdash around the object model the `..\u002Fintents` repo describes, so that Findings, Policies, Scope, Groups, Exceptions, Enforcement and Frameworks appear as one coherent system rather than fourteen features","active","\u002Fcycles\u002Fdesign\u002Fc114-finding-detail-minimal.png","2026-10-09","record",null,1,0,false,true,{"project":9,"projectLabel":10,"id":26,"num":27,"dir":28,"title":29,"focus":30,"status":16,"thumbnail":20,"started":31,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":21,"quietWeeks":22,"stale":23,"active":24},"c113",113,"c113.qdash-baked-demo","qdash Baked Demo","Serve the qdash demo as pre-computed worlds (sizes, scenarios, First run stages) from files, switchable instantly, baked daily, with no containers at serve time","2026-10-06",{"project":9,"projectLabel":10,"id":33,"num":34,"dir":35,"title":36,"focus":37,"status":38,"thumbnail":20,"started":4,"startedSource":19,"closed":39,"closedSource":19,"openWeeks":21,"quietWeeks":22,"stale":23,"active":24},"c112",112,"c112.qdash-demo-container","qdash Demo Container","A public qdash demo on Cloudflare Containers whose synthetic world rolls forward every 2 minutes, in four sizes, with a violation mix and triggerable scenarios set from a gated control panel","archived","2026-10-07",{"project":9,"projectLabel":10,"id":41,"num":42,"dir":43,"title":44,"focus":45,"status":16,"thumbnail":20,"started":4,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":21,"quietWeeks":22,"stale":23,"active":24},"c111",111,"c111.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",[47,56,63,70,77,84,92,101,108,114,122,131,140,148,158,166,172,179,188,197,204,212,219,227,234,240,245,254,261,269,275,281,289,296,303,308,314,320,327,331,339,347,354,362,368,375,382,390,396,407,415,421,427,434,440,447,453,460,467,472,478,482,486,494,503,511,518,521,524,529,534,538,542,548,554,561,567,572,579],{"project":9,"projectLabel":10,"id":48,"num":49,"dir":50,"title":51,"focus":52,"status":16,"thumbnail":53,"started":54,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":55,"quietWeeks":21,"stale":23,"active":23},"c110",110,"c110.qdash-todos-2026-10-01","qdash TODOs — 2026-10-01 review","Execute Mark's 2026-10-01 product-review notes for `\u002Factivity` through `\u002Ftodos`","\u002Fcycles\u002Fdesign\u002Fc110-todos1001-sessions-after.png","2026-10-02",2,{"project":9,"projectLabel":10,"id":57,"num":58,"dir":59,"title":60,"focus":61,"status":16,"thumbnail":62,"started":54,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":55,"quietWeeks":21,"stale":23,"active":23},"c107",107,"c107.qdash-cutover","qdash Cutover","Promote the Fable app to `qcontrol\u002Fcrates\u002Fqdash\u002Fui\u002F` (the path the binary embeds), land it on `feat\u002Fnew-pages` \u002F PR #713, archive the old ui and the Opus app as reachable tags, and tell the story of why","\u002Fcycles\u002Fdesign\u002Fc107-gen2-alerts.png",{"project":9,"projectLabel":10,"id":64,"num":65,"dir":66,"title":67,"focus":68,"status":16,"thumbnail":20,"started":69,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":55,"quietWeeks":21,"stale":23,"active":23},"c105",105,"c105.cost-center","Cost Center","Re-evaluate the qdash `\u002Fcost` page against what the backend now serves, and re-draw it on the Organization \u002F Inventory listing pattern","2026-10-01",{"project":9,"projectLabel":10,"id":71,"num":72,"dir":73,"title":74,"focus":75,"status":16,"thumbnail":20,"started":76,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":55,"quietWeeks":21,"stale":23,"active":23},"c101",101,"c101.qmap-surface","Qmap Surface","Fold qmap into `DataSurfaceSection`. Draw a thing's Surface (what it reaches) as a scene of pixel pawns, as a second view beside the lists (Map ⇄ List). This starts with a design brief to a designer.","2026-09-28",{"project":9,"projectLabel":10,"id":78,"num":79,"dir":80,"title":81,"focus":82,"status":16,"thumbnail":83,"started":76,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":55,"quietWeeks":21,"stale":23,"active":23},"c100",100,"c100.landing-pages","Landing Pages","Design the three qdash \"Design in progress\" landings: Home `\u002F`, `\u002Finventory` and `\u002Fteam`. Each is a 30 ft (300 ft for Home) view of its domain, made more of images than of text.","\u002Fcycles\u002Fdesign\u002Fc100-mock-home-finance.png",{"project":9,"projectLabel":10,"id":85,"num":86,"dir":87,"title":88,"focus":89,"status":16,"thumbnail":20,"started":90,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":91,"quietWeeks":21,"stale":23,"active":23},"c99",99,"c99.nuxt-backend-interface","Nuxt Backend Interface","Audit every qdash page's data provenance, write the front-end data-interface bible (page → context component → library component; composables modelled on app.qpoint.io's), then plan and execute the conversion of the qdash UI's vibe-coded data layer onto it","2026-09-27",3,{"project":9,"projectLabel":10,"id":93,"num":94,"dir":95,"title":96,"focus":97,"status":16,"thumbnail":98,"started":99,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":21,"stale":23,"active":23},"c67",67,"c67.teams","Teams","Refine the qdash `\u002Fteams` design — composition from c61 concepts, mapping workspace as the pre-SCIM write path, slim spend overview, credentials relocated","\u002Fcycles\u002Fdesign\u002Fc67-teams-ideas-v2.png","2026-08-14",9,{"project":9,"projectLabel":10,"id":102,"num":103,"dir":104,"title":105,"focus":106,"status":16,"thumbnail":20,"started":107,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":91,"quietWeeks":55,"stale":23,"active":23},"c95",95,"c95.trigger-bar-column-picker","Trigger-Bar Column Picker","Seat c93's `UxColumnPicker` on the right edge of c92's `FilterTriggerBar` as a default-but-optional add-on — one strip above every qdash listing table instead of two controls competing for the same edge","2026-09-25",{"project":9,"projectLabel":10,"id":109,"num":110,"dir":111,"title":112,"focus":113,"status":16,"thumbnail":20,"started":107,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":91,"quietWeeks":55,"stale":23,"active":23},"c94",94,"c94.todo-execution-process","TODO Execution Process","Turn the c92 todos workflow (Mark's per-page meeting notes → one plan per page → parallel narrow-context executors → record) into a repeatable process: a `\u002Ftodos` skill that reads the notes straight from Logseq, a sheet grammar, a page registry, and the templates the c92 run used by hand",{"project":9,"projectLabel":10,"id":115,"num":116,"dir":117,"title":118,"focus":119,"status":16,"thumbnail":120,"started":121,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":91,"quietWeeks":55,"stale":23,"active":23},"c93",93,"c93.table-column-picker","Table Column Picker","A checkbox popover that shows\u002Fhides a table's columns — `UxColumnPicker` on a new `UxPopover` primitive — prototyped on the design site, then extracted to q-nuxt-layer and wired into a qdash listing","\u002Fcycles\u002Fdesign\u002Fc93-column-picker-open.png","2026-09-22",{"project":123,"projectLabel":124,"id":125,"num":126,"dir":127,"title":128,"focus":129,"status":16,"thumbnail":20,"started":130,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":91,"quietWeeks":55,"stale":23,"active":23},"market-analyst","Market Analyst","c12",12,"c12.micro-problems","Micro Problems","Reshape market-analyst into a design tool first — the source of truth for Qpoint's problem space — by adding a micro-problem layer (use case → micro problem → observations) on top of the existing market lens, with a curated registry, extraction-proposed candidates, computed standing, product surfaces, document intake, and briefs\u002Fstories that cite problems.","2026-09-21",{"project":9,"projectLabel":10,"id":132,"num":133,"dir":134,"title":135,"focus":136,"status":16,"thumbnail":137,"started":138,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":139,"quietWeeks":55,"stale":23,"active":23},"c92",92,"c92.qcontrol-new-pages","qcontrol New Pages","Stand up the c90 qcontrol-preview pages in the real qcontrol app (qdash UI) — phase 1 the combined Teams, Users & Devices listing, alongside a qdash global filter that replicates app.qpoint.io's behaviour, then the remaining detail\u002Flisting pages","\u002Fcycles\u002Fdesign\u002Fc92-actor-header.png","2026-09-18",4,{"project":9,"projectLabel":10,"id":141,"num":142,"dir":143,"title":144,"focus":145,"status":16,"thumbnail":146,"started":147,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":139,"quietWeeks":55,"stale":23,"active":23},"c90",90,"c90.qcontrol-preview","qcontrol Preview","Assemble seven page mocks (Teams & Users, User Details, Team Details, Sessions, Session Details, Devices, Device Details) behind shared app chrome that mimics the real qcontrol shell, ahead of integration with the real app","\u002Fcycles\u002Fdesign\u002Fc90-device-details.png","2026-09-16",{"project":9,"projectLabel":10,"id":149,"num":150,"dir":151,"title":152,"focus":20,"status":153,"thumbnail":20,"started":154,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":156,"quietWeeks":157,"stale":23,"active":23},"c82",82,"c82.cloud-execution","cloud execution","parked","2026-09-01","git",6,5,{"project":123,"projectLabel":124,"id":159,"num":160,"dir":161,"title":162,"focus":163,"status":153,"thumbnail":20,"started":164,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":165,"quietWeeks":160,"stale":23,"active":23},"c7",7,"c7.avoma-notes","avoma-notes","Explore and integrate Avoma notes data into extraction pipeline and dashboard visualizations.","2026-02-25",33,{"project":123,"projectLabel":124,"id":167,"num":139,"dir":168,"title":169,"focus":170,"status":153,"thumbnail":20,"started":171,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":165,"quietWeeks":160,"stale":23,"active":23},"c4","c4.refinement","refinement","Refine how extracted data is displayed in the dashboard and improve extraction quality where gaps exist.","2026-02-24",{"project":123,"projectLabel":124,"id":173,"num":91,"dir":174,"title":175,"focus":176,"status":153,"thumbnail":20,"started":177,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":178,"quietWeeks":160,"stale":23,"active":23},"c3","c3.oauth","oauth","Add Google OAuth to restrict dashboard access to @qpoint.io team members.","2026-02-20",34,{"project":9,"projectLabel":10,"id":180,"num":181,"dir":182,"title":183,"focus":184,"status":153,"thumbnail":185,"started":186,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":187,"stale":23,"active":23},"c69",69,"c69.operating-system","Operating System","Methods & tooling retro — evaluate how we work against the design methodology, restore order, modernize the skill\u002Fagent tooling, and make the philosophy load-bearing","\u002Farchive\u002F2026-q3\u002Fc69-pages-index.png","2026-08-15",8,{"project":9,"projectLabel":10,"id":189,"num":190,"dir":191,"title":192,"focus":193,"status":153,"thumbnail":194,"started":195,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":196,"quietWeeks":187,"stale":23,"active":23},"c62",62,"c62.build-partner","build-partner","Build-partner portal — research, ideation, and a plan for a page that makes partners insiders","\u002Fcycles\u002Fdesign\u002Fc62-arcade-organism-ideas.png","2026-08-08",10,{"project":9,"projectLabel":10,"id":198,"num":199,"dir":200,"title":201,"focus":202,"status":153,"thumbnail":20,"started":203,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":126,"quietWeeks":100,"stale":23,"active":23},"c55",55,"c55.agent-market-definition","agent-market-definition","Align the qcontrol agent-monitoring dashboard to specific personas and find market alignment — hypothesis-first, validated against calls later.","2026-07-24",{"project":9,"projectLabel":10,"id":205,"num":206,"dir":207,"title":208,"focus":209,"status":16,"thumbnail":210,"started":211,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":139,"quietWeeks":91,"stale":24,"active":23},"c89",89,"c89.teams-sessions-listings","Teams–Sessions Listings","First-pass mocks for Teams listing header upgrade and net-new Sessions listing page in phase1 dashboard style","\u002Fcycles\u002Fdesign\u002Fc89-sessions.png","2026-09-15",{"project":9,"projectLabel":10,"id":213,"num":214,"dir":215,"title":216,"focus":217,"status":16,"thumbnail":218,"started":211,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":139,"quietWeeks":91,"stale":24,"active":23},"c88",88,"c88.global-filter","Global Filter","Extract app.qpoint.io's global filter into q-nuxt-layer as presentational components (Phase 1), then design and build a v2 segmented-bar redesign (Phase 2).","\u002Fcycles\u002Fdesign\u002Fc88-filter-add-modal.png",{"project":9,"projectLabel":10,"id":220,"num":221,"dir":222,"title":223,"focus":224,"status":16,"thumbnail":225,"started":226,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":156,"quietWeeks":139,"stale":24,"active":23},"c84",84,"c84.cycles-status-page","Cycles Status Page","Redesign `\u002Fcycles` into a living Design status surface - working now, decisions, seeds, blocked work, abandoned ideas, and the existing atlas","\u002Fcycles\u002Fdesign\u002Fc84-cycles-status-m1-workboard.png","2026-09-03",{"project":9,"projectLabel":10,"id":228,"num":229,"dir":230,"title":231,"focus":232,"status":16,"thumbnail":233,"started":154,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":156,"quietWeeks":139,"stale":24,"active":23},"c81",81,"c81.phase1-pages","Phase 1 Pages","First-pass mocks for all 17 Phase-1 dashboard pages (Linear PRO-19…35) on one unified fixture world — the simplest literal execution of the listing → expand → detail → actor-web pattern","\u002Fcycles\u002Fdesign\u002Fc81-accounts-clear.png",{"project":123,"projectLabel":124,"id":235,"num":236,"dir":237,"title":238,"focus":239,"status":16,"thumbnail":20,"started":226,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":156,"quietWeeks":157,"stale":24,"active":23},"c11",11,"c11.conversation-profiles","Conversation Profiles","Declare the nature of each conversation at triage (source type × call type), tag every observation with the speaker's perspective (first-hand \u002F relayed \u002F internal), enforce evidence ceilings and a code-computed validation gate, extract session records (decisions \u002F todos \u002F ideas) from working sessions, and formalize the conversations → insights → brief hand-off into the design machine.",{"project":9,"projectLabel":10,"id":241,"num":242,"dir":243,"title":244,"focus":20,"status":16,"thumbnail":20,"started":154,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":156,"quietWeeks":157,"stale":24,"active":23},"c76",76,"c76.simpler-light-dark-mode-colors","simpler light dark mode colors",{"project":246,"projectLabel":247,"id":248,"num":249,"dir":250,"title":251,"focus":252,"status":16,"thumbnail":20,"started":253,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":156,"quietWeeks":157,"stale":24,"active":23},"bob-wire","Bob-Wire","c21",21,"c21.inventory","Inventory + Users \u002F Devices","Design refinement of qcontrol's Inventory and Users\u002FDevices pages, driven by Mark Peterson advisor call","2026-08-31",{"project":9,"projectLabel":10,"id":255,"num":256,"dir":257,"title":258,"focus":259,"status":16,"thumbnail":20,"started":260,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":160,"quietWeeks":157,"stale":24,"active":23},"c80",80,"c80.brotli-stream-termination","brotli-stream-termination","qproxy MITM truncates streamed brotli response bodies — client apps show `Decompression error: BrotliDecompressionError`","2026-08-27",{"project":9,"projectLabel":10,"id":262,"num":263,"dir":264,"title":265,"focus":266,"status":38,"thumbnail":20,"started":267,"startedSource":19,"closed":268,"closedSource":19,"openWeeks":187,"quietWeeks":157,"stale":24,"active":23},"c78",78,"c78.fleet-overview-reports","fleet-overview-reports","Design the four product reports (Compliance, SLA Insights, Inventory, Board) and the fleet overview landing page as a summary of them.","2026-08-20","2026-11-03",{"project":9,"projectLabel":10,"id":270,"num":271,"dir":272,"title":273,"focus":274,"status":16,"thumbnail":20,"started":186,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":157,"stale":24,"active":23},"c72",72,"c72.integrations-create-manage","Integrations Create & Manage","Create\u002Fconfigure modal for 11 connectors with per-integration custom UI and step-by-step operator guidance",{"project":9,"projectLabel":10,"id":276,"num":277,"dir":278,"title":279,"focus":280,"status":16,"thumbnail":20,"started":186,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":157,"stale":24,"active":23},"c70",70,"c70.thesis-kindle","Thesis Kindle","Convert \"Looking In\" thesis to Kindle-compatible formats (EPUB + print-replica PDF) while preserving images and foundational status",{"project":9,"projectLabel":10,"id":282,"num":283,"dir":284,"title":285,"focus":286,"status":16,"thumbnail":287,"started":288,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":160,"quietWeeks":156,"stale":24,"active":23},"c79",79,"c79.finding-lifecycle","Finding Lifecycle","Mock the finding-lifecycle state machine and the mechanics\u002FUI of turning findings into SLA data — the design answer to c78's open resolution-workflow gap.","\u002Fcycles\u002Fdesign\u002Fc79-qdash-port-accept-risk.png","2026-08-25",{"project":9,"projectLabel":10,"id":290,"num":291,"dir":292,"title":293,"focus":294,"status":16,"thumbnail":295,"started":99,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":156,"stale":24,"active":23},"c68",68,"c68.index-overview","index-overview","Design the qdash landing page — what the user is greeted with on login, resolving the Fleet Overview \u002F Agent Inventory overlap.","\u002Fcycles\u002Fdesign\u002Fc68-index-glance-ideas.png",{"project":9,"projectLabel":10,"id":297,"num":298,"dir":299,"title":300,"focus":301,"status":16,"thumbnail":302,"started":267,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":187,"quietWeeks":160,"stale":24,"active":23},"c77",77,"c77.session-view","Session View","Session viewer \u002F replay mode for qcontrol AI agent sessions — mocks-first on the design site","\u002Fcycles\u002Fdesign\u002Fc77-session-anatomy-v1.png",{"project":123,"projectLabel":124,"id":304,"num":187,"dir":305,"title":306,"focus":307,"status":16,"thumbnail":20,"started":267,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":187,"quietWeeks":160,"stale":24,"active":23},"c8","c8.agent-pivot","Agent Pivot","Reorient pipeline and app around AI-agent-security pivot: archive phase 1, use-case-centric extraction, multi-source feedback, architecture debt paydown.",{"project":246,"projectLabel":247,"id":309,"num":310,"dir":311,"title":312,"focus":20,"status":16,"thumbnail":313,"started":186,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":187,"stale":24,"active":23},"c20",20,"c20.build-partner-portal","Build Partner Portal","\u002Fcycles\u002Fbob-wire\u002Fc20-index.png",{"project":246,"projectLabel":247,"id":315,"num":316,"dir":317,"title":318,"focus":20,"status":16,"thumbnail":319,"started":186,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":187,"stale":24,"active":23},"c17",17,"c17.owasp-policy-pack","OWASP LLM Top 10 — Policy Pack","\u002Fcycles\u002Fbob-wire\u002Fc17-control-definition.png",{"project":321,"projectLabel":322,"id":323,"num":157,"dir":324,"title":325,"focus":20,"status":16,"thumbnail":326,"started":186,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":187,"stale":24,"active":23},"qpixel","Qpixel","c5","c5.selection-clipboard","Selection Clipboard","\u002Fcycles\u002Fqpixel\u002Fc5-editor.png",{"project":321,"projectLabel":322,"id":167,"num":139,"dir":328,"title":329,"focus":20,"status":16,"thumbnail":330,"started":186,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":187,"stale":24,"active":23},"c4.svg-export","SVG Export","\u002Fcycles\u002Fqpixel\u002Fc4-checkerboard.png",{"project":9,"projectLabel":10,"id":332,"num":333,"dir":334,"title":335,"focus":336,"status":16,"thumbnail":337,"started":338,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":187,"stale":24,"active":23},"c65",65,"c65.control-center-v2","control-center-v2","Shift the control center from infinitely-configurable controls to a compliance-driven system of pre-defined Policies — research the framework↔policy connection, then mock the policy catalog and per-policy config pages","\u002Fcycles\u002Fdesign\u002Fc65-compliance-frameworks.png","2026-08-12",{"project":9,"projectLabel":10,"id":340,"num":341,"dir":342,"title":343,"focus":344,"status":16,"thumbnail":345,"started":346,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":100,"quietWeeks":187,"stale":24,"active":23},"c64",64,"c64.control-center-consolidation","control-center-consolidation","Consolidate the overlapping Control Center \u002F Policy & Enforcement \u002F Compliance work — current-state evaluation, ranked consolidation plan, initial-ideas mock","\u002Fcycles\u002Fdesign\u002Fc64-control-center-ideas.png","2026-08-10",{"project":246,"projectLabel":247,"id":348,"num":349,"dir":350,"title":351,"focus":352,"status":16,"thumbnail":20,"started":353,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":236,"quietWeeks":187,"stale":24,"active":23},"c19",19,"c19.ai-asset-inventory","AI Asset Inventory","Precedent research for an AI asset inventory page — how existing products present inventories of agents, MCP servers, files, models, and related AI assets","2026-07-31",{"project":355,"projectLabel":356,"id":125,"num":126,"dir":357,"title":358,"focus":359,"status":16,"thumbnail":360,"started":361,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":236,"quietWeeks":187,"stale":24,"active":23},"qflow","Qflow","c12.qcontrol-live-view","qcontrol-live-view","Live qflow visualization of qcontrol agent events — agents pulsing to event-type nodes, fed by qdash SSE, with a growing timeline scrubber","\u002Fcycles\u002Fqflow\u002Fc12-agents-packed.png","2026-07-29",{"project":246,"projectLabel":247,"id":363,"num":364,"dir":365,"title":366,"focus":367,"status":16,"thumbnail":20,"started":203,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":126,"quietWeeks":187,"stale":24,"active":23},"c18",18,"c18.post-mortem-map","Post-Mortem Map","Post-mortem incident map — visualizing an incident that already occurred: the actors involved (user, agent, MCP servers, files, repos) and their state, on an incident page alongside traditional detail sections",{"project":246,"projectLabel":247,"id":369,"num":370,"dir":371,"title":372,"focus":20,"status":16,"thumbnail":373,"started":374,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":364,"quietWeeks":187,"stale":24,"active":23},"c15",15,"c15.agent-dashboard","Agent Dashboard","\u002Fcycles\u002Fbob-wire\u002Fc15-index.png","2026-06-09",{"project":246,"projectLabel":247,"id":376,"num":377,"dir":378,"title":379,"focus":20,"status":16,"thumbnail":380,"started":381,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":349,"quietWeeks":187,"stale":24,"active":23},"c16",16,"c16.agent-control-plane","Agent Control Plane","\u002Fcycles\u002Fbob-wire\u002Fc16-control-plane-integrations.png","2026-06-04",{"project":246,"projectLabel":247,"id":383,"num":384,"dir":385,"title":386,"focus":20,"status":16,"thumbnail":387,"started":388,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":389,"quietWeeks":187,"stale":24,"active":23},"c14",14,"c14.qcontrol-brochure-site","QControl Brochure Site","\u002Fcycles\u002Fbob-wire\u002Fc14-index.png","2026-05-11",22,{"project":246,"projectLabel":247,"id":391,"num":392,"dir":393,"title":394,"focus":20,"status":16,"thumbnail":395,"started":388,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":389,"quietWeeks":187,"stale":24,"active":23},"c13",13,"c13.ai-agent-policies","AI Agent Policies","\u002Fcycles\u002Fbob-wire\u002Fc13-index.png",{"project":397,"projectLabel":398,"id":399,"num":400,"dir":401,"title":402,"focus":403,"status":16,"thumbnail":404,"started":405,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":406,"quietWeeks":187,"stale":24,"active":23},"qmap","Qmap","c27",27,"c27.mcp-server-fleet","mcp-server-fleet","Deterministic synthetic MCP server fleet views for screenshot capture","\u002Fcycles\u002Fqmap\u002Fc27-callers-selected.png","2026-05-04",23,{"project":397,"projectLabel":398,"id":408,"num":409,"dir":410,"title":411,"focus":412,"status":16,"thumbnail":20,"started":413,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":414,"quietWeeks":187,"stale":24,"active":23},"c26",26,"c26.flatland-view","flatland-view","Add a `flatland` view (topdown camera + pitched 3D models) for VOX\u002FOBJ-backed actors","2026-04-28",24,{"project":246,"projectLabel":247,"id":125,"num":126,"dir":416,"title":417,"focus":20,"status":16,"thumbnail":418,"started":419,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":420,"quietWeeks":187,"stale":24,"active":23},"c12.inventory-deep-dive","Inventory Deep Dive","\u002Fcycles\u002Fbob-wire\u002Fc12-index.png","2026-04-24",25,{"project":246,"projectLabel":247,"id":422,"num":196,"dir":423,"title":424,"focus":20,"status":16,"thumbnail":425,"started":426,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":420,"quietWeeks":187,"stale":24,"active":23},"c10","c10.security-overview-benchmark","Security Overview Benchmark","\u002Fcycles\u002Fbob-wire\u002Fc10-index.png","2026-04-22",{"project":397,"projectLabel":398,"id":428,"num":420,"dir":429,"title":430,"focus":431,"status":16,"thumbnail":432,"started":433,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":420,"quietWeeks":187,"stale":24,"active":23},"c25","c25.ai-ecosystem-inventory-map","ai-ecosystem-inventory-map","Build a qmap inventory\u002Findex view of the company-wide AI ecosystem using deterministic synthetic data first","\u002Fcycles\u002Fqmap\u002Fc25-ai-ecosystem-inventory-map.png","2026-04-21",{"project":246,"projectLabel":247,"id":435,"num":100,"dir":436,"title":437,"focus":20,"status":16,"thumbnail":438,"started":439,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":420,"quietWeeks":187,"stale":24,"active":23},"c9","c9.meaning-layer-dashboard","Meaning-Layer Dashboard","\u002Fcycles\u002Fbob-wire\u002Fc9-index.png","2026-04-20",{"project":397,"projectLabel":398,"id":441,"num":414,"dir":442,"title":443,"focus":444,"status":16,"thumbnail":445,"started":446,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":409,"quietWeeks":187,"stale":24,"active":23},"c24","c24.synthetic-live-session-replay","synthetic-live-session-replay","Build a deterministic synthetic replay path for live-feeling qmap sessions","\u002Fcycles\u002Fqmap\u002Fc24-complete.png","2026-04-17",{"project":397,"projectLabel":398,"id":448,"num":406,"dir":449,"title":450,"focus":451,"status":16,"thumbnail":452,"started":446,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":409,"quietWeeks":187,"stale":24,"active":23},"c23","c23.custom-obj-models","custom-obj-models","Validate import, normalization, and rendering of custom `.obj` actor models in qmap","\u002Fcycles\u002Fqmap\u002Fc23-cowboy.png",{"project":397,"projectLabel":398,"id":454,"num":389,"dir":455,"title":456,"focus":457,"status":16,"thumbnail":458,"started":459,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":409,"quietWeeks":187,"stale":24,"active":23},"c22","c22.runtime-session-map","runtime-session-map","Visualize a single qcontrol runtime session as a qmap entity-type topology","\u002Fcycles\u002Fqmap\u002Fc22-fileheavy.png","2026-04-15",{"project":397,"projectLabel":398,"id":248,"num":249,"dir":461,"title":462,"focus":463,"status":16,"thumbnail":464,"started":465,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":466,"quietWeeks":187,"stale":24,"active":23},"c21.ai-session-map","ai-session-map","Visualize a single AI agent session as a qmap entity-type topology","\u002Fcycles\u002Fqmap\u002Fc21-ai-session-map.png","2026-04-03",28,{"project":246,"projectLabel":247,"id":167,"num":139,"dir":468,"title":469,"focus":20,"status":16,"thumbnail":470,"started":471,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":466,"quietWeeks":187,"stale":24,"active":23},"c4.aii-agents-entity","AI Agents Entity","\u002Fcycles\u002Fbob-wire\u002Fc4-agent-sessions.png","2026-04-01",{"project":355,"projectLabel":356,"id":422,"num":196,"dir":473,"title":474,"focus":20,"status":16,"thumbnail":475,"started":476,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":477,"quietWeeks":187,"stale":24,"active":23},"c10.real-data","Real Data","\u002Fcycles\u002Fqflow\u002Fc10-devtools-iso.png","2026-03-23",29,{"project":355,"projectLabel":356,"id":304,"num":187,"dir":479,"title":480,"focus":20,"status":16,"thumbnail":481,"started":476,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":477,"quietWeeks":187,"stale":24,"active":23},"c8.label-controls","label controls","\u002Fcycles\u002Fqflow\u002Fc8-bottom-warm.png",{"project":246,"projectLabel":247,"id":173,"num":91,"dir":483,"title":484,"focus":20,"status":16,"thumbnail":485,"started":476,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":477,"quietWeeks":187,"stale":24,"active":23},"c3.dataflows","Dataflows","\u002Fcycles\u002Fbob-wire\u002Fc3-dataflows-overview.png",{"project":246,"projectLabel":247,"id":487,"num":21,"dir":488,"title":489,"focus":490,"status":16,"thumbnail":491,"started":492,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":493,"quietWeeks":187,"stale":24,"active":23},"c1","c1.situation-room","Situation Room","Situation Room wireframe — problem-space command center for data governance","\u002Fcycles\u002Fbob-wire\u002Fc1-index.png","2026-03-03",32,{"project":9,"projectLabel":10,"id":495,"num":496,"dir":497,"title":498,"focus":499,"status":500,"thumbnail":501,"started":502,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":236,"quietWeeks":100,"stale":24,"active":23},"c59",59,"c59.inventory","inventory","Design qdash inventory page to surface agent status and footprint at a glance","flagged","\u002Fcycles\u002Fdesign\u002Fc59-agent-detail-v2.png","2026-08-02",{"project":9,"projectLabel":10,"id":504,"num":505,"dir":506,"title":507,"focus":508,"status":500,"thumbnail":509,"started":510,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":392,"quietWeeks":100,"stale":24,"active":23},"c51",51,"c51.app-consolidation","App Consolidation","Understand the fractured qcontrol app ecosystem and consolidate it into a simple, clean, demoable product on a Nuxt + q-nuxt-layer front-end","\u002Farchive\u002F2026-q3\u002Fc51-consolidation-gaps.png","2026-07-14",{"project":512,"projectLabel":513,"id":514,"num":156,"dir":515,"title":516,"focus":20,"status":16,"thumbnail":20,"started":517,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":310,"quietWeeks":349,"stale":24,"active":23},"www","www.qpoint.io","c6","c6.combined-index","Combined Index Page","2026-05-27",{"project":512,"projectLabel":513,"id":167,"num":139,"dir":519,"title":520,"focus":20,"status":16,"thumbnail":20,"started":517,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":310,"quietWeeks":349,"stale":24,"active":23},"c4.case-studies","AI Agent Incident Case Studies",{"project":512,"projectLabel":513,"id":173,"num":91,"dir":522,"title":523,"focus":20,"status":16,"thumbnail":20,"started":517,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":310,"quietWeeks":349,"stale":24,"active":23},"c3.the-problem-page","The Problem Page + PocketOS Case Study",{"project":512,"projectLabel":513,"id":323,"num":157,"dir":525,"title":526,"focus":527,"status":16,"thumbnail":20,"started":528,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":249,"quietWeeks":349,"stale":24,"active":23},"c5.cookie-consent-audit","Cookie Consent Audit & Fix","Audit and fix cookie consent persistence so decisions survive deploys","2026-05-21",{"project":512,"projectLabel":513,"id":530,"num":55,"dir":531,"title":532,"focus":20,"status":16,"thumbnail":20,"started":533,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":249,"quietWeeks":310,"stale":24,"active":23},"c2","c2.brochure-site-q2","Brochure Site Q2 Redesign","2026-05-20",{"project":512,"projectLabel":513,"id":487,"num":21,"dir":535,"title":536,"focus":537,"status":16,"thumbnail":20,"started":388,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":389,"quietWeeks":310,"stale":24,"active":23},"c1.q-nuxt-layer-integration","Q Nuxt Layer Integration","Complete q-nuxt-layer integration for www.qpoint.io and deploy",{"project":246,"projectLabel":247,"id":235,"num":236,"dir":539,"title":540,"focus":20,"status":16,"thumbnail":20,"started":541,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":420,"quietWeeks":389,"stale":24,"active":23},"c11.pixel-character-system","Pixel Character System","2026-04-23",{"project":9,"projectLabel":10,"id":543,"num":544,"dir":545,"title":546,"focus":547,"status":500,"thumbnail":20,"started":433,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":420,"quietWeeks":389,"stale":24,"active":23},"c44",44,"c44.figma-ai-dashboard-redesign","Figma AI Dashboard Redesign","Establish a clean Figma-first source of truth for the dashboard redesign by modeling a flexible visual component API, then use AI to accelerate exploration without polluting the design system",{"project":9,"projectLabel":10,"id":549,"num":550,"dir":551,"title":552,"focus":553,"status":500,"thumbnail":20,"started":446,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":409,"quietWeeks":389,"stale":24,"active":23},"c42",42,"c42.runtime-session-map-publishing","Runtime Session Map Publishing","Define the design-app-native publish path for the qmap runtime-session map without starting implementation before qmap is ready",{"project":9,"projectLabel":10,"id":555,"num":556,"dir":557,"title":558,"focus":559,"status":500,"thumbnail":560,"started":446,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":409,"quietWeeks":389,"stale":24,"active":23},"c41",41,"c41.signal-column-flow","Signal Column Flow","Prototype a column-based evidence ladder that moves from noisy session signal to reduced entities, actions, and provisional outcomes","\u002Farchive\u002F2026-q3\u002Fc41-signal-column-flow.png",{"project":355,"projectLabel":356,"id":435,"num":100,"dir":562,"title":563,"focus":564,"status":16,"thumbnail":20,"started":565,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":566,"quietWeeks":466,"stale":24,"active":23},"c9.dev-tools-integration","c9 · dev-tools-integration","Integrate qflow with qtap dev-tools in app.qpoint.io — qflow as bird's-eye view, dev-tools as detail inspector, fed by live production SSE traffic.","2026-03-16",30,{"project":9,"projectLabel":10,"id":304,"num":187,"dir":568,"title":569,"focus":20,"status":16,"thumbnail":20,"started":570,"startedSource":155,"closed":20,"closedSource":20,"openWeeks":571,"quietWeeks":566,"stale":24,"active":23},"c8.sharing-design-philosophy","Sharing Design Philosophy","2026-03-13",31,{"project":573,"projectLabel":574,"id":530,"num":55,"dir":575,"title":576,"focus":577,"status":16,"thumbnail":20,"started":578,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":493,"quietWeeks":566,"stale":24,"active":23},"app","app.qpoint.io","c2.mcp-apps","MCP Apps","Add AI assistant UI to app.qpoint.io with shared Vue components usable as MCP Apps","2026-03-05",{"project":573,"projectLabel":574,"id":487,"num":21,"dir":580,"title":581,"focus":582,"status":16,"thumbnail":20,"started":583,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":178,"quietWeeks":566,"stale":24,"active":23},"c1.documentation-cleanup","documentation-cleanup","Improve component documentation quality with better examples and human-AI collaborative workflow","2026-02-19",[585],{"project":9,"projectLabel":10,"id":33,"num":34,"dir":35,"title":36,"focus":37,"status":38,"thumbnail":20,"started":4,"startedSource":19,"closed":39,"closedSource":19,"openWeeks":21,"quietWeeks":22,"stale":23,"active":24},[587,647,661,683,801,855,892,952,1064,1124,1232,1323,1360,1389,1410,1572,1716,1770,1807,1851,1894,2006,2019,2040,2078,2197,2295,2309,2323,2373,2395,2425,2463,2492,2560,2636,2688,2724,2781,2866,2925,2983,3065,3107,3159,3211,3260,3290,3335,3364,3422],{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":588,"long":24,"ast":589},"kick-off",{"type":590,"children":591},"root",[592],{"type":593,"tag":594,"props":595,"children":596},"element","p",{},[597,604,606,613,615,622,624,630,631,637,639,645],{"type":593,"tag":598,"props":599,"children":600},"strong",{},[601],{"type":602,"value":603},"text","kick-off (2026-10-09):",{"type":602,"value":605}," the playbook thread became this cycle (",{"type":593,"tag":607,"props":608,"children":610},"a",{"href":609},"\u002Fcycles\u002Fdesign\u002Fc114\u002Fdoc\u002Finitial-prompt",[611],{"type":602,"value":612},"initial-prompt.md",{"type":602,"value":614},"). Read all fourteen intents plus README; grounded against qdash's current contract types (",{"type":593,"tag":616,"props":617,"children":619},"code",{"className":618},[],[620],{"type":602,"value":621},"Finding",{"type":602,"value":623},", ",{"type":593,"tag":616,"props":625,"children":627},{"className":626},[],[628],{"type":602,"value":629},"FindingWorkflow",{"type":602,"value":623},{"type":593,"tag":616,"props":632,"children":634},{"className":633},[],[635],{"type":602,"value":636},"Control",{"type":602,"value":638},"), its four governance pages and seven API routes, the design site's c64\u002Fc65\u002Fc79 mocks, the layer's security\u002Fcompliance\u002Fdata parts, and seven matching problems in the registry. Plan written with six phases (",{"type":593,"tag":607,"props":640,"children":642},{"href":641},"\u002Fcycles\u002Fdesign\u002Fc114\u002Fdoc\u002Fplan",[643],{"type":602,"value":644},"plan.md",{"type":602,"value":646},").",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":648,"long":23,"ast":649},"rulings",{"type":590,"children":650},[651],{"type":593,"tag":594,"props":652,"children":653},{},[654,659],{"type":593,"tag":598,"props":655,"children":656},{},[657],{"type":602,"value":658},"rulings (2026-10-09):",{"type":602,"value":660}," D1–D6 ruled in conversation (CSS specificity, forward-only re-evaluation that can reopen, two enforcement states, the intents' words, all eight mocks, design leads).",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":662,"long":24,"ast":663},"Phase 0",{"type":590,"children":664},[665],{"type":593,"tag":594,"props":666,"children":667},{},[668,673,675,681],{"type":593,"tag":598,"props":669,"children":670},{},[671],{"type":602,"value":672},"Phase 0 (2026-10-09):",{"type":602,"value":674}," ",{"type":593,"tag":607,"props":676,"children":678},{"href":677},"\u002Fcycles\u002Fdesign\u002Fc114\u002Fdoc\u002Fobject-model",[679],{"type":602,"value":680},"object-model.md",{"type":602,"value":682}," written: the invariant, the chain, eleven objects with stored\u002Fderived split, relationship table, five lifecycles, what each ruling does to the model, the fixture world (three stories from the intents' own examples), the crosswalk (intents ↔ qdash contract ↔ design-site mocks ↔ layer), seven gaps for the intents repo, and the Source note mapping intents to seven registry problems. Awaiting Mark's read and Mark Peterson's \"that is what I meant.\"",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":684,"long":24,"ast":685},"Phase 1",{"type":590,"children":686},[687],{"type":593,"tag":594,"props":688,"children":689},{},[690,695,697,703,705,711,713,719,721,727,729,735,737,743,745,751,753,759,761,767,769,775,777,783,785,791,793,799],{"type":593,"tag":598,"props":691,"children":692},{},[693],{"type":602,"value":694},"Phase 1 (2026-10-09):",{"type":602,"value":696}," the model on a page. ",{"type":593,"tag":616,"props":698,"children":700},{"className":699},[],[701],{"type":602,"value":702},"app\u002Fdata\u002Fgovernance-fixture.ts",{"type":602,"value":704}," (the three stories as one world; pure functions ",{"type":593,"tag":616,"props":706,"children":708},{"className":707},[],[709],{"type":602,"value":710},"applicability()",{"type":602,"value":712}," for D1, ",{"type":593,"tag":616,"props":714,"children":716},{"className":715},[],[717],{"type":602,"value":718},"foldFinding()",{"type":602,"value":720}," over append-only FindingEvents, ",{"type":593,"tag":616,"props":722,"children":724},{"className":723},[],[725],{"type":602,"value":726},"applyChange()",{"type":602,"value":728}," + re-evaluation for D2\u002FD3, ",{"type":593,"tag":616,"props":730,"children":732},{"className":731},[],[733],{"type":602,"value":734},"coverage()",{"type":602,"value":736}," for frameworks; rulings are inputs, ",{"type":593,"tag":616,"props":738,"children":740},{"className":739},[],[741],{"type":602,"value":742},"RULED",{"type":602,"value":744}," the defaults) and ",{"type":593,"tag":616,"props":746,"children":748},{"className":747},[],[749],{"type":602,"value":750},"\u002Fpages\u002Fphase4\u002Fgovernance-model",{"type":602,"value":752}," (rulings as switches, the chain with live counts, ten object cards stored-vs-derived, the Vanta story run to its end in seven frames, the lifecycle organ, the effective-policies probe, derived coverage). Verified in the browser: the story reaches its end under every ruling and the alternatives differ where the intents say they should (broad wins: the Team A exception loses and A is only resolved by enforcement; manual only: A waits for a person; config is proof: B resolves on publish). Three captures via ",{"type":593,"tag":616,"props":754,"children":756},{"className":755},[],[757],{"type":602,"value":758},"scripts\u002Fshot-programs\u002Fc114-governance-model.json",{"type":602,"value":760}," (ruled, d1=broad-wins, d3=config-is-proof), subject ",{"type":593,"tag":616,"props":762,"children":764},{"className":763},[],[765],{"type":602,"value":766},"page\u002Fgovernance-model",{"type":602,"value":768},". Registered in ",{"type":593,"tag":616,"props":770,"children":772},{"className":771},[],[773],{"type":602,"value":774},"page-registry.ts",{"type":602,"value":776}," under collapse ",{"type":593,"tag":616,"props":778,"children":780},{"className":779},[],[781],{"type":602,"value":782},"c114-governance",{"type":602,"value":784},"; moved from ",{"type":593,"tag":616,"props":786,"children":788},{"className":787},[],[789],{"type":602,"value":790},"_meta",{"type":602,"value":792}," to the new Phase 4 the same afternoon (D7) with a Phase 4 index and a card on ",{"type":593,"tag":616,"props":794,"children":796},{"className":795},[],[797],{"type":602,"value":798},"\u002Fpages",{"type":602,"value":800},", and recaptured at the new route. Committed as d84d131ac.",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":802,"long":24,"ast":803},"Phase 2",{"type":590,"children":804},[805],{"type":593,"tag":594,"props":806,"children":807},{},[808,813,815,821,823,829,831,837,839,845,847,853],{"type":593,"tag":598,"props":809,"children":810},{},[811],{"type":602,"value":812},"Phase 2 (2026-10-09):",{"type":602,"value":814}," the surface map. ",{"type":593,"tag":607,"props":816,"children":818},{"href":817},"\u002Fcycles\u002Fdesign\u002Fc114\u002Fdoc\u002Fsurface-map",[819],{"type":602,"value":820},"surface-map.md",{"type":602,"value":822},": homes (one per object; Scope, Enforcement, Exceptions and Change deliberately not pages), traversals (one per relationship), the intents × surfaces matrix (every intent has one primary surface; re-evaluation shows as organ rows and preview counts), the Govern rail proposal (Findings · Policies & Frameworks with Policies \u002F Frameworks \u002F Groups views; ",{"type":593,"tag":616,"props":824,"children":826},{"className":825},[],[827],{"type":602,"value":828},"\u002Fcompliance",{"type":602,"value":830}," redirects), the eight surfaces as blocks with what carries over, what is new and the four states each mock renders, the organ's placement, the five-question check per surface, and the open questions the mocks will settle. Rendered as grey boxes at ",{"type":593,"tag":616,"props":832,"children":834},{"className":833},[],[835],{"type":602,"value":836},"\u002Fpages\u002Fphase4\u002Fgovernance-wireframes",{"type":602,"value":838}," (registry ",{"type":593,"tag":616,"props":840,"children":842},{"className":841},[],[843],{"type":602,"value":844},"governance-wireframes",{"type":602,"value":846},", captured as ",{"type":593,"tag":616,"props":848,"children":850},{"className":849},[],[851],{"type":602,"value":852},"c114-governance-wireframes",{"type":602,"value":854},"). Committed as 2465c12c8.",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":856,"long":24,"ast":857},"Phase 3 · S1 Finding detail",{"type":590,"children":858},[859],{"type":593,"tag":594,"props":860,"children":861},{},[862,867,868,874,876,882,884,890],{"type":593,"tag":598,"props":863,"children":864},{},[865],{"type":602,"value":866},"Phase 3 · S1 Finding detail (2026-10-09):",{"type":602,"value":674},{"type":593,"tag":616,"props":869,"children":871},{"className":870},[],[872],{"type":602,"value":873},"\u002Fpages\u002Fphase4\u002Ffinding-detail",{"type":602,"value":875}," on the fixture world at the story's end, four states by ",{"type":593,"tag":616,"props":877,"children":879},{"className":878},[],[880],{"type":602,"value":881},"?findingId=",{"type":602,"value":883}," (F-A typical · F-S01 minimal · F-S04 overflow · F-NOPE unknown). Blocks per surface-map.md: crumb + header with Resolve ▾, the band, What happened (sunken, immutable), Why it violates (computed: paths, exceptions considered, still a violation now), the lifecycle organ, related findings, the Respond aside with derived reach. Ignore (required duration, the blank-reason warning with Confirm \u002F Cancel \u002F Don't ask again, then Done \u002F Create an exception) and Create exception (scope picker with specificity, derived preview, re-evaluation) act for real against a page-local world; verified in the browser on F-S04: the organ gained its rows, the finding went Resolved: ignore, then the exception made it Allowed and \"still a violation\" turned no. Fixture gained the overflow history (F-S04: two Ignores, expiry, revoke, Enforced, reopen on CH-G1, a third Ignore revoked) and a Team GRC observe entry. Four captures. S1 reuse inventory in surface-map.md §5. Lesson: the design dev server served a stale transform of the new page (no edit after creation reached it; an unchanged ",{"type":593,"tag":616,"props":885,"children":887},{"className":886},[],[888],{"type":602,"value":889},"touch nuxt.config.ts",{"type":602,"value":891}," did nothing; a real one-line config change restarted it in place and fixed it, reverted after). Committed as b9b7e3f14.",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":893,"long":24,"ast":894},"Phase 3 · S2 Findings",{"type":590,"children":895},[896],{"type":593,"tag":594,"props":897,"children":898},{},[899,904,905,911,913,919,921,927,929,935,936,942,944,950],{"type":593,"tag":598,"props":900,"children":901},{},[902],{"type":602,"value":903},"Phase 3 · S2 Findings (2026-10-09):",{"type":602,"value":674},{"type":593,"tag":616,"props":906,"children":908},{"className":907},[],[909],{"type":602,"value":910},"\u002Fpages\u002Fphase4\u002Ffindings",{"type":602,"value":912}," from the live listing's pieces per the D8 inventory: the four severity cards (past SLA fourth), the filter bar on URL state (",{"type":593,"tag":616,"props":914,"children":916},{"className":915},[],[917],{"type":602,"value":918},"?status=&sev=&fw=&policy=&team=&q=&view=",{"type":602,"value":920},"), group rows per policy (severity tag with ink while open, ribbon, severity cells, harness pills, framework tags, sorters) with the policy section and the member rows on expand, and the adjudication card (subject · applies via · clock with Ignore \u002F Create exception \u002F Block, evidence beside the lifecycle) with Ignore live. Changed: Open and Resolved as independent toggles (Open default), Grouped ⇄ Individual on the ink switch, the group header linking to the policy, a status \u002F resolution column and a last-event cell, the finding id linking to S1; the handling select retired; groups with nothing under the filters disappear and the page says how many. Fixture gained ",{"type":593,"tag":616,"props":922,"children":924},{"className":923},[],[925],{"type":602,"value":926},"frameworksFor",{"type":602,"value":928},", the c79 SLA clock (",{"type":593,"tag":616,"props":930,"children":932},{"className":931},[],[933],{"type":602,"value":934},"slaClock",{"type":602,"value":623},{"type":593,"tag":616,"props":937,"children":939},{"className":938},[],[940],{"type":602,"value":941},"SLA_RUBRIC",{"type":602,"value":943},") and ",{"type":593,"tag":616,"props":945,"children":947},{"className":946},[],[948],{"type":602,"value":949},"withOverflow",{"type":602,"value":951}," (400 deterministic findings). Seven captures: default, with-resolved, individual, filtered, empty, overflow, expanded (group open, first member's card). Verified in the browser: expand, the card, the Ignore warning and Confirm (the row leaves the Open view and returns under Resolved). Committed as 5429239a2; deployed the same afternoon.",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":953,"long":24,"ast":954},"Phase 3 · S3 Policy detail",{"type":590,"children":955},[956],{"type":593,"tag":594,"props":957,"children":958},{},[959,964,965,971,973,979,981,987,989,995,997,1003,1004,1010,1012,1018,1020,1026,1028,1034,1035,1041,1042,1048,1049,1055,1056,1062],{"type":593,"tag":598,"props":960,"children":961},{},[962],{"type":602,"value":963},"Phase 3 · S3 Policy detail (2026-10-09):",{"type":602,"value":674},{"type":593,"tag":616,"props":966,"children":968},{"className":967},[],[969],{"type":602,"value":970},"\u002Fpages\u002Fphase4\u002Fpolicy-detail",{"type":602,"value":972},", four states by ",{"type":593,"tag":616,"props":974,"children":976},{"className":975},[],[977],{"type":602,"value":978},"?policyId=",{"type":602,"value":980}," (P-MCP typical · P-SENS-SANITIZE rich · P-TRANSPORT applied nowhere · P-NOPE unknown). The layer shell's header, meta strip and condition disclosure copied where they fit (its Exceptions block is not seated: old scope words, no resource; a slot is the layer follow-up); beneath: Definition, Severity as the recommended \u002F configured pair with Set and Reset (live), Where it applies as scope paths with specificity, enforcement at each scope, population, overlap and conflict callouts and the effective-for-a-person probe, Enforcement per scope with reach and observe-first guidance, Exceptions (resource · scope · reason · until · by · revoke), Groups, Frameworks as mapped requirements, Findings, History as the organ. Every section tagged with its delivery phase (Mark Peterson's 2 Foundation \u002F 3 Organization \u002F 4 Applicability). The change sheet is S6 and S8b drawn in place: add \u002F remove scope, enforce \u002F observe per scope, add \u002F revoke exception; ",{"type":593,"tag":616,"props":982,"children":984},{"className":983},[],[985],{"type":602,"value":986},"previewChange()",{"type":602,"value":988}," dry-runs the change on a clone and reports population, reach (broadens \u002F narrows), duplicate paths, equal-specificity conflicts (apply blocked until resolved), findings that resolve \u002F reopen \u002F resolve as Enforced, and the observe-first counts; the audit line shows the History row it adds. Fixture: ",{"type":593,"tag":616,"props":990,"children":992},{"className":991},[],[993],{"type":602,"value":994},"why",{"type":602,"value":996}," · ",{"type":593,"tag":616,"props":998,"children":1000},{"className":999},[],[1001],{"type":602,"value":1002},"fails",{"type":602,"value":996},{"type":593,"tag":616,"props":1005,"children":1007},{"className":1006},[],[1008],{"type":602,"value":1009},"rule",{"type":602,"value":1011}," on every policy, P-TRANSPORT (no scope), ",{"type":593,"tag":616,"props":1013,"children":1015},{"className":1014},[],[1016],{"type":602,"value":1017},"scope-add",{"type":602,"value":1019}," \u002F ",{"type":593,"tag":616,"props":1021,"children":1023},{"className":1022},[],[1024],{"type":602,"value":1025},"scope-remove",{"type":602,"value":1027}," changes, ",{"type":593,"tag":616,"props":1029,"children":1031},{"className":1030},[],[1032],{"type":602,"value":1033},"scopeRows",{"type":602,"value":623},{"type":593,"tag":616,"props":1036,"children":1038},{"className":1037},[],[1039],{"type":602,"value":1040},"overlaps",{"type":602,"value":623},{"type":593,"tag":616,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":602,"value":1047},"policyHistory",{"type":602,"value":623},{"type":593,"tag":616,"props":1050,"children":1052},{"className":1051},[],[1053],{"type":602,"value":1054},"previewChange",{"type":602,"value":623},{"type":593,"tag":616,"props":1057,"children":1059},{"className":1058},[],[1060],{"type":602,"value":1061},"scopeValues",{"type":602,"value":1063},". Five captures including the sheet open. Verified in the browser: the sheet's preview and apply (Team: Legal added, History row), severity Reset, the Enforce and Create exception previews. Committed as 5a797bbb8.",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":1065,"long":24,"ast":1066},"Phase 3 · S4 Policies & Frameworks",{"type":590,"children":1067},[1068],{"type":593,"tag":594,"props":1069,"children":1070},{},[1071,1076,1077,1083,1085,1091,1093,1099,1101,1107,1109,1115,1116,1122],{"type":593,"tag":598,"props":1072,"children":1073},{},[1074],{"type":602,"value":1075},"Phase 3 · S4 Policies & Frameworks (2026-10-09):",{"type":602,"value":674},{"type":593,"tag":616,"props":1078,"children":1080},{"className":1079},[],[1081],{"type":602,"value":1082},"\u002Fpages\u002Fphase4\u002Fpolicies",{"type":602,"value":1084},", one area with three views on the ink switch (",{"type":593,"tag":616,"props":1086,"children":1088},{"className":1087},[],[1089],{"type":602,"value":1090},"?view=policies|frameworks|groups",{"type":602,"value":1092},"). Policies: the Control Center's category sections and rows kept (D8); severity as effective with the recommended value and an inline Reset (live); the activation toggle replaced by an Applies column (organization-wide · N groups · Not in scope) with the enforcement summary; framework tags; open findings → S2; group by Category ⇄ Policy Group (then \"Not in any group\"); chips for severity, capability, in scope, framework; search. Frameworks: the Compliance listing's row kept; one list with Tracked (live, changes no policy); derived coverage counts per framework; open findings through mapped policies. Groups: S7's list (policies · scope with population · state · enforcement summary · open; New group, Duplicate as seams). Fixture: ",{"type":593,"tag":616,"props":1094,"children":1096},{"className":1095},[],[1097],{"type":602,"value":1098},"tracked",{"type":602,"value":1100}," on Framework, ",{"type":593,"tag":616,"props":1102,"children":1104},{"className":1103},[],[1105],{"type":602,"value":1106},"framework-track",{"type":602,"value":1108}," change, ",{"type":593,"tag":616,"props":1110,"children":1112},{"className":1111},[],[1113],{"type":602,"value":1114},"applicabilitySummary",{"type":602,"value":623},{"type":593,"tag":616,"props":1117,"children":1119},{"className":1118},[],[1120],{"type":602,"value":1121},"withManyPolicies",{"type":602,"value":1123}," (the 69-policy overflow). Seven captures. Verified in the browser: Reset clears the override, group-by shows the four groups then the ungrouped, Track flips ISO to Tracked. Committed as 81a127765.",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":1125,"long":24,"ast":1126},"Phase 3 · S5 Framework detail",{"type":590,"children":1127},[1128],{"type":593,"tag":594,"props":1129,"children":1130},{},[1131,1136,1137,1143,1145,1151,1153,1159,1161,1167,1169,1175,1177,1183,1185,1191,1193,1199,1201,1207,1209,1215,1217,1223,1224,1230],{"type":593,"tag":598,"props":1132,"children":1133},{},[1134],{"type":602,"value":1135},"Phase 3 · S5 Framework detail (2026-10-09):",{"type":602,"value":674},{"type":593,"tag":616,"props":1138,"children":1140},{"className":1139},[],[1141],{"type":602,"value":1142},"\u002Fpages\u002Fphase4\u002Fframework-detail",{"type":602,"value":1144},", five states (",{"type":593,"tag":616,"props":1146,"children":1148},{"className":1147},[],[1149],{"type":602,"value":1150},"?frameworkId=owasp-llm",{"type":602,"value":1152}," typical · ",{"type":593,"tag":616,"props":1154,"children":1156},{"className":1155},[],[1157],{"type":602,"value":1158},"iso-27001",{"type":602,"value":1160}," untracked · ",{"type":593,"tag":616,"props":1162,"children":1164},{"className":1163},[],[1165],{"type":602,"value":1166},"soc2",{"type":602,"value":1168}," no mapped policies · ",{"type":593,"tag":616,"props":1170,"children":1172},{"className":1171},[],[1173],{"type":602,"value":1174},"iso-27001&state=overflow",{"type":602,"value":1176}," 93 controls · ",{"type":593,"tag":616,"props":1178,"children":1180},{"className":1179},[],[1181],{"type":602,"value":1182},"NOPE",{"type":602,"value":1184},"). Mark's steer: the earlier framework page (qdash ",{"type":593,"tag":616,"props":1186,"children":1188},{"className":1187},[],[1189],{"type":602,"value":1190},"\u002Fframework",{"type":602,"value":1192},", c56 mock) is the starting point, the new phase takes precedence. Kept from it: the title row, the table shape, all ten OWASP risks with their fit notes (",{"type":593,"tag":616,"props":1194,"children":1196},{"className":1195},[],[1197],{"type":602,"value":1198},"Requirement.note",{"type":602,"value":1200},", shown beneath the state), and its satisfying controls, which the catalog now carries as ten policies (nineteen total; P-PROVENANCE and P-SPEND left unassigned, so three policies read Not in scope). Changed: Activate → Track (changes no policy, live); the hand-set addressability dot → the derived coverage state; one controls cell → capability · configuration · findings as three cells; added the gap-reason column, the summary band, the Gaps list never hidden, coverage filter chips, the \"What coverage means\" disclosure and the risk-taxonomy caveat; retired the per-control toggles, Activate all, the progress bar. Fixture: ",{"type":593,"tag":616,"props":1202,"children":1204},{"className":1203},[],[1205],{"type":602,"value":1206},"sourceTerm",{"type":602,"value":1208}," and ",{"type":593,"tag":616,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":602,"value":1214},"description",{"type":602,"value":1216}," on Framework, SOC 2 (no mappings), ",{"type":593,"tag":616,"props":1218,"children":1220},{"className":1219},[],[1221],{"type":602,"value":1222},"gapReasons",{"type":602,"value":623},{"type":593,"tag":616,"props":1225,"children":1227},{"className":1226},[],[1228],{"type":602,"value":1229},"withManyRequirements",{"type":602,"value":1231},". Five captures; S4 captions and copy updated for the larger catalog. Lesson: the two-day-old dev server was serving stale transforms and the machine was at load 10 from Spotlight and fseventsd; Mark restarted the server (fresh process picks up new pages without a nudge). Committed as 1fbc18f78.",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":1233,"long":24,"ast":1234},"Phase 3 · S7 Policy Group",{"type":590,"children":1235},[1236],{"type":593,"tag":594,"props":1237,"children":1238},{},[1239,1244,1245,1251,1253,1259,1260,1266,1268,1274,1276,1282,1284,1290,1292,1298,1299,1305,1307,1313,1315,1321],{"type":593,"tag":598,"props":1240,"children":1241},{},[1242],{"type":602,"value":1243},"Phase 3 · S7 Policy Group (2026-10-09):",{"type":602,"value":674},{"type":593,"tag":616,"props":1246,"children":1248},{"className":1247},[],[1249],{"type":602,"value":1250},"\u002Fpages\u002Fphase4\u002Fpolicy-groups",{"type":602,"value":1252},", four states (",{"type":593,"tag":616,"props":1254,"children":1256},{"className":1255},[],[1257],{"type":602,"value":1258},"?groupId=G-ENG",{"type":602,"value":1152},{"type":593,"tag":616,"props":1261,"children":1263},{"className":1262},[],[1264],{"type":602,"value":1265},"G-DRAFT",{"type":602,"value":1267}," draft · ",{"type":593,"tag":616,"props":1269,"children":1271},{"className":1270},[],[1272],{"type":602,"value":1273},"G-OLD",{"type":602,"value":1275}," retired · ",{"type":593,"tag":616,"props":1277,"children":1279},{"className":1278},[],[1280],{"type":602,"value":1281},"G-NOPE",{"type":602,"value":1283},"). Header with the state pill and Duplicate · Activate \u002F Retire \u002F Re-enable; the band; Scope with the change sheet (S6 reused); Policies as references with severity, capability, enforcement in this scope, open in scope and \"also in\", Add from the catalog and remove per row; Overlaps naming every other active group that shares people, the shared policies and any equal-specificity enforcement conflict, plus the effective-policies probe with this group's policies in bold; History as the organ. The sheet previews population, re-evaluation and conflicts for scope, membership, state and duplicate; Duplicate creates a draft referencing the same policies and opens it. Fixture: ",{"type":593,"tag":616,"props":1285,"children":1287},{"className":1286},[],[1288],{"type":602,"value":1289},"draft",{"type":602,"value":1291}," state, ",{"type":593,"tag":616,"props":1293,"children":1295},{"className":1294},[],[1296],{"type":602,"value":1297},"createdAt",{"type":602,"value":1019},{"type":593,"tag":616,"props":1300,"children":1302},{"className":1301},[],[1303],{"type":602,"value":1304},"createdBy",{"type":602,"value":1306},", G-DRAFT and G-OLD, the ",{"type":593,"tag":616,"props":1308,"children":1310},{"className":1309},[],[1311],{"type":602,"value":1312},"group-change",{"type":602,"value":1314}," record (create · scope · policyIds · state) in ",{"type":593,"tag":616,"props":1316,"children":1318},{"className":1317},[],[1319],{"type":602,"value":1320},"applyChange",{"type":602,"value":1322},", four group history rows. Five captures. Verified in the browser: the scope preview, adding Restricted file access (policies 4 → 5, History row), Duplicate opening the new draft, Activate flipping it active. Committed as 04ddb4cab; deployed (live record 2026-10-09T21:33Z, all eight Phase 4 pages).",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":1324,"long":24,"ast":1325},"fixture · reach per device",{"type":590,"children":1326},[1327],{"type":593,"tag":594,"props":1328,"children":1329},{},[1330,1335,1337,1343,1345,1350,1352,1358],{"type":593,"tag":598,"props":1331,"children":1332},{},[1333],{"type":602,"value":1334},"fixture · reach per device (2026-10-09):",{"type":602,"value":1336}," the S7 sheet surfaced that the four open sanitization findings sat under organisation-wide enforcement already confirmed on every device, so any change touching the policy previewed them resolving as Enforced. D3 is now per device: ",{"type":593,"tag":616,"props":1338,"children":1340},{"className":1339},[],[1341],{"type":602,"value":1342},"EnforcementState.reach.pending",{"type":602,"value":1344}," names the devices enforcement has not reached, and ",{"type":593,"tag":616,"props":1346,"children":1348},{"className":1347},[],[1349],{"type":602,"value":710},{"type":602,"value":1351}," returns configured (with ",{"type":593,"tag":616,"props":1353,"children":1355},{"className":1354},[],[1356],{"type":602,"value":1357},"pendingDevice",{"type":602,"value":1359},") for a subject on one of them. The sanitization enforcement is confirmed on 97 of 100 with the three devices behind F-S01..F-S03 pending; those findings read Open · pending, S1 says \"not yet on mac-eng-07\", S3's Findings block counts 3 pending, and the group sheet previews no Enforced resolutions. Captions updated; every shot recaptured. Committed as 0f5cbcb66.",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":1361,"long":24,"ast":1362},"Phase 4 · the review walk",{"type":590,"children":1363},[1364],{"type":593,"tag":594,"props":1365,"children":1366},{},[1367,1372,1373,1379,1381,1387],{"type":593,"tag":598,"props":1368,"children":1369},{},[1370],{"type":602,"value":1371},"Phase 4 · the review walk (2026-10-09):",{"type":602,"value":674},{"type":593,"tag":616,"props":1374,"children":1376},{"className":1375},[],[1377],{"type":602,"value":1378},"\u002Fpages\u002Fphase4\u002Freview-walk",{"type":602,"value":1380}," reads ",{"type":593,"tag":616,"props":1382,"children":1384},{"className":1383},[],[1385],{"type":602,"value":1386},"app\u002Fdata\u002Fc114-review.ts",{"type":602,"value":1388}," (eight stops in dependency order: where to look with every state linked, what to look for, the captures by subject from the atlas manifest, and the questions each mock raises with what it does today; cross-cutting questions on the delivery phasing and the model; the rulings so far and Mark Peterson's delivery phases up top; progress counted from rulings). Rulings are recorded in the data file and in Decisions here as they land, so the page is the living review record. Thirty-five questions open at the start. Committed as eac972b12; deployed (live record 2026-10-09T21:58Z).",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":1390,"long":23,"ast":1391},"parked for the weekend",{"type":590,"children":1392},[1393],{"type":593,"tag":594,"props":1394,"children":1395},{},[1396,1401,1402,1408],{"type":593,"tag":598,"props":1397,"children":1398},{},[1399],{"type":602,"value":1400},"parked for the weekend (2026-10-09):",{"type":602,"value":674},{"type":593,"tag":607,"props":1403,"children":1405},{"href":1404},"\u002Fcycles\u002Fdesign\u002Fc114\u002Fdoc\u002FPICKUP",[1406],{"type":602,"value":1407},"PICKUP.md",{"type":602,"value":1409}," written; the walk resumes Monday 2026-10-12 with a fresh agent. Ten c114 commits today, all deployed; nothing of the cycle's uncommitted.",{"project":9,"cycle":26,"dir":28,"title":29,"date":39,"lead":1411,"long":24,"ast":1412},"Phase 3 done; full bake; cutover",{"type":590,"children":1413},[1414],{"type":593,"tag":594,"props":1415,"children":1416},{},[1417,1422,1423,1429,1430,1436,1438,1444,1446,1452,1454,1460,1462,1468,1470,1475,1477,1483,1485,1491,1493,1499,1501,1507,1509,1514,1516,1522,1524,1530,1532,1538,1540,1546,1548,1554,1556,1562,1564,1570],{"type":593,"tag":598,"props":1418,"children":1419},{},[1420],{"type":602,"value":1421},"Phase 3 done; full bake; cutover (2026-10-07):",{"type":602,"value":674},{"type":593,"tag":616,"props":1424,"children":1426},{"className":1425},[],[1427],{"type":602,"value":1428},"bake.sh",{"type":602,"value":1208},{"type":593,"tag":616,"props":1431,"children":1433},{"className":1432},[],[1434],{"type":602,"value":1435},"check.py --baked",{"type":602,"value":1437}," (",{"type":593,"tag":607,"props":1439,"children":1441},{"href":1440},"\u002Fcycles\u002Fdesign\u002Fc113\u002Fdoc\u002Fphase3-upload",[1442],{"type":602,"value":1443},"phase3-upload.md",{"type":602,"value":1445},"); re-verified 6\u002F6 including the real-bakes test. The full bake of eleven worlds at one anchor (2026-10-06 19:24 UTC) took 3.5 h on the laptop with 0 errors: Small 17 s, Mid-sized 29 min (141k answers, 191 MB), Enterprise 62 min (201k, 261 MB), each Mid scenario world ~29 min, First run stages 1 s to 78 s; 1.2 GB in all. Cutover on Mark's go: bucket ",{"type":593,"tag":616,"props":1447,"children":1449},{"className":1448},[],[1450],{"type":602,"value":1451},"qdash-demo-worlds",{"type":602,"value":1453}," created on the Qpoint account, the worlds uploaded through wrangler (",{"type":593,"tag":616,"props":1455,"children":1457},{"className":1456},[],[1458],{"type":602,"value":1459},"--remote",{"type":602,"value":1461},"; note wrangler's ",{"type":593,"tag":616,"props":1463,"children":1465},{"className":1464},[],[1466],{"type":602,"value":1467},"r2 object get",{"type":602,"value":1469}," reads local state unless told ",{"type":593,"tag":616,"props":1471,"children":1473},{"className":1472},[],[1474],{"type":602,"value":1459},{"type":602,"value":1476},"), catalog last, then ",{"type":593,"tag":616,"props":1478,"children":1480},{"className":1479},[],[1481],{"type":602,"value":1482},"wrangler deploy --config wrangler.baked.jsonc",{"type":602,"value":1484}," over the same Worker name. The first deploy was refused (error 10064: the version stopped exporting the Durable Object classes the live containers depend on), so the baked entry now exports the four classes as inert stubs; a ",{"type":593,"tag":616,"props":1486,"children":1488},{"className":1487},[],[1489],{"type":602,"value":1490},"deleted_classes",{"type":602,"value":1492}," migration removes them once the containers are gone. Version ",{"type":593,"tag":616,"props":1494,"children":1496},{"className":1495},[],[1497],{"type":602,"value":1498},"f7155e3a",{"type":602,"value":1500}," serves ",{"type":593,"tag":616,"props":1502,"children":1504},{"className":1503},[],[1505],{"type":602,"value":1506},"demo.qpoint.io",{"type":602,"value":1508}," as of 18:26 UTC. ",{"type":593,"tag":616,"props":1510,"children":1512},{"className":1511},[],[1513],{"type":602,"value":1435},{"type":602,"value":1515}," against the hostname: E1 2,069 API reads over all eleven worlds, 0 misses; E2 every page cold in 400–800 ms (Teams was 3–8 s and timing out before); E3, E5 pass; E4 passes after a check fix (shadow-AI findings carry their time in ",{"type":593,"tag":616,"props":1517,"children":1519},{"className":1518},[],[1520],{"type":602,"value":1521},"first_seen",{"type":602,"value":1523},"). Single calls on the hostname: ",{"type":593,"tag":616,"props":1525,"children":1527},{"className":1526},[],[1528],{"type":602,"value":1529},"\u002Fapi\u002Fstats",{"type":602,"value":1531}," 0.10 s, ",{"type":593,"tag":616,"props":1533,"children":1535},{"className":1534},[],[1536],{"type":602,"value":1537},"\u002Fapi\u002Fskills",{"type":602,"value":1539}," 0.43 s. Held for Mark's review: deleting the four container applications (step 5), which ends the running demo and its spend. Product finding on the way: at Mid every install reads ",{"type":593,"tag":616,"props":1541,"children":1543},{"className":1542},[],[1544],{"type":602,"value":1545},"instrumented: true",{"type":602,"value":1547}," in ",{"type":593,"tag":616,"props":1549,"children":1551},{"className":1550},[],[1552],{"type":602,"value":1553},"\u002Fapi\u002Finstallations",{"type":602,"value":1555}," (qdash's ",{"type":593,"tag":616,"props":1557,"children":1559},{"className":1558},[],[1560],{"type":602,"value":1561},"type_seen",{"type":602,"value":1563}," rule marks a tool type instrumented if any instance of it was ever observed) while ",{"type":593,"tag":616,"props":1565,"children":1567},{"className":1566},[],[1568],{"type":602,"value":1569},"\u002Fapi\u002Fsecurity",{"type":602,"value":1571}," lists 24 shadow installs; Inventory's coverage and Findings disagree.",{"project":9,"cycle":26,"dir":28,"title":29,"date":39,"lead":1573,"long":24,"ast":1574},"containers deleted, c112 closed, the baker built",{"type":590,"children":1575},[1576],{"type":593,"tag":594,"props":1577,"children":1578},{},[1579,1584,1586,1592,1593,1598,1600,1606,1608,1614,1616,1622,1624,1629,1631,1637,1639,1645,1647,1653,1655,1661,1663,1669,1670,1676,1678,1684,1686,1692,1694,1700,1702,1707,1709,1714],{"type":593,"tag":598,"props":1580,"children":1581},{},[1582],{"type":602,"value":1583},"containers deleted, c112 closed, the baker built (2026-10-07):",{"type":602,"value":1585}," on Mark's \"make it so\": the four container applications deleted, the ",{"type":593,"tag":616,"props":1587,"children":1589},{"className":1588},[],[1590],{"type":602,"value":1591},"v2",{"type":602,"value":674},{"type":593,"tag":616,"props":1594,"children":1596},{"className":1595},[],[1597],{"type":602,"value":1490},{"type":602,"value":1599}," migration deployed (version ",{"type":593,"tag":616,"props":1601,"children":1603},{"className":1602},[],[1604],{"type":602,"value":1605},"59ee049e",{"type":602,"value":1607},") and the stub classes removed; c112 closed with its outcome and archived. The scheduled baker (",{"type":593,"tag":607,"props":1609,"children":1611},{"href":1610},"\u002Fcycles\u002Fdesign\u002Fc113\u002Fdoc\u002Fphase4-baker",[1612],{"type":602,"value":1613},"phase4-baker.md",{"type":602,"value":1615},"): ",{"type":593,"tag":616,"props":1617,"children":1619},{"className":1618},[],[1620],{"type":602,"value":1621},"Dockerfile.baker",{"type":602,"value":1623}," (qdash Linux binary, python3, curl, the generator, ",{"type":593,"tag":616,"props":1625,"children":1627},{"className":1626},[],[1628],{"type":602,"value":1428},{"type":602,"value":1630},") with an entrypoint that opens a log port, runs ",{"type":593,"tag":616,"props":1632,"children":1634},{"className":1633},[],[1635],{"type":602,"value":1636},"bake.sh --world … --upload",{"type":602,"value":1638}," and exits with its code; in the Worker a ",{"type":593,"tag":616,"props":1640,"children":1642},{"className":1641},[],[1643],{"type":602,"value":1644},"QdashBaker",{"type":602,"value":1646}," container class (",{"type":593,"tag":616,"props":1648,"children":1650},{"className":1649},[],[1651],{"type":602,"value":1652},"standard-4",{"type":602,"value":1654},", one instance), ",{"type":593,"tag":616,"props":1656,"children":1658},{"className":1657},[],[1659],{"type":602,"value":1660},"scheduled()",{"type":602,"value":1662}," mapping two crons (Mid-sized daily Mon–Sat 09:00 UTC, all eleven worlds Sunday 06:00 UTC) to world lists, ",{"type":593,"tag":616,"props":1664,"children":1666},{"className":1665},[],[1667],{"type":602,"value":1668},"POST \u002F_admin\u002Fbake",{"type":602,"value":1208},{"type":593,"tag":616,"props":1671,"children":1673},{"className":1672},[],[1674],{"type":602,"value":1675},"\u002F_admin\u002Fbake\u002Fstatus",{"type":602,"value":1677}," behind Access, and a \"Bake now\" section on the picker; ",{"type":593,"tag":616,"props":1679,"children":1681},{"className":1680},[],[1682],{"type":602,"value":1683},"v3",{"type":602,"value":1685}," migration adds the class. Proved locally in OrbStack at 4 CPUs against a fake S3: Small end to end in 52 s (host: 16 s, so ~1.5× slower at 4 vCPU; ",{"type":593,"tag":616,"props":1687,"children":1689},{"className":1688},[],[1690],{"type":602,"value":1691},"nproc",{"type":602,"value":1693}," inside reports the host's cores, so ",{"type":593,"tag":616,"props":1695,"children":1697},{"className":1696},[],[1698],{"type":602,"value":1699},"--workers 8",{"type":602,"value":1701}," is a var). Estimated cost: a Mid bake ≈ $0.40, the weekly full bake ≈ $2.40, ≈ $20 a month net. Re-verified: 59\u002F59 tests, tsc clean. Waits on Mark: an R2 API token (object read & write on ",{"type":593,"tag":616,"props":1703,"children":1705},{"className":1704},[],[1706],{"type":602,"value":1451},{"type":602,"value":1708},") set as two Worker secrets, then the deploy and a first by-hand bake to measure the real ",{"type":593,"tag":616,"props":1710,"children":1712},{"className":1711},[],[1713],{"type":602,"value":1652},{"type":602,"value":1715}," time.",{"project":9,"cycle":33,"dir":35,"title":36,"date":31,"lead":1717,"long":24,"ast":1718},"pill shortcut",{"type":590,"children":1719},[1720],{"type":593,"tag":594,"props":1721,"children":1722},{},[1723,1728,1730,1736,1738,1744,1746,1752,1754,1760,1762,1768],{"type":593,"tag":598,"props":1724,"children":1725},{},[1726],{"type":602,"value":1727},"pill shortcut (2026-10-06):",{"type":602,"value":1729}," Mark asked for a key to show or hide the size pill: Option-Q (Alt-Q) toggles it, remembered per browser in localStorage, ignored while typing in a field; the pill's menu mentions it. Tested in the browser pane (toggle, persistence across reload, ignored in inputs, plain Q and Cmd-Option-Q); qcontrol ",{"type":593,"tag":616,"props":1731,"children":1733},{"className":1732},[],[1734],{"type":602,"value":1735},"bbb76c03",{"type":602,"value":1737},", deployed as Worker version ",{"type":593,"tag":616,"props":1739,"children":1741},{"className":1740},[],[1742],{"type":602,"value":1743},"65799a97",{"type":602,"value":1745},". Then hidden by default (Mark): the pill appears only after Option-Q, remembered per browser; ",{"type":593,"tag":616,"props":1747,"children":1749},{"className":1748},[],[1750],{"type":602,"value":1751},"?size=",{"type":602,"value":1753}," links still switch worlds. The first deploy attempt stopped on a Worker test that expected the old tag; test fixed (",{"type":593,"tag":616,"props":1755,"children":1757},{"className":1756},[],[1758],{"type":602,"value":1759},"0957c25c",{"type":602,"value":1761},") and deployed as Worker version ",{"type":593,"tag":616,"props":1763,"children":1765},{"className":1764},[],[1766],{"type":602,"value":1767},"8b49b39b",{"type":602,"value":1769},".",{"project":9,"cycle":33,"dir":35,"title":36,"date":31,"lead":1771,"long":24,"ast":1772},"overload on the hostname → c113",{"type":590,"children":1773},[1774],{"type":593,"tag":594,"props":1775,"children":1776},{},[1777,1782,1784,1790,1792,1798,1800,1805],{"type":593,"tag":598,"props":1778,"children":1779},{},[1780],{"type":602,"value":1781},"overload on the hostname → c113 (2026-10-06):",{"type":602,"value":1783}," Mark saw \"Can't reach qdash — showing nothing rather than a guess\" on the default world. Measured: about half of Mid-sized's API calls hung past 20–30 s (even ",{"type":593,"tag":616,"props":1785,"children":1787},{"className":1786},[],[1788],{"type":602,"value":1789},"\u002Fapi\u002Fteams",{"type":602,"value":1791},") while Small, First run and Enterprise answered in 0.1–3.7 s; the Worker log showed the browser's calls cancelled at 8 s in batches and ",{"type":593,"tag":616,"props":1793,"children":1795},{"className":1794},[],[1796],{"type":602,"value":1797},"\u002F_control\u002Fstate",{"type":602,"value":1799}," taking 5 s. Cause: after each tick the cache is cold, a page fires ~15 calls on half a vCPU, the slowest pass the UI's 8 s abort, the aborted queries keep running and the retries keep the queue full. The world itself was healthy (3 ticks, 0 failures). Making this comfortable needs ~2–4 vCPU per size ($70–100 a week) and pages still go cold after every tick. Stepping back from the goals (show the site populated; show sizes, First run and specific scenarios; live updates not the point), the demo becomes a catalog of baked worlds served from files: design cycle ",{"type":593,"tag":607,"props":1801,"children":1803},{"href":1802},"\u002Fcycles\u002Fdesign\u002Fc113\u002Fdoc\u002FCYCLE",[1804],{"type":602,"value":26},{"type":602,"value":1806},". The live path stays in the tree under its own wrangler config. S1's Worker and container application deleted the same day (they had run since 2026-10-05). c112 closes at c113's cutover.",{"project":9,"cycle":26,"dir":28,"title":29,"date":31,"lead":588,"long":24,"ast":1808},{"type":590,"children":1809},[1810],{"type":593,"tag":594,"props":1811,"children":1812},{},[1813,1818,1820,1825,1827,1833,1835,1841,1843,1849],{"type":593,"tag":598,"props":1814,"children":1815},{},[1816],{"type":602,"value":1817},"kick-off (2026-10-06):",{"type":602,"value":1819}," the thread that found the c112 overload became this cycle (",{"type":593,"tag":607,"props":1821,"children":1823},{"href":1822},"\u002Fcycles\u002Fdesign\u002Fc113\u002Fdoc\u002Finitial-prompt",[1824],{"type":602,"value":612},{"type":602,"value":1826},"). Grounding read: the UI is a static SPA with a committed ",{"type":593,"tag":616,"props":1828,"children":1830},{"className":1829},[],[1831],{"type":602,"value":1832},"dist\u002F",{"type":602,"value":1834},"; 31 API routes whose server-side parameters are ",{"type":593,"tag":616,"props":1836,"children":1838},{"className":1837},[],[1839],{"type":602,"value":1840},"period",{"type":602,"value":1842}," plus entity selectors, with the global filter's operators applied on the client, so the crawl space is bounded; the Worker's ",{"type":593,"tag":616,"props":1844,"children":1846},{"className":1845},[],[1847],{"type":602,"value":1848},"Deps.container(size)",{"type":602,"value":1850}," is the seam for a baked backend. Plan written with five phases and eight checks; S5 (crawl coverage) running first because it's the one risk.",{"project":9,"cycle":26,"dir":28,"title":29,"date":31,"lead":1852,"long":24,"ast":1853},"S5 passed; Phases 1 and 2 started",{"type":590,"children":1854},[1855],{"type":593,"tag":594,"props":1856,"children":1857},{},[1858,1863,1864,1870,1872,1878,1880,1886,1888,1893],{"type":593,"tag":598,"props":1859,"children":1860},{},[1861],{"type":602,"value":1862},"S5 passed; Phases 1 and 2 started (2026-10-06):",{"type":602,"value":1437},{"type":593,"tag":607,"props":1865,"children":1867},{"href":1866},"\u002Fcycles\u002Fdesign\u002Fc113\u002Fdoc\u002Fs5-crawl-coverage",[1868],{"type":602,"value":1869},"s5-crawl-coverage.md",{"type":602,"value":1871},") the server's query grammar plus ids harvested from answers enumerated every URL a 388-visit walk of the UI made (312 normalised URLs, 0 misses after one added rule: the agent filter on six listings). Served from files, a cold Teams page reached its last answer in 247 ms against 1,263 ms live; the index page 310 ms against 2,132 ms. The cost: a complete Mid bake is ~141,000 answers, ~430 MB and ~1.5 h on the laptop, five-sixths of it that one agent-filter affordance over 4,891 agent instances. Consequences in the plan: one pack and one index per route instead of a file per answer (R2 charges per write), and tier 2 by alias (agents with no runs in a period share one answer). Gotchas for the build: APFS case-folding silently overwrote 817 answers during the spike; answers aren't byte-stable (float sums, request-time windows), so equality tests compare parsed JSON. Phase 1 (",{"type":593,"tag":616,"props":1873,"children":1875},{"className":1874},[],[1876],{"type":602,"value":1877},"bake.py",{"type":602,"value":1879},") and Phase 2 (the Worker's baked backend, static-asset UI, picker) running in parallel in the ",{"type":593,"tag":616,"props":1881,"children":1883},{"className":1882},[],[1884],{"type":602,"value":1885},"qcontrol-c113",{"type":602,"value":1887}," worktree. Open for Mark in Phase 3: bake cadence and where the baker runs (",{"type":593,"tag":607,"props":1889,"children":1891},{"href":1890},"\u002Fcycles\u002Fdesign\u002Fc113\u002Fdoc\u002Fplan#phase-3-the-daily-bake",[1892],{"type":602,"value":644},{"type":602,"value":646},{"project":9,"cycle":26,"dir":28,"title":29,"date":31,"lead":1895,"long":24,"ast":1896},"Phases 1 and 2 done",{"type":590,"children":1897},[1898],{"type":593,"tag":594,"props":1899,"children":1900},{},[1901,1906,1907,1912,1913,1919,1921,1927,1929,1935,1937,1943,1945,1951,1953,1959,1961,1966,1968,1974,1976,1982,1984,1990,1992,1997,1998,2004],{"type":593,"tag":598,"props":1902,"children":1903},{},[1904],{"type":602,"value":1905},"Phases 1 and 2 done (2026-10-06):",{"type":602,"value":674},{"type":593,"tag":616,"props":1908,"children":1910},{"className":1909},[],[1911],{"type":602,"value":1877},{"type":602,"value":1437},{"type":593,"tag":607,"props":1914,"children":1916},{"href":1915},"\u002Fcycles\u002Fdesign\u002Fc113\u002Fdoc\u002Fphase1-bake",[1917],{"type":602,"value":1918},"phase1-bake.md",{"type":602,"value":1920},") bakes a world spec into per-route packs: Mid-sized in 28.5 min, 141,369 answers, 191 MB (S5 projected 1.5 h and 430 MB); Small in under a minute; a scenario world and a First run stage proved the spec paths. The task's tier-2 alias rule was wrong and the live check caught it: the listings' ",{"type":593,"tag":616,"props":1922,"children":1924},{"className":1923},[],[1925],{"type":602,"value":1926},"?agent=",{"type":602,"value":1928}," filter scopes by the agent's ",{"type":593,"tag":1930,"props":1931,"children":1932},"em",{},[1933],{"type":602,"value":1934},"identity",{"type":602,"value":1936}," (system, email), not by runs, so the rule now groups entities by identity and fetches one representative per identity (verified live on every world, 0 differences). Answers differ between qdash processes beyond float digits (minted ids, request-time stamps, HashMap order), so comparisons skip a cited list of unstable fields. The Worker's baked backend (",{"type":593,"tag":607,"props":1938,"children":1940},{"href":1939},"\u002Fcycles\u002Fdesign\u002Fc113\u002Fdoc\u002Fphase2-worker",[1941],{"type":602,"value":1942},"phase2-worker.md",{"type":602,"value":1944},"): UI from Static Assets, ",{"type":593,"tag":616,"props":1946,"children":1948},{"className":1947},[],[1949],{"type":602,"value":1950},"\u002Fapi",{"type":602,"value":1952}," from R2 by a world cookie with ",{"type":593,"tag":616,"props":1954,"children":1956},{"className":1955},[],[1957],{"type":602,"value":1958},"?world=",{"type":602,"value":1960}," and the ",{"type":593,"tag":616,"props":1962,"children":1964},{"className":1963},[],[1965],{"type":602,"value":1751},{"type":602,"value":1967}," alias, catalog and per-route indexes cached at the edge, misses counted in the log, writes answered 405 with a read-only notice the pill shows for 5 s (the UI's own toast is honest but doesn't say why), the picker on ",{"type":593,"tag":616,"props":1969,"children":1971},{"className":1970},[],[1972],{"type":602,"value":1973},"\u002F_admin",{"type":602,"value":1975},"; 52\u002F52 tests, both configs share ",{"type":593,"tag":616,"props":1977,"children":1979},{"className":1978},[],[1980],{"type":602,"value":1981},"router.ts",{"type":602,"value":1983},". Phase 2's walk found the one gap, the Teams page's ",{"type":593,"tag":616,"props":1985,"children":1987},{"className":1986},[],[1988],{"type":602,"value":1989},"?team=unassigned",{"type":602,"value":1991},", now in the baker. Re-verified by the main session: both suites green; the Worker on local R2 seeded with the real Mid, Small, scenario and First run bakes walked with 0 misses (89\u002F89 hits), cold Teams page 356 ms. Full eleven-world bake at one anchor started on the laptop for the cutover; Phase 3 (",{"type":593,"tag":616,"props":1993,"children":1995},{"className":1994},[],[1996],{"type":602,"value":1428},{"type":602,"value":623},{"type":593,"tag":616,"props":1999,"children":2001},{"className":2000},[],[2002],{"type":602,"value":2003},"check.py",{"type":602,"value":2005}," baked mode) started.",{"project":9,"cycle":41,"dir":43,"title":44,"date":4,"lead":588,"long":23,"ast":2007},{"type":590,"children":2008},[2009],{"type":593,"tag":594,"props":2010,"children":2011},{},[2012,2017],{"type":593,"tag":598,"props":2013,"children":2014},{},[2015],{"type":602,"value":2016},"kick-off (2026-10-05):",{"type":602,"value":2018}," 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).",{"project":9,"cycle":41,"dir":43,"title":44,"date":4,"lead":2020,"long":23,"ast":2021},"Phase 0–1 built",{"type":590,"children":2022},[2023],{"type":593,"tag":594,"props":2024,"children":2025},{},[2026,2031,2033,2039],{"type":593,"tag":598,"props":2027,"children":2028},{},[2029],{"type":602,"value":2030},"Phase 0–1 built (2026-10-05):",{"type":602,"value":2032}," dates, the shared window feed, and the Week view on ",{"type":593,"tag":616,"props":2034,"children":2036},{"className":2035},[],[2037],{"type":602,"value":2038},"\u002Fcycles",{"type":602,"value":1769},{"project":9,"cycle":41,"dir":43,"title":44,"date":4,"lead":2041,"long":23,"ast":2042},"Phase 2 built",{"type":590,"children":2043},[2044],{"type":593,"tag":594,"props":2045,"children":2046},{},[2047,2052,2054,2060,2062,2068,2070,2076],{"type":593,"tag":598,"props":2048,"children":2049},{},[2050],{"type":602,"value":2051},"Phase 2 built (2026-10-05):",{"type":602,"value":2053}," the week detail mock, ",{"type":593,"tag":616,"props":2055,"children":2057},{"className":2056},[],[2058],{"type":602,"value":2059},"\u002Fpages\u002F_meta\u002Fcycles-week-detail\u002F\u003Cmonday>",{"type":602,"value":2061},". 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":593,"tag":616,"props":2063,"children":2065},{"className":2064},[],[2066],{"type":602,"value":2067},"c111-cycles-by-week",{"type":602,"value":2069}," collapse; ",{"type":593,"tag":616,"props":2071,"children":2073},{"className":2072},[],[2074],{"type":602,"value":2075},"\u002Fpages\u002F_meta",{"type":602,"value":2077}," gets a c111 section.",{"project":9,"cycle":41,"dir":43,"title":44,"date":4,"lead":2079,"long":24,"ast":2080},"Screengrab viewer",{"type":590,"children":2081},[2082],{"type":593,"tag":2083,"props":2084,"children":2085},"ul",{},[2086],{"type":593,"tag":2087,"props":2088,"children":2089},"li",{},[2090,2094,2096,2101,2103,2109,2110,2116,2118,2124,2126,2132,2134,2139,2141,2147,2149,2155,2157,2163,2165,2171,2173,2179,2181,2187,2189,2195],{"type":593,"tag":598,"props":2091,"children":2092},{},[2093],{"type":602,"value":2079},{"type":602,"value":2095}," (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":593,"tag":598,"props":2097,"children":2098},{},[2099],{"type":602,"value":2100},"cycle",{"type":602,"value":2102},". Each cluster gets one representative, picked server-side by ",{"type":593,"tag":616,"props":2104,"children":2106},{"className":2105},[],[2107],{"type":602,"value":2108},"representative()",{"type":602,"value":1547},{"type":593,"tag":616,"props":2111,"children":2113},{"className":2112},[],[2114],{"type":602,"value":2115},"window.ts",{"type":602,"value":2117},": 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":593,"tag":616,"props":2119,"children":2121},{"className":2120},[],[2122],{"type":602,"value":2123},"before",{"type":602,"value":2125},"; default variant; first in program order. The cluster caption is the shot's ",{"type":593,"tag":616,"props":2127,"children":2129},{"className":2128},[],[2130],{"type":602,"value":2131},"newThing",{"type":602,"value":2133},". The manifests copy ",{"type":593,"tag":616,"props":2135,"children":2137},{"className":2136},[],[2138],{"type":602,"value":2131},{"type":602,"value":2140}," 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":593,"tag":616,"props":2142,"children":2144},{"className":2143},[],[2145],{"type":602,"value":2146},"mock-home",{"type":602,"value":2148}," (composed mocks), c102\u002Fc103\u002Fc110 ",{"type":593,"tag":616,"props":2150,"children":2152},{"className":2151},[],[2153],{"type":602,"value":2154},"-after",{"type":602,"value":2156},", c109 ",{"type":593,"tag":616,"props":2158,"children":2160},{"className":2159},[],[2161],{"type":602,"value":2162},"micro-cards-b",{"type":602,"value":2164},", c108 ",{"type":593,"tag":616,"props":2166,"children":2168},{"className":2167},[],[2169],{"type":602,"value":2170},"final-integration-routing-failed",{"type":602,"value":2172},", c106 ",{"type":593,"tag":616,"props":2174,"children":2176},{"className":2175},[],[2177],{"type":602,"value":2178},"qdash-listing-rest",{"type":602,"value":2180},", c104 ",{"type":593,"tag":616,"props":2182,"children":2184},{"className":2183},[],[2185],{"type":602,"value":2186},"band-rest",{"type":602,"value":2188},", c107 ",{"type":593,"tag":616,"props":2190,"children":2192},{"className":2191},[],[2193],{"type":602,"value":2194},"new-overview",{"type":602,"value":2196}," (promoted app).",{"project":9,"cycle":41,"dir":43,"title":44,"date":4,"lead":2198,"long":24,"ast":2199},"Pages & components section",{"type":590,"children":2200},[2201],{"type":593,"tag":594,"props":2202,"children":2203},{},[2204,2209,2211,2216,2218,2223,2224,2230,2232,2238,2240,2246,2248,2253,2255,2261,2263,2269,2271,2277,2279,2285,2287,2293],{"type":593,"tag":598,"props":2205,"children":2206},{},[2207],{"type":602,"value":2208},"Pages & components section (2026-10-05):",{"type":602,"value":2210}," 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":593,"tag":598,"props":2212,"children":2213},{},[2214],{"type":602,"value":2215},"Pages & components",{"type":602,"value":2217}," section after Cycles, with its own jump pill. The source is the capture subjects in the window (",{"type":593,"tag":616,"props":2219,"children":2221},{"className":2220},[],[2222],{"type":602,"value":2115},{"type":602,"value":674},{"type":593,"tag":616,"props":2225,"children":2227},{"className":2226},[],[2228],{"type":602,"value":2229},"subjectsOf",{"type":602,"value":2231}," → feed ",{"type":593,"tag":616,"props":2233,"children":2235},{"className":2234},[],[2236],{"type":602,"value":2237},"subjects",{"type":602,"value":2239},"): kind, label (",{"type":593,"tag":616,"props":2241,"children":2243},{"className":2242},[],[2244],{"type":602,"value":2245},"subjectLabel",{"type":602,"value":2247},"), 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":593,"tag":598,"props":2249,"children":2250},{},[2251],{"type":602,"value":2252},"new",{"type":602,"value":2254}," pill when it was first captured inside the week, and ",{"type":593,"tag":616,"props":2256,"children":2258},{"className":2257},[],[2259],{"type":602,"value":2260},"\u002Fcycles\u002Fevolution\u002F\u003Ckind>\u002F\u003Cslug>",{"type":602,"value":2262}," (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":593,"tag":616,"props":2264,"children":2266},{"className":2265},[],[2267],{"type":602,"value":2268},"page\u002Fsticky-title",{"type":602,"value":2270}," (16 shots, c106, new) and ",{"type":593,"tag":616,"props":2272,"children":2274},{"className":2273},[],[2275],{"type":602,"value":2276},"page\u002Fusers",{"type":602,"value":2278}," (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":593,"tag":616,"props":2280,"children":2282},{"className":2281},[],[2283],{"type":602,"value":2284},"app\u002Fpages\u002Fpages\u002F*.vue",{"type":602,"value":2286},", layer ",{"type":593,"tag":616,"props":2288,"children":2290},{"className":2289},[],[2291],{"type":602,"value":2292},"components\u002F**",{"type":602,"value":2294},") to subjects.",{"project":9,"cycle":41,"dir":43,"title":44,"date":4,"lead":2296,"long":23,"ast":2297},"Promoted",{"type":590,"children":2298},[2299],{"type":593,"tag":594,"props":2300,"children":2301},{},[2302,2307],{"type":593,"tag":598,"props":2303,"children":2304},{},[2305],{"type":602,"value":2306},"Promoted (2026-10-05):",{"type":602,"value":2308}," Mark, 2026-10-05: \"let's move the commits graph just below the screenshots\", then \"it looks good, let's promote\".",{"project":9,"cycle":41,"dir":43,"title":44,"date":4,"lead":2310,"long":24,"ast":2311},"Number layouts + week-row cards",{"type":590,"children":2312},[2313],{"type":593,"tag":594,"props":2314,"children":2315},{},[2316,2321],{"type":593,"tag":598,"props":2317,"children":2318},{},[2319],{"type":602,"value":2320},"Number layouts + week-row cards (2026-10-05):",{"type":602,"value":2322}," 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\".",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":588,"long":24,"ast":2324},{"type":590,"children":2325},[2326],{"type":593,"tag":594,"props":2327,"children":2328},{},[2329,2333,2335,2341,2343,2349,2350,2356,2358,2364,2365,2371],{"type":593,"tag":598,"props":2330,"children":2331},{},[2332],{"type":602,"value":2016},{"type":602,"value":2334}," initial prompt captured with the conversation that led to it (laptop tunnel → VM → Cloudflare Container). Grounding read on qcontrol ",{"type":593,"tag":616,"props":2336,"children":2338},{"className":2337},[],[2339],{"type":602,"value":2340},"feat\u002Fnew-pages",{"type":602,"value":2342},": qdash's loopback bind and Host guard (needs an in-container proxy), the generator's single RNG and whole-world calibration (needs per-day seeding and a chunk mode), run-keyed rollups (prune can cascade by run), ingest-while-serving supported (WAL + busy timeout), time windows anchored to the data. Plan written with six phases, three spikes, and twelve success checks. Same session also refreshed the qdash run docs (",{"type":593,"tag":616,"props":2344,"children":2346},{"className":2345},[],[2347],{"type":602,"value":2348},"crates\u002Fqdash\u002FREADME.md",{"type":602,"value":623},{"type":593,"tag":616,"props":2351,"children":2353},{"className":2352},[],[2354],{"type":602,"value":2355},"ui\u002FREADME.md",{"type":602,"value":2357},", new ",{"type":593,"tag":616,"props":2359,"children":2361},{"className":2360},[],[2362],{"type":602,"value":2363},"docs\u002Fhow-it-works.md",{"type":602,"value":623},{"type":593,"tag":616,"props":2366,"children":2368},{"className":2367},[],[2369],{"type":602,"value":2370},"devenv.nix",{"type":602,"value":2372},"), uncommitted in qcontrol.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2374,"long":24,"ast":2375},"scale-presets",{"type":590,"children":2376},[2377],{"type":593,"tag":594,"props":2378,"children":2379},{},[2380,2385,2387,2393],{"type":593,"tag":598,"props":2381,"children":2382},{},[2383],{"type":602,"value":2384},"scale-presets (2026-10-05):",{"type":602,"value":2386}," Mark asked for a way to switch the data set between first run (empty), small (mom & pop), mid-sized and enterprise (",{"type":593,"tag":607,"props":2388,"children":2390},{"href":2389},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fscale-presets-prompt",[2391],{"type":602,"value":2392},"prompt",{"type":602,"value":2394},"). Plan: one generator with a preset file per size (Phase 1b), one Container class and instance per preset, a cookie-driven switcher pill injected by the Worker (Phase 4), a scale spike S4 that sets the Enterprise ceiling from measured qdash performance, and checks E13–E15. Decisions D8–D11 added.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2396,"long":24,"ast":2397},"cloudflare research",{"type":590,"children":2398},[2399],{"type":593,"tag":594,"props":2400,"children":2401},{},[2402,2407,2409,2415,2417,2423],{"type":593,"tag":598,"props":2403,"children":2404},{},[2405],{"type":602,"value":2406},"cloudflare research (2026-10-05):",{"type":602,"value":2408}," background research on Containers landed (",{"type":593,"tag":607,"props":2410,"children":2412},{"href":2411},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fcloudflare-research",[2413],{"type":602,"value":2414},"cloudflare-research.md",{"type":602,"value":2416},"). Disk is wiped on every restart, so each start re-seeds; idle sleep after 10 min needs an override plus a cron; the in-image proxy is needed for both the bind address and the Host; instance size is per class; cost is about $1.50 a week per ",{"type":593,"tag":616,"props":2418,"children":2420},{"className":2419},[],[2421],{"type":602,"value":2422},"basic",{"type":602,"value":2424}," instance. Plan updated (new \"What Cloudflare says\" section, Phase 3 and 4 details).",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2426,"long":24,"ast":2427},"kick-off answers",{"type":590,"children":2428},[2429],{"type":593,"tag":594,"props":2430,"children":2431},{},[2432,2437,2439,2445,2447,2453,2455,2461],{"type":593,"tag":598,"props":2433,"children":2434},{},[2435],{"type":602,"value":2436},"kick-off answers (2026-10-05):",{"type":602,"value":2438}," Mark answered the kick-off questions (",{"type":593,"tag":607,"props":2440,"children":2442},{"href":2441},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fkickoff-answers",[2443],{"type":602,"value":2444},"kickoff-answers.md",{"type":602,"value":2446},"). New in the model: 2-minute ticks; hourly and manual resets; a control panel for size, mix, scenarios and resets; people across the whole company, not only engineers; Mid-sized ≈ 400; a violation multi-select plus a percentage slider (0% = All's clear); four scenarios; First run fills live; a public demo with only the panel gated, so the hostname moves off ",{"type":593,"tag":616,"props":2448,"children":2450},{"className":2449},[],[2451],{"type":602,"value":2452},"internal.qpoint.io",{"type":602,"value":2454},". Plan rewritten: eight phases with a world-model spec (",{"type":593,"tag":616,"props":2456,"children":2458},{"className":2457},[],[2459],{"type":602,"value":2460},"world-model.md",{"type":602,"value":2462},") for review before it's built, and eighteen checks.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2464,"long":23,"ast":2465},"local-run",{"type":590,"children":2466},[2467],{"type":593,"tag":594,"props":2468,"children":2469},{},[2470,2475,2477,2482,2484,2490],{"type":593,"tag":598,"props":2471,"children":2472},{},[2473],{"type":602,"value":2474},"local-run (2026-10-05):",{"type":602,"value":2476}," Mark asked whether to run it locally and whether Docker is overkill for that (",{"type":593,"tag":607,"props":2478,"children":2480},{"href":2479},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Flocal-run-prompt",[2481],{"type":602,"value":2392},{"type":602,"value":2483},"). Yes to local, no to Docker locally: ",{"type":593,"tag":616,"props":2485,"children":2487},{"className":2486},[],[2488],{"type":602,"value":2489},"demo.py",{"type":602,"value":2491}," becomes the core (Phase 4), Docker and the Worker wrap it (Phase 5), and E19 checks local = deployed. D16 added.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2493,"long":24,"ast":2494},"phase 0 started",{"type":590,"children":2495},[2496],{"type":593,"tag":594,"props":2497,"children":2498},{},[2499,2504,2506,2512,2514,2520,2522,2527,2529,2535,2537,2542,2544,2550,2552,2558],{"type":593,"tag":598,"props":2500,"children":2501},{},[2502],{"type":602,"value":2503},"phase 0 started (2026-10-05):",{"type":602,"value":2505}," qcontrol worktree ",{"type":593,"tag":616,"props":2507,"children":2509},{"className":2508},[],[2510],{"type":602,"value":2511},"..\u002Fqcontrol-c112",{"type":602,"value":2513}," on branch ",{"type":593,"tag":616,"props":2515,"children":2517},{"className":2516},[],[2518],{"type":602,"value":2519},"c112\u002Fdemo-container",{"type":602,"value":2521}," (off ",{"type":593,"tag":616,"props":2523,"children":2525},{"className":2524},[],[2526],{"type":602,"value":2340},{"type":602,"value":2528}," 77e6818f), qdash built there. Baseline: the unchanged generator builds Meridian in ~7 s (ingest 5.5 s, 30 MB db) but its own validator already fails 10 checks (user and host counts 15 vs 14, posture dip days 61–64 missing, Windsurf\u002Fchen-mba install checks, install coverage 92.3% vs the mid-80s band, SOC 2 and trends coverage mirrors), so E6 is measured against that baseline. Spikes S2 (prune), S3 (slicing) and S4 (scale) running in parallel on their own ports and copies; S4 has a disk floor (the laptop has ~29 GB free). S1 files written in ",{"type":593,"tag":616,"props":2530,"children":2532},{"className":2531},[],[2533],{"type":602,"value":2534},"deploy\u002Fqdash-demo\u002Fspikes\u002Fs1-cloudflare\u002F",{"type":602,"value":2536}," (Dockerfile with Caddy + tini, Worker with a Host-rewrite test route and an ",{"type":593,"tag":616,"props":2538,"children":2540},{"className":2539},[],[2541],{"type":602,"value":1973},{"type":602,"value":2543}," stub, wrangler config with a 5-minute cron, typechecked); waiting on Docker (OrbStack) and Cloudflare access. The SDK allows per-instance ",{"type":593,"tag":616,"props":2545,"children":2547},{"className":2546},[],[2548],{"type":602,"value":2549},"envVars",{"type":602,"value":2551}," through ",{"type":593,"tag":616,"props":2553,"children":2555},{"className":2554},[],[2556],{"type":602,"value":2557},"startAndWaitForPorts",{"type":602,"value":2559}," start options; instance type stays per class.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2561,"long":24,"ast":2562},"S1 deployed, S2 passed",{"type":590,"children":2563},[2564],{"type":593,"tag":594,"props":2565,"children":2566},{},[2567,2572,2574,2580,2581,2587,2589,2595,2597,2602,2604,2610,2612,2618,2620,2626,2628,2634],{"type":593,"tag":598,"props":2568,"children":2569},{},[2570],{"type":602,"value":2571},"S1 deployed, S2 passed (2026-10-05):",{"type":602,"value":2573}," S1 runs on the Qpoint account at ",{"type":593,"tag":616,"props":2575,"children":2577},{"className":2576},[],[2578],{"type":602,"value":2579},"qdash-demo-s1.qpoint.workers.dev",{"type":602,"value":1437},{"type":593,"tag":607,"props":2582,"children":2584},{"href":2583},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fs1-cloudflare",[2585],{"type":602,"value":2586},"s1-cloudflare.md",{"type":602,"value":2588},"): pages and API 200 at ~0.25 s; a Worker URL rewrite to ",{"type":593,"tag":616,"props":2590,"children":2592},{"className":2591},[],[2593],{"type":602,"value":2594},"localhost",{"type":602,"value":2596}," alone passes qdash's Host guard (Caddy stays for the bind address); first deploy ~30 s + 13 s cold start, redeploys 14 s with no visible gap; the disk is wiped on redeploy; per-instance ",{"type":593,"tag":616,"props":2598,"children":2600},{"className":2599},[],[2601],{"type":602,"value":2549},{"type":602,"value":2603}," only apply when that call actually starts the instance, so each size gets its own Container class. New gap: ",{"type":593,"tag":616,"props":2605,"children":2607},{"className":2606},[],[2608],{"type":602,"value":2609},"qdash serve",{"type":602,"value":2611}," has no live hub, so Live Activity is empty (default: leave it, stretch: ",{"type":593,"tag":616,"props":2613,"children":2615},{"className":2614},[],[2616],{"type":602,"value":2617},"run",{"type":602,"value":2619}," mode). S2 (",{"type":593,"tag":607,"props":2621,"children":2623},{"href":2622},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fs2-prune",[2624],{"type":602,"value":2625},"s2-prune.md",{"type":602,"value":2627},"): deleting whole runs older than the cutoff matches a fresh ingest of the survivors table for table and on 265 API responses at three cutoffs; pruning under load had 0 errors. Ship it as a Python script with a schema guard; propose ",{"type":593,"tag":616,"props":2629,"children":2631},{"className":2630},[],[2632],{"type":602,"value":2633},"qdash prune --before",{"type":602,"value":2635}," to qcontrol separately. Open for Mark: whether a pruned install's \"first seen\" moves forward (matches a fresh ingest) or keeps its original date. Gotchas for later phases: never reuse an agent pid within 90 days (the scan links by pid), and prune time grows with db size (batch it at Enterprise size). Side finding: some qdash lists break sort ties in random order per server start.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2637,"long":24,"ast":2638},"S3 passed",{"type":590,"children":2639},[2640],{"type":593,"tag":594,"props":2641,"children":2642},{},[2643,2648,2649,2655,2657,2663,2664,2670,2672,2678,2680,2686],{"type":593,"tag":598,"props":2644,"children":2645},{},[2646],{"type":602,"value":2647},"S3 passed (2026-10-05):",{"type":602,"value":1437},{"type":593,"tag":607,"props":2650,"children":2652},{"href":2651},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fs3-slicing",[2653],{"type":602,"value":2654},"s3-slicing.md",{"type":602,"value":2656},") a prototype generator (",{"type":593,"tag":616,"props":2658,"children":2660},{"className":2659},[],[2661],{"type":602,"value":2662},"--anchor",{"type":602,"value":623},{"type":593,"tag":616,"props":2665,"children":2667},{"className":2666},[],[2668],{"type":602,"value":2669},"--tz",{"type":602,"value":2671},", randomness keyed per person-day\u002Frun\u002Fbeat, frozen calibration, ",{"type":593,"tag":616,"props":2673,"children":2675},{"className":2674},[],[2676],{"type":602,"value":2677},"--chunk",{"type":602,"value":2679},", order-independent pids) produces slices that concatenate byte-for-byte to the whole window (24\u002F24 comparisons, down to 720 two-minute chunks across the incident days; ~10 ms per chunk), and base history + 30 two-minute ticks matches a single ingest on 22\u002F23 tables and 13 routes (the 23rd is wall-clock stamps on built-in controls). Meridian's shape holds at its own anchor (same 10 baseline failures, no new ones). A ",{"type":593,"tag":616,"props":2681,"children":2683},{"className":2682},[],[2684],{"type":602,"value":2685},"--legacy",{"type":602,"value":2687}," path reproduces today's generator byte-for-byte, so Phase 1 keeps the no-flag build identical. Must-fix for later phases: priya's ~3× outlier isn't stable across anchors and seeds (structural fix needed); beats can land on weekends (snap to weekdays); the world needs a time zone (in UTC the newest session read 2 h old after the UTC workday); replaying a tick double counts, so the ticker keeps a high-water mark and ingests each slice exactly once. The baseline failures are explained: the seed's shadow processes count as a monitored 15th user on host \"localhost\" (7 checks), and qdash's trends axis is built from today's date, so a world ending 2026-07-01 falls outside it, which a world anchored at now fixes.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2689,"long":24,"ast":2690},"review stop: Phase 0",{"type":590,"children":2691},[2692],{"type":593,"tag":594,"props":2693,"children":2694},{},[2695,2700,2702,2707,2709,2714,2716,2722],{"type":593,"tag":598,"props":2696,"children":2697},{},[2698],{"type":602,"value":2699},"review stop: Phase 0 (2026-10-05):",{"type":602,"value":2701}," Mark approved the world model with no notes and ruled on the spike questions (D17), named the hostname ",{"type":593,"tag":616,"props":2703,"children":2705},{"className":2704},[],[2706],{"type":602,"value":1506},{"type":602,"value":2708}," (D7), and okayed it on the S1 Worker. Phase 1 (the rolling generator, from the S3 prototype) running; S4 still running. S1 now serves ",{"type":593,"tag":616,"props":2710,"children":2712},{"className":2711},[],[2713],{"type":602,"value":1506},{"type":602,"value":2715}," as a custom domain (workers.dev turned off by wrangler, which the final setup keeps off). From this machine the new hostname can't be reached yet: the shell's sandbox proxy returns 502 for it although public DNS resolves it, so Mark checks it in his own browser. Access application on ",{"type":593,"tag":616,"props":2717,"children":2719},{"className":2718},[],[2720],{"type":602,"value":2721},"\u002F_admin*",{"type":602,"value":2723},": Mark to create in the dashboard.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2725,"long":24,"ast":2726},"S1 nearly closed",{"type":590,"children":2727},[2728],{"type":593,"tag":594,"props":2729,"children":2730},{},[2731,2736,2738,2743,2745,2751,2753,2758,2760,2766,2768,2773,2775,2779],{"type":593,"tag":598,"props":2732,"children":2733},{},[2734],{"type":602,"value":2735},"S1 nearly closed (2026-10-05):",{"type":602,"value":2737}," Mark confirmed ",{"type":593,"tag":616,"props":2739,"children":2741},{"className":2740},[],[2742],{"type":602,"value":1506},{"type":602,"value":2744}," serves the demo and the container app shows Active in the dashboard; the instance ran 20 minutes without a restart. The Access gate: Mark added ",{"type":593,"tag":616,"props":2746,"children":2748},{"className":2747},[],[2749],{"type":602,"value":2750},"demo.qpoint.io\u002F_admin*",{"type":602,"value":2752}," to the existing ",{"type":593,"tag":616,"props":2754,"children":2756},{"className":2755},[],[2757],{"type":602,"value":2452},{"type":602,"value":2759}," Access application (shared policy) and confirmed ",{"type":593,"tag":616,"props":2761,"children":2763},{"className":2762},[],[2764],{"type":602,"value":2765},"\u002F",{"type":602,"value":2767}," is public and ",{"type":593,"tag":616,"props":2769,"children":2771},{"className":2770},[],[2772],{"type":602,"value":1973},{"type":602,"value":2774}," asks for sign-in. (An earlier version of this entry recorded the gate as done before it was.) S1 verdict: pass (",{"type":593,"tag":607,"props":2776,"children":2777},{"href":2583},[2778],{"type":602,"value":2586},{"type":602,"value":2780},"). Phase 0 waits only on S4.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2782,"long":24,"ast":2783},"Phase 1 done",{"type":590,"children":2784},[2785],{"type":593,"tag":594,"props":2786,"children":2787},{},[2788,2793,2795,2801,2803,2809,2810,2815,2816,2821,2822,2827,2828,2834,2835,2841,2843,2849,2851,2857,2859,2864],{"type":593,"tag":598,"props":2789,"children":2790},{},[2791],{"type":602,"value":2792},"Phase 1 done (2026-10-05):",{"type":602,"value":2794}," the real ",{"type":593,"tag":616,"props":2796,"children":2798},{"className":2797},[],[2799],{"type":602,"value":2800},"scripts\u002Fqdash-seed\u002Fgenerate.py",{"type":602,"value":2802}," has a keyed rolling mode (",{"type":593,"tag":616,"props":2804,"children":2806},{"className":2805},[],[2807],{"type":602,"value":2808},"--rolling",{"type":602,"value":623},{"type":593,"tag":616,"props":2811,"children":2813},{"className":2812},[],[2814],{"type":602,"value":2662},{"type":602,"value":623},{"type":593,"tag":616,"props":2817,"children":2819},{"className":2818},[],[2820],{"type":602,"value":2669},{"type":602,"value":623},{"type":593,"tag":616,"props":2823,"children":2825},{"className":2824},[],[2826],{"type":602,"value":2677},{"type":602,"value":623},{"type":593,"tag":616,"props":2829,"children":2831},{"className":2830},[],[2832],{"type":602,"value":2833},"--emit-only",{"type":602,"value":623},{"type":593,"tag":616,"props":2836,"children":2838},{"className":2837},[],[2839],{"type":602,"value":2840},"--calibrate",{"type":602,"value":2842},"); report in ",{"type":593,"tag":607,"props":2844,"children":2846},{"href":2845},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fphase1-generator",[2847],{"type":602,"value":2848},"phase1-generator.md",{"type":602,"value":2850},". Re-verified before commit: no-flag build byte-identical to the previous generator, pids unique, 32\u002F32 concatenation comparisons identical (2-minute chunks included). The agent also reports base + 30 ticks = one ingest on all 22 tables and 13 routes at three anchors, ~0.03 s per tick, and the keyed world at ",{"type":593,"tag":616,"props":2852,"children":2854},{"className":2853},[],[2855],{"type":602,"value":2856},"now",{"type":602,"value":2858}," passes the posture dip and recovery (8 baseline failures left, all from shadow processes counted as monitored). The outlier is structural now: priya top in 240\u002F240 worlds at 2.6–3.5× the median; marcus's weight lowered to 1.4 in keyed mode only so he's a clear runner-up. Carried to Phase 4: E5's reference must keep whole runs (chunks cut by record time, prune keeps whole runs); worlds that roll past ~30 days need pruning for pid space. qcontrol ",{"type":593,"tag":616,"props":2860,"children":2862},{"className":2861},[],[2863],{"type":602,"value":2519},{"type":602,"value":2865}," commit for Phase 1.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2867,"long":24,"ast":2868},"S4 done, Phase 0 closed",{"type":590,"children":2869},[2870],{"type":593,"tag":594,"props":2871,"children":2872},{},[2873,2878,2879,2885,2887,2892,2894,2899,2901,2907,2909,2915,2917,2923],{"type":593,"tag":598,"props":2874,"children":2875},{},[2876],{"type":602,"value":2877},"S4 done, Phase 0 closed (2026-10-05):",{"type":602,"value":1437},{"type":593,"tag":607,"props":2880,"children":2882},{"href":2881},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fs4-scale",[2883],{"type":602,"value":2884},"s4-scale.md",{"type":602,"value":2886},") measured worlds of 4–2,500 people (5,000 extrapolated) on today's qdash. The largest world that keeps every UI route under 1 s p95, a 2-minute tick under 12 s and a seed under 3 min is ",{"type":593,"tag":598,"props":2888,"children":2889},{},[2890],{"type":602,"value":2891},"~300 people",{"type":602,"value":2893}," (laptop numbers; Cloudflare's fractional vCPU will lower them). The Mid-sized target of 400 already fails on ",{"type":593,"tag":616,"props":2895,"children":2897},{"className":2896},[],[2898],{"type":602,"value":1537},{"type":602,"value":2900}," (1.06 s), which grows with the square of the fleet; next come ",{"type":593,"tag":616,"props":2902,"children":2904},{"className":2903},[],[2905],{"type":602,"value":2906},"\u002Fapi\u002Fagents?period=7d",{"type":602,"value":2908}," (~560 people, also N²) and the 3-minute seed (~610). ",{"type":593,"tag":616,"props":2910,"children":2912},{"className":2911},[],[2913],{"type":602,"value":2914},"\u002Fapi\u002Fsessions",{"type":602,"value":2916}," returns 500 past ~1,800 people (one SQL variable per run). 5,000 needs real qdash work (most routes 2–10 s, 40-minute seed, 5.3 GB db). Ticks stay cheap at every size (0.02–0.13 s ingest). ",{"type":593,"tag":616,"props":2918,"children":2920},{"className":2919},[],[2921],{"type":602,"value":2922},"\u002Fapi\u002Factivity",{"type":602,"value":2924}," peaks at 1.2–2.2 GB RSS at 1,000–2,500 people; the UI doesn't call it, so the public Worker blocks it. Nine qdash performance findings listed for qcontrol. Open for Mark: ship sizes within today's qdash (Small 4, Mid ~150, Enterprise 300) or fix the two N² queries first (Mid 400, Enterprise ~600).",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2926,"long":24,"ast":2927},"Phases 2 and 3 started",{"type":590,"children":2928},[2929],{"type":593,"tag":594,"props":2930,"children":2931},{},[2932,2937,2939,2945,2946,2952,2953,2959,2960,2966,2967,2973,2975,2981],{"type":593,"tag":598,"props":2933,"children":2934},{},[2935],{"type":602,"value":2936},"Phases 2 and 3 started (2026-10-05):",{"type":602,"value":2938}," Phase 2 (the approved world model into the generator: three companies, 13 violation types, mix and mix-log, four scenarios, First run onboarding, three new controls; CLI contract ",{"type":593,"tag":616,"props":2940,"children":2942},{"className":2941},[],[2943],{"type":602,"value":2944},"--world",{"type":602,"value":623},{"type":593,"tag":616,"props":2947,"children":2949},{"className":2948},[],[2950],{"type":602,"value":2951},"--mix",{"type":602,"value":623},{"type":593,"tag":616,"props":2954,"children":2956},{"className":2955},[],[2957],{"type":602,"value":2958},"--mix-log",{"type":602,"value":623},{"type":593,"tag":616,"props":2961,"children":2963},{"className":2962},[],[2964],{"type":602,"value":2965},"--scenarios",{"type":602,"value":623},{"type":593,"tag":616,"props":2968,"children":2970},{"className":2969},[],[2971],{"type":602,"value":2972},"--onboard-start",{"type":602,"value":2974}," for demo.py) and Phase 3 (production ",{"type":593,"tag":616,"props":2976,"children":2978},{"className":2977},[],[2979],{"type":602,"value":2980},"deploy\u002Fqdash-demo\u002Fprune.py",{"type":602,"value":2982},": batched whole-run deletes under a lock budget, schema guard, oracle\u002Frolling\u002Fconcurrency\u002Fscale tests) run in parallel in the c112 worktree on separate files and ports. The qdash performance fixes are offered as a separate task (S4 findings P1–P5, P9), outside c112.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":2984,"long":24,"ast":2985},"Shareable image",{"type":590,"children":2986},[2987],{"type":593,"tag":594,"props":2988,"children":2989},{},[2990,2995,2997,3003,3005,3011,3013,3019,3021,3026,3027,3033,3035,3041,3043,3049,3051,3056,3058,3063],{"type":593,"tag":598,"props":2991,"children":2992},{},[2993],{"type":602,"value":2994},"Shareable image (2026-10-05):",{"type":602,"value":2996}," a colleague asked to run the demo with ",{"type":593,"tag":616,"props":2998,"children":3000},{"className":2999},[],[3001],{"type":602,"value":3002},"docker compose",{"type":602,"value":3004}," from a registry he can read. Cloudflare's registry can't be shared outside the account, so the S1 image went to GitHub's registry as ",{"type":593,"tag":616,"props":3006,"children":3008},{"className":3007},[],[3009],{"type":602,"value":3010},"ghcr.io\u002Fqpoint-io\u002Fqdash-demo:s1",{"type":602,"value":3012}," (private org package, digest ",{"type":593,"tag":616,"props":3014,"children":3016},{"className":3015},[],[3017],{"type":602,"value":3018},"sha256:dec32813…",{"type":602,"value":3020},"). Pulled back and served through compose: ",{"type":593,"tag":616,"props":3022,"children":3024},{"className":3023},[],[3025],{"type":602,"value":2765},{"type":602,"value":1208},{"type":593,"tag":616,"props":3028,"children":3030},{"className":3029},[],[3031],{"type":602,"value":3032},"\u002Fapi\u002Fproviders",{"type":602,"value":3034}," 200. Read access is granted per person in the package settings, but only to org members (GitHub doesn't allow outside users on private org packages), so an outside colleague gets a ",{"type":593,"tag":616,"props":3036,"children":3038},{"className":3037},[],[3039],{"type":602,"value":3040},"docker save",{"type":602,"value":3042}," tarball or a non-org registry instead. He's outside the company, so a file was prepared instead (",{"type":593,"tag":616,"props":3044,"children":3046},{"className":3045},[],[3047],{"type":602,"value":3048},"~\u002FDownloads\u002Fqdash-demo\u002F",{"type":602,"value":3050},": the image as a 56 MB ",{"type":593,"tag":616,"props":3052,"children":3054},{"className":3053},[],[3055],{"type":602,"value":3040},{"type":602,"value":3057}," file, a compose file and a README), but Mark chose to wait for the first standard release (\"friends and family\", after Phase 5). Future releases: D19, in Phase 5 of ",{"type":593,"tag":607,"props":3059,"children":3061},{"href":3060},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fplan#phase-5-the-wrappers",[3062],{"type":602,"value":644},{"type":602,"value":3064},", with check E20.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":3066,"long":24,"ast":3067},"Phase 3 done",{"type":590,"children":3068},[3069],{"type":593,"tag":594,"props":3070,"children":3071},{},[3072,3077,3078,3083,3084,3090,3092,3098,3100,3105],{"type":593,"tag":598,"props":3073,"children":3074},{},[3075],{"type":602,"value":3076},"Phase 3 done (2026-10-05):",{"type":602,"value":674},{"type":593,"tag":616,"props":3079,"children":3081},{"className":3080},[],[3082],{"type":602,"value":2980},{"type":602,"value":1437},{"type":593,"tag":607,"props":3085,"children":3087},{"href":3086},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fphase3-prune",[3088],{"type":602,"value":3089},"phase3-prune.md",{"type":602,"value":3091},"): S2's rule, now batched under a 250 ms lock budget with a schema guard. Re-verified before commit against the committed Phase 1 generator: oracle PASS at three cutoffs and after 10 rolling prunes (every table equal; API differences are list order only, matching the same-db control). Agent-reported: 0 errors across 7,690 requests during overlapping ingests and prunes (max lock 24 ms); at 300 people a 1-day prune holds the lock at most 87 ms (the spike's single transaction held 0.74–1.1 s). For Phase 4: prune after each tick's ingest, never concurrently; create the optional ",{"type":593,"tag":616,"props":3093,"children":3095},{"className":3094},[],[3096],{"type":602,"value":3097},"sessions(run_id)",{"type":602,"value":3099}," index after each seed (~20% faster ",{"type":593,"tag":616,"props":3101,"children":3103},{"className":3102},[],[3104],{"type":602,"value":2914},{"type":602,"value":3106},", no answer changes); E3 measures the oldest run's last activity, and E5's reference uses the same whole-run filter.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":3108,"long":24,"ast":3109},"Phase 4 done",{"type":590,"children":3110},[3111],{"type":593,"tag":594,"props":3112,"children":3113},{},[3114,3119,3120,3126,3128,3134,3136,3142,3144,3150,3152,3157],{"type":593,"tag":598,"props":3115,"children":3116},{},[3117],{"type":602,"value":3118},"Phase 4 done (2026-10-05):",{"type":602,"value":674},{"type":593,"tag":616,"props":3121,"children":3123},{"className":3122},[],[3124],{"type":602,"value":3125},"deploy\u002Fqdash-demo\u002Fdemo.py",{"type":602,"value":3127}," with the panel, the pill fragment and five test suites (",{"type":593,"tag":607,"props":3129,"children":3131},{"href":3130},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fphase4-demo",[3132],{"type":602,"value":3133},"phase4-demo.md",{"type":602,"value":3135},"). Agent-reported: rolling = regenerating for Small, First run and Mid-sized (tables identical; API differences list order only); four hard kills mid-tick with no double or missing ingests; reset swap gap 31 ms with 0 failed polls; 53\u002F53 control-API checks; ",{"type":593,"tag":616,"props":3137,"children":3139},{"className":3138},[],[3140],{"type":602,"value":3141},"--size all",{"type":602,"value":3143}," seeds four worlds in 78 s; First run's first agent 108 s after Start. Checked by hand: ",{"type":593,"tag":616,"props":3145,"children":3147},{"className":3146},[],[3148],{"type":602,"value":3149},"--size mid",{"type":602,"value":3151}," seeds Halyard (150 people) in 39 s; the panel renders its world card, 13 violation types with descriptions, the slider with both apply buttons, the four scenarios and Reset\u002FPause; qdash shows 150 people covered and ~$1.6k over 7 days; the first tick ran in 0.38 s ",{"type":593,"tag":598,"props":3153,"children":3154},{},[3155],{"type":602,"value":3156},"but added no rows",{"type":602,"value":3158},": the generator under-fills the hours before its anchor, and since every reset anchors at now, the live demo would always run thin. Sent to the Phase 2 agent to fix with a density test (plus idempotent state seeding for First run's teams).",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":3160,"long":24,"ast":3161},"Phase 2 done",{"type":590,"children":3162},[3163],{"type":593,"tag":594,"props":3164,"children":3165},{},[3166,3171,3172,3178,3180,3186,3188,3194,3196,3201,3203,3209],{"type":593,"tag":598,"props":3167,"children":3168},{},[3169],{"type":602,"value":3170},"Phase 2 done (2026-10-05):",{"type":602,"value":674},{"type":593,"tag":616,"props":3173,"children":3175},{"className":3174},[],[3176],{"type":602,"value":3177},"generate.py --world small|mid|enterprise|first-run",{"type":602,"value":3179}," with ",{"type":593,"tag":616,"props":3181,"children":3183},{"className":3182},[],[3184],{"type":602,"value":3185},"worlds.py",{"type":602,"value":3187}," and one definition file per company (",{"type":593,"tag":607,"props":3189,"children":3191},{"href":3190},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fphase2-world-model",[3192],{"type":602,"value":3193},"phase2-world-model.md",{"type":602,"value":3195},"). Fernwood 4 people ($445 \u002F 90 days), Halyard 150 (11 departments, 8 teams, $24.2k), Corvane 300 (14 teams, 5 provider orgs, $51.4k); Enterprise seeds in 53 s with ",{"type":593,"tag":616,"props":3197,"children":3199},{"className":3198},[],[3200],{"type":602,"value":1537},{"type":602,"value":3202}," p95 0.49 s. Agent-reported: 24\u002F24 concatenations identical; mix 0 \u002F 9.5 \u002F 50.8% measured at 0 \u002F 10 \u002F 50%, only selected types, 0% changes no findings; all 15 scenario findings land in the same tick as their beat; First run's first agent at +75 s. Phase 4's two issues fixed: run counts keyed to a fixed epoch (the thin anchor day), idempotent state seeding. Deviations: risky tool call is a destructive MCP tool (qdash's tool rules can't see command arguments); Ollama only as shadow AI; volumes stay at S4's per-person level. Five more qdash product findings in the report. Re-verified before commit: legacy byte-identical, density test OK; ",{"type":593,"tag":616,"props":3204,"children":3206},{"className":3205},[],[3207],{"type":602,"value":3208},"demo.py --size mid",{"type":602,"value":3210}," end to end, first tick added 11 run records in 0.28 s (it added none before the fix). Open: the companies keep office hours (nothing before 09:00 Pacific, quiet weekends), so the demo looks idle at night and on weekends.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":3212,"long":24,"ast":3213},"follow-the-sun and Phase 5 started",{"type":590,"children":3214},[3215],{"type":593,"tag":594,"props":3216,"children":3217},{},[3218,3223,3225,3231,3233,3239,3240,3245,3246,3252,3254,3259],{"type":593,"tag":598,"props":3219,"children":3220},{},[3221],{"type":602,"value":3222},"follow-the-sun and Phase 5 started (2026-10-05):",{"type":602,"value":3224}," Mark chose follow the sun (D20) over office hours or an always-midday world. That change (offices per world, per-person local time, a light weekend rate) runs in ",{"type":593,"tag":616,"props":3226,"children":3228},{"className":3227},[],[3229],{"type":602,"value":3230},"scripts\u002Fqdash-seed\u002F",{"type":602,"value":3232}," while Phase 5 builds the Docker image, the four-class Worker, ",{"type":593,"tag":616,"props":3234,"children":3236},{"className":3235},[],[3237],{"type":602,"value":3238},"deploy.sh",{"type":602,"value":1208},{"type":593,"tag":616,"props":3241,"children":3243},{"className":3242},[],[3244],{"type":602,"value":2003},{"type":602,"value":1547},{"type":593,"tag":616,"props":3247,"children":3249},{"className":3248},[],[3250],{"type":602,"value":3251},"deploy\u002Fqdash-demo\u002F",{"type":602,"value":3253},". Phase 5 doesn't deploy; the main session deploys after review, replacing the S1 spike Worker on ",{"type":593,"tag":616,"props":3255,"children":3257},{"className":3256},[],[3258],{"type":602,"value":1506},{"type":602,"value":1769},{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":3261,"long":24,"ast":3262},"record note",{"type":590,"children":3263},[3264],{"type":593,"tag":594,"props":3265,"children":3266},{},[3267,3272,3274,3280,3282,3288],{"type":593,"tag":598,"props":3268,"children":3269},{},[3270],{"type":602,"value":3271},"record note (2026-10-05):",{"type":602,"value":3273}," a parallel session added decision D19 (releases for outside collaborators: a downloadable image + compose behind its own Access app at ",{"type":593,"tag":616,"props":3275,"children":3277},{"className":3276},[],[3278],{"type":602,"value":3279},"\u002F_download\u002F",{"type":602,"value":3281},", stored in R2) and its plan section. Its CYCLE.md lines were swept into this session's Phase 3 record commit ",{"type":593,"tag":616,"props":3283,"children":3285},{"className":3284},[],[3286],{"type":602,"value":3287},"ec1be32b9",{"type":602,"value":3289}," while still uncommitted there; the content is that session's, unchanged. Follow the sun was renumbered D19 → D20 to remove the clash. Phase 5 as built doesn't include releases.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":3291,"long":24,"ast":3292},"Phase 5 committed; releases folded in",{"type":590,"children":3293},[3294],{"type":593,"tag":594,"props":3295,"children":3296},{},[3297,3302,3304,3310,3312,3318,3320,3326,3328,3333],{"type":593,"tag":598,"props":3298,"children":3299},{},[3300],{"type":602,"value":3301},"Phase 5 committed; releases folded in (2026-10-05):",{"type":602,"value":3303}," Phase 5 (image, four-class Worker, panel for all sizes, deploy.sh, check.py) committed as qcontrol ",{"type":593,"tag":616,"props":3305,"children":3307},{"className":3306},[],[3308],{"type":602,"value":3309},"a6402def",{"type":602,"value":3311},", Worker typecheck and 13\u002F13 routing tests re-run by the main session (",{"type":593,"tag":607,"props":3313,"children":3315},{"href":3314},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Fphase5-wrappers",[3316],{"type":602,"value":3317},"phase5-wrappers.md",{"type":602,"value":3319},"). Mark chose standard instances for Mid-sized and First run and to fold the releases (D19) into this deploy (D21). The releases session (\"Docker Compose setup for Cloudflare Pages\") was told c112 has taken it over; its plan section was committed as ",{"type":593,"tag":616,"props":3321,"children":3323},{"className":3322},[],[3324],{"type":602,"value":3325},"869b1c5c5",{"type":602,"value":3327},". Phase 5b (compose file, release build in deploy.sh, ",{"type":593,"tag":616,"props":3329,"children":3331},{"className":3330},[],[3332],{"type":602,"value":3279},{"type":602,"value":3334}," route over R2, instance types) is running; follow the sun is still running in the generator. Deploy waits for both.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":3336,"long":24,"ast":3337},"follow the sun done",{"type":590,"children":3338},[3339],{"type":593,"tag":594,"props":3340,"children":3341},{},[3342,3347,3348,3354,3356,3362],{"type":593,"tag":598,"props":3343,"children":3344},{},[3345],{"type":602,"value":3346},"follow the sun done (2026-10-05):",{"type":602,"value":1437},{"type":593,"tag":607,"props":3349,"children":3351},{"href":3350},"\u002Fcycles\u002Fdesign\u002Fc112\u002Fdoc\u002Ffollow-the-sun",[3352],{"type":602,"value":3353},"follow-the-sun.md",{"type":602,"value":3355},") Halyard: Seattle 83, London 37, Manila 30; Corvane: Boston 135, Denver 45, Dublin 60, Bengaluru 60; Fernwood one office. No UTC weekday hour without new sessions at Mid or Enterprise (0\u002F1,440 per seed; before, ~73 of 120 per week were empty); weekends ~0.33× a weekday with an on-call engineer per office. Re-verified before commit: legacy byte-identical, ",{"type":593,"tag":616,"props":3357,"children":3359},{"className":3358},[],[3360],{"type":602,"value":3361},"test_worlds_sun",{"type":602,"value":3363}," OK. Trade-off to watch on the live demo: the same volume now spans 24 hours, so a given hour is quieter (Mid 1–3 new sessions an hour; ~91% of 2-minute ticks non-empty). If it reads too quiet, raise per-person intensity within S4's limits.",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":3365,"long":24,"ast":3366},"first deploy",{"type":590,"children":3367},[3368],{"type":593,"tag":594,"props":3369,"children":3370},{},[3371,3376,3377,3383,3385,3391,3393,3398,3400,3406,3408,3414,3415,3420],{"type":593,"tag":598,"props":3372,"children":3373},{},[3374],{"type":602,"value":3375},"first deploy (2026-10-05):",{"type":602,"value":674},{"type":593,"tag":616,"props":3378,"children":3380},{"className":3379},[],[3381],{"type":602,"value":3382},"deploy.sh --no-release",{"type":602,"value":3384}," put the ",{"type":593,"tag":616,"props":3386,"children":3388},{"className":3387},[],[3389],{"type":602,"value":3390},"qdash-demo",{"type":602,"value":3392}," Worker on ",{"type":593,"tag":616,"props":3394,"children":3396},{"className":3395},[],[3397],{"type":602,"value":1506},{"type":602,"value":3399}," (S1 moved back to workers.dev; R2 bucket ",{"type":593,"tag":616,"props":3401,"children":3403},{"className":3402},[],[3404],{"type":602,"value":3405},"qdash-demo-releases",{"type":602,"value":3407}," created). All four instances up within a minute (lax13, lax10, pdx02, lax13). Mark's first load timed out while Cloudflare was still provisioning; after that every request in the log was OK. Measured from 45 s of Mark browsing: API median 0.12 s end to end, slowest single calls ~0.9 s (",{"type":593,"tag":616,"props":3409,"children":3411},{"className":3410},[],[3412],{"type":602,"value":3413},"\u002Fapi\u002Fagents?period=all",{"type":602,"value":623},{"type":593,"tag":616,"props":3416,"children":3418},{"className":3417},[],[3419],{"type":602,"value":1537},{"type":602,"value":3421},"), but pages that fire many calls at once (Teams' per-team cost queries) took 3–8 s because the calls queue on half a CPU. Mark: cache, and update every 5 minutes (D23).",{"project":9,"cycle":33,"dir":35,"title":36,"date":4,"lead":3423,"long":24,"ast":3424},"cache and 5-minute ticks deployed",{"type":590,"children":3425},[3426],{"type":593,"tag":594,"props":3427,"children":3428},{},[3429,3434,3436,3442,3444,3450,3451,3455,3457,3463],{"type":593,"tag":598,"props":3430,"children":3431},{},[3432],{"type":602,"value":3433},"cache and 5-minute ticks deployed (2026-10-05):",{"type":602,"value":3435}," qcontrol ",{"type":593,"tag":616,"props":3437,"children":3439},{"className":3438},[],[3440],{"type":602,"value":3441},"63893098",{"type":602,"value":3443},", Worker version ",{"type":593,"tag":616,"props":3445,"children":3447},{"className":3446},[],[3448],{"type":602,"value":3449},"15176262",{"type":602,"value":1437},{"type":593,"tag":607,"props":3452,"children":3453},{"href":3314},[3454],{"type":602,"value":3317},{"type":602,"value":3456}," \"Cache and 5-minute ticks\"). Re-verified: Worker tsc clean, 30\u002F30 tests. The agent found the real cause of slow pages: concurrency, plus the qdash UI's 8 s request timeout. A cold Teams page fires 15 calls; at ½ vCPU the slowest finish past 8 s, the UI aborts and re-fires them (7 of 15 in one capture), adding load. Cached, the same page answers in 0.01 s; cold it's 12–13 s (emulated). Left: the first load after each tick is still cold once per size per 5 minutes. Options: warm the hot routes from the Worker right after each tick, or ",{"type":593,"tag":616,"props":3458,"children":3460},{"className":3459},[],[3461],{"type":602,"value":3462},"standard-2",{"type":602,"value":3464}," for Mid.",[3466,3606,3612,3618],{"id":9,"label":10,"commits":3467},[3468,3471,3474,3477,3480,3483,3486,3489,3492,3495,3498,3501,3504,3507,3510,3513,3516,3519,3522,3525,3528,3531,3534,3537,3540,3543,3546,3549,3552,3555,3558,3561,3564,3567,3570,3573,3576,3579,3582,3585,3588,3591,3594,3597,3600,3603],{"repo":9,"sha":3469,"date":18,"subject":3470,"pr":20},"dec67dde92","c114: pickup note for Monday's review walk",{"repo":9,"sha":3472,"date":18,"subject":3473,"pr":20},"eac972b12c","c114: Phase 4 review walk page",{"repo":9,"sha":3475,"date":18,"subject":3476,"pr":20},"0f5cbcb660","c114: D3 reach per device — pending findings stay pending",{"repo":9,"sha":3478,"date":18,"subject":3479,"pr":20},"04ddb4cab7","c114: S7 Policy Group mock; Phase 3 mocks complete",{"repo":9,"sha":3481,"date":18,"subject":3482,"pr":20},"1fbc18f781","c114: S5 Framework detail from the earlier framework page",{"repo":9,"sha":3484,"date":18,"subject":3485,"pr":20},"81a127765c","c114: S4 Policies & Frameworks mock, three views in one area",{"repo":9,"sha":3487,"date":18,"subject":3488,"pr":20},"5a797bbb8e","c114: S3 Policy detail mock with the change sheet (S6 \u002F S8b)",{"repo":9,"sha":3490,"date":18,"subject":3491,"pr":20},"5429239a23","c114: S2 Findings mock from the live listing's pieces",{"repo":9,"sha":3493,"date":18,"subject":3494,"pr":20},"b9b7e3f14d","c114: S1 Finding detail mock on the fixture world",{"repo":9,"sha":3496,"date":18,"subject":3497,"pr":20},"2465c12c82","c114: Phase 2 surface map and wireframes; D8 reuse rule",{"repo":9,"sha":3499,"date":18,"subject":3500,"pr":20},"d84d131ac8","c114: Governance Phase II kicked off; object model and Phase 4 model page",{"repo":9,"sha":3502,"date":39,"subject":3503,"pr":20},"66ae12b894","c113: scheduled baker report; containers deleted and c112 close recorded",{"repo":9,"sha":3505,"date":39,"subject":3506,"pr":20},"1ffd8d48c9","c112: closed with its outcome; superseded for serving by c113",{"repo":9,"sha":3508,"date":39,"subject":3509,"pr":20},"debbbe1dbb","c113: full bake and cutover recorded; container deletion held for review",{"repo":9,"sha":3511,"date":31,"subject":3512,"pr":20},"8203a5d238","c113: Phase 3 upload and baked checks report",{"repo":9,"sha":3514,"date":31,"subject":3515,"pr":20},"fdeaba1909","c113: Phase 1 bake.py report; Phases 1 and 2 re-verified and recorded",{"repo":9,"sha":3517,"date":31,"subject":3518,"pr":20},"364e5ba41f","c113: Phase 2 Worker baked backend report; S5 recorded",{"repo":9,"sha":3520,"date":31,"subject":3521,"pr":20},"a3e5f5bd78","c113: S5 crawl coverage passes; pack-per-route and tier-2 aliasing in the plan",{"repo":9,"sha":3523,"date":31,"subject":3524,"pr":20},"f957e262b9","c113: qdash Baked Demo kicked off; c112 overload recorded",{"repo":9,"sha":3526,"date":31,"subject":3527,"pr":20},"6ec5fade56","c112: pill hidden by default — deployed (8b49b39b)",{"repo":9,"sha":3529,"date":31,"subject":3530,"pr":20},"f3e9b7c7a1","c112: pill hidden by default",{"repo":9,"sha":3532,"date":31,"subject":3533,"pr":20},"6575505da1","c112: Option-Q pill shortcut deployed",{"repo":9,"sha":3535,"date":4,"subject":3536,"pr":20},"4c14ed4fe8","c112: cache and 5-minute ticks deployed",{"repo":9,"sha":3538,"date":4,"subject":3539,"pr":20},"2065be712f","c112: first deploy recorded; D23 five-minute ticks and a Worker cache",{"repo":9,"sha":3541,"date":4,"subject":3542,"pr":20},"c53c259069","c112: Phase 5b releases and instance types — report",{"repo":9,"sha":3544,"date":4,"subject":3545,"pr":20},"e319fecdf9","c112: follow the sun done — report and record",{"repo":9,"sha":3547,"date":4,"subject":3548,"pr":20},"85c1aa14aa","c112: D22 — downloads share the internal Access app; E20 updated",{"repo":9,"sha":3550,"date":4,"subject":3551,"pr":20},"8d26d1f4a0","c112: D21 standard instances, releases folded in; Phase 5 committed",{"repo":9,"sha":3553,"date":4,"subject":3554,"pr":20},"869b1c5c5c","c112 plan: releases for outside collaborators (D19) and check E20",{"repo":9,"sha":3556,"date":4,"subject":3557,"pr":20},"466a06d280","c112: Phase 5 wrappers report",{"repo":9,"sha":3559,"date":4,"subject":3560,"pr":20},"5d6464ad1b","c112: renumber follow the sun to D20 (D19 is releases, from a parallel session); note the swept commit",{"repo":9,"sha":3562,"date":4,"subject":3563,"pr":20},"1c257e3afe","c112: D19 follow the sun; Phase 5 started",{"repo":9,"sha":3565,"date":4,"subject":3566,"pr":20},"483ed3961e","c112: Phase 2 world model done — report and record",{"repo":9,"sha":3568,"date":4,"subject":3569,"pr":20},"3cd14ea56e","c112: Phase 4 demo.py done — report and record; thin-tick bug sent to Phase 2",{"repo":9,"sha":3571,"date":4,"subject":3572,"pr":20},"ec1be32b9e","c112: Phase 3 prune done — report and record",{"repo":9,"sha":3574,"date":4,"subject":3575,"pr":20},"0b9cdaf949","c112: Phases 2 and 3 started",{"repo":9,"sha":3577,"date":4,"subject":3578,"pr":20},"038da0f6b2","c112: sizes fit today's qdash (Small 4, Mid ~150, Enterprise ~300); perf fixes in parallel",{"repo":9,"sha":3580,"date":4,"subject":3581,"pr":20},"091b6baed8","c112: S4 scale findings — ~300 people is today's ceiling; Phase 0 closed",{"repo":9,"sha":3583,"date":4,"subject":3584,"pr":20},"f77868aa34","c112: D18 — no planned spend outlier in the new companies",{"repo":9,"sha":3586,"date":4,"subject":3587,"pr":20},"9805a4b43d","c112: Phase 1 rolling generator done — report and record",{"repo":9,"sha":3589,"date":4,"subject":3590,"pr":20},"18f1408804","c112: kick off qdash Demo Container — plan, world model, spikes S1–S3",{"repo":9,"sha":3592,"date":4,"subject":3593,"pr":20},"e423948773","c111: Cards | Micro | List layouts on the Number view; 30 px cards on week rows",{"repo":9,"sha":3595,"date":4,"subject":3596,"pr":20},"5f1ed998c9","c111: promote the week detail to \u002Fcycles\u002Fweeks; commits sit under the screenshots",{"repo":9,"sha":3598,"date":4,"subject":3599,"pr":20},"1b8920bf06","c111 week detail: Pages & components pictured this week, each with its evolution page",{"repo":9,"sha":3601,"date":4,"subject":3602,"pr":20},"531b7d6d69","c111 Phase 2: week detail mock under \u002Fpages\u002F_meta with a screengrab slideshow",{"repo":9,"sha":3604,"date":4,"subject":3605,"pr":20},"c222be4a44","c111 Phase 0–1: cycles by week — timeline dates, shared window feed, Week view on \u002Fcycles",{"id":512,"label":513,"commits":3607},[3608],{"repo":512,"sha":3609,"date":4,"subject":3610,"pr":3611},"2993a60","fix(deps): override fontless esbuild to ^0.28.1 (GHSA-g7r4-m6w7-qqqr) (#75)",75,{"id":3613,"label":3613,"commits":3614},"qcontrol",[3615],{"repo":3613,"sha":3616,"date":4,"subject":3617,"pr":20},"77e6818f5","qdash ui README: the branch is rebased and force-pushed — how to catch up",{"id":3619,"label":3619,"commits":3620},"qtap",[3621,3625,3630,3634],{"repo":3619,"sha":3622,"date":18,"subject":3623,"pr":3624},"5686b27","fix dependabot alerts 94-97 (sharp, shell-quote, source-map-js, vue) (#384)",384,{"repo":3619,"sha":3626,"date":3627,"subject":3628,"pr":3629},"c66efbc","2026-10-08","chore: bump Go to 1.27.2 (#383)",383,{"repo":3619,"sha":3631,"date":3627,"subject":3632,"pr":3633},"cb7563e","chore(deps): bump github.com\u002Fcontainerd\u002Fcontainerd\u002Fv2 (#382)",382,{"repo":3619,"sha":3635,"date":3627,"subject":3636,"pr":3637},"cdfca9e","chore(deps): bump the go_modules group across 2 directories with 1 update (#380)",380,[],[],[3641,3650,3655,3660,3666,3674,3679,3684,3689,3693,3698,3701,3708,3712,3716,3721,3726,3732,3736,3740,3746,3753,3757,3762,3767,3771,3775,3780,3787,3792,3797,3801,3805,3810,3816,3820,3825,3829],{"project":9,"cycle":11,"src":17,"route":3642,"caption":3643,"capturedAt":3644,"subject":3645,"evolution":3646,"seq":157,"thread":3647,"variant":3648,"newThing":3649,"moments":55,"subjectSince":18},"\u002Fpages\u002Fphase4\u002Ffinding-detail?findingId=F-S01","S1 minimal: a sanitization finding with only its detect row; enforcement is confirmed in the scope but has not reached this device, so the finding is Open · pending (D3); 15 related","2026-10-09T21:48:41.321Z","page\u002Ffinding-detail","\u002Fcycles\u002Fevolution\u002Fpage\u002Ffinding-detail","Phase 1 — the model on a page","minimal","",{"project":9,"cycle":11,"src":3651,"route":3652,"caption":3653,"capturedAt":3644,"subject":3645,"evolution":3646,"seq":156,"thread":3647,"variant":3654,"newThing":3649,"moments":55,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-finding-detail-overflow.png","\u002Fpages\u002Fphase4\u002Ffinding-detail?findingId=F-S04","S1 overflow: nine organ rows — two Ignores, an expiry, a revoke, Enforced, a reopen when GRC went back to observe, a third Ignore revoked; related shows 5 of 15 and says so","overflow",{"project":9,"cycle":11,"src":3656,"route":3657,"caption":3658,"capturedAt":3644,"subject":3645,"evolution":3646,"seq":160,"thread":3647,"variant":3659,"newThing":3649,"moments":55,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-finding-detail-unknown.png","\u002Fpages\u002Fphase4\u002Ffinding-detail?findingId=F-NOPE","S1 unknown id: honest absence, the count of findings the world knows, a way back","unknown",{"project":9,"cycle":11,"src":3661,"route":3662,"caption":3663,"capturedAt":3644,"subject":3645,"evolution":3646,"seq":139,"thread":3647,"variant":3664,"newThing":3665,"moments":55,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-finding-detail.png","\u002Fpages\u002Fphase4\u002Ffinding-detail?findingId=F-A","S1 typical: F-A at the end of the Vanta story — allowed by the Team A exception, reopened when it was revoked, Enforced on confirmation; four organ rows, two related, Respond with reach counts","typical","S1 Finding detail on the fixture world: evidence above the line, the organ below, Respond with reach; Ignore and Create exception live",{"project":9,"cycle":11,"src":3667,"route":3668,"caption":3669,"capturedAt":3644,"subject":3670,"evolution":3671,"seq":392,"thread":3647,"variant":3672,"newThing":3649,"moments":156,"subjectSince":3673},"\u002Fcycles\u002Fdesign\u002Fc114-findings-empty.png","\u002Fpages\u002Fphase4\u002Ffindings?state=empty","S2 empty: no findings at all — the all-clear with the policies still evaluating","page\u002Ffindings","\u002Fcycles\u002Fevolution\u002Fpage\u002Ffindings","empty","2026-08-18",{"project":9,"cycle":11,"src":3675,"route":910,"caption":3676,"capturedAt":3644,"subject":3670,"evolution":3671,"seq":100,"thread":3647,"variant":3677,"newThing":3678,"moments":156,"subjectSince":3673},"\u002Fcycles\u002Fdesign\u002Fc114-findings-expanded.png","S2 expanded: the sanitization policy open — its section (description, severity with the recommended value, counts, upcoming deadlines) over the four member rows, and the first member’s adjudication card: subject, applies via, the clock with Ignore \u002F Create exception \u002F Block, evidence beside the lifecycle","expanded","S2 Findings on the fixture world: the live listing’s pieces where they fit; Open and Resolved as toggles, Grouped ⇄ Individual, group header → policy, finding id → S1",{"project":9,"cycle":11,"src":3680,"route":3681,"caption":3682,"capturedAt":3644,"subject":3670,"evolution":3671,"seq":126,"thread":3647,"variant":3683,"newThing":3649,"moments":156,"subjectSince":3673},"\u002Fcycles\u002Fdesign\u002Fc114-findings-filtered.png","\u002Fpages\u002Fphase4\u002Ffindings?q=zzz","S2 filtered to nothing: the counts stay honest and clear is one click","filtered",{"project":9,"cycle":11,"src":3685,"route":3686,"caption":3687,"capturedAt":3644,"subject":3670,"evolution":3671,"seq":236,"thread":3647,"variant":3688,"newThing":3649,"moments":156,"subjectSince":3673},"\u002Fcycles\u002Fdesign\u002Fc114-findings-individual.png","\u002Fpages\u002Fphase4\u002Ffindings?view=individual","S2 Individual: the same members flat with policy as a column; the filters unchanged","individual",{"project":9,"cycle":11,"src":3690,"route":3691,"caption":3692,"capturedAt":3644,"subject":3670,"evolution":3671,"seq":384,"thread":3647,"variant":3654,"newThing":3649,"moments":156,"subjectSince":3673},"\u002Fcycles\u002Fdesign\u002Fc114-findings-overflow.png","\u002Fpages\u002Fphase4\u002Ffindings?state=overflow","S2 overflow: 400 findings over eight policies, groups collapsed, harness pills capped at two plus N",{"project":9,"cycle":11,"src":3694,"route":3695,"caption":3696,"capturedAt":3644,"subject":3670,"evolution":3671,"seq":196,"thread":3647,"variant":3697,"newThing":3649,"moments":156,"subjectSince":3673},"\u002Fcycles\u002Fdesign\u002Fc114-findings-with-resolved.png","\u002Fpages\u002Fphase4\u002Ffindings?status=open,resolved","S2 with Resolved included: the Vanta policy returns with its two enforced findings; group rows show the resolved count beside the open cells","with-resolved",{"project":9,"cycle":11,"src":3699,"route":910,"caption":3700,"capturedAt":3644,"subject":3670,"evolution":3671,"seq":187,"thread":3647,"variant":3664,"newThing":3678,"moments":156,"subjectSince":3673},"\u002Fcycles\u002Fdesign\u002Fc114-findings.png","S2 typical: the story’s end — 5 open findings in 2 policies, Open on by default, grouped; the Vanta policy has nothing open and is not listed, the page says so",{"project":9,"cycle":11,"src":3702,"route":3703,"caption":3704,"capturedAt":3644,"subject":3705,"evolution":3706,"seq":477,"thread":3647,"variant":3707,"newThing":3649,"moments":91,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-framework-detail-gaps.png","\u002Fpages\u002Fphase4\u002Fframework-detail?frameworkId=soc2","S5 SOC 2 with no mapped policies: every criterion not addressable, every one listed under Gaps","page\u002Fframework-detail","\u002Fcycles\u002Fevolution\u002Fpage\u002Fframework-detail","gaps",{"project":9,"cycle":11,"src":3709,"route":3710,"caption":3711,"capturedAt":3644,"subject":3705,"evolution":3706,"seq":566,"thread":3647,"variant":3654,"newThing":3649,"moments":91,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-framework-detail-overflow.png","\u002Fpages\u002Fphase4\u002Fframework-detail?frameworkId=iso-27001&state=overflow","S5 overflow: all 93 Annex A controls of ISO 27001 with the coverage filter chips; the summary band carries the counts",{"project":9,"cycle":11,"src":3713,"route":3714,"caption":3715,"capturedAt":3644,"subject":3705,"evolution":3706,"seq":571,"thread":3647,"variant":3659,"newThing":3649,"moments":91,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-framework-detail-unknown.png","\u002Fpages\u002Fphase4\u002Fframework-detail?frameworkId=NOPE","S5 unknown id: honest absence with the catalog size and a way back",{"project":9,"cycle":11,"src":3717,"route":3718,"caption":3719,"capturedAt":3644,"subject":3705,"evolution":3706,"seq":466,"thread":3647,"variant":3720,"newThing":3649,"moments":91,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-framework-detail-untracked.png","\u002Fpages\u002Fphase4\u002Fframework-detail?frameworkId=iso-27001","S5 ISO 27001, untracked: three Annex A controls, one fully covered through three data-handling policies, one partial (access control is also procedural), one procedural only","untracked",{"project":9,"cycle":11,"src":3722,"route":3723,"caption":3724,"capturedAt":3644,"subject":3705,"evolution":3706,"seq":400,"thread":3647,"variant":3664,"newThing":3725,"moments":91,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-framework-detail.png","\u002Fpages\u002Fphase4\u002Fframework-detail?frameworkId=owasp-llm","S5 typical, OWASP LLM Top 10 tracked: all ten risks as the earlier page broke them down, with their fit notes — four fully addressable, six partially (injection, supply chain, poisoning, prompt leakage, vectors and misinformation need process Qpoint cannot provide); each mapped policy with capability, configuration and findings as distinct cells; the gap reasons in their own column","S5 Framework detail on the fixture world: coverage derived from mappings, capability · configuration · findings kept distinct, gaps never hidden, Track as a declaration",{"project":9,"cycle":11,"src":3727,"route":750,"caption":3728,"capturedAt":3644,"subject":766,"evolution":3729,"seq":21,"thread":3647,"variant":3730,"newThing":3731,"moments":91,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-governance-model-broad-wins.png","D1 alternative, broad wins: the Team A exception loses to the organisation-wide assignment, so Finding A stays open and is only resolved by enforcement","\u002Fcycles\u002Fevolution\u002Fpage\u002Fgovernance-model","d1=broad-wins","The fourteen intents as one object model on a page: the chain, object cards (stored vs derived), the Vanta story run to its end under the D1–D3 rulings with each alternative one switch away, the effective-policies probe, derived framework coverage, the lifecycle organ",{"project":9,"cycle":11,"src":3733,"route":750,"caption":3734,"capturedAt":3644,"subject":766,"evolution":3729,"seq":55,"thread":3647,"variant":3735,"newThing":3731,"moments":91,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-governance-model-config-is-proof.png","D3 alternative, config is proof: Finding B resolves as Enforced the moment the block is published, before any device confirms it","d3=config-is-proof",{"project":9,"cycle":11,"src":3737,"route":750,"caption":3738,"capturedAt":3644,"subject":766,"evolution":3729,"seq":22,"thread":3647,"variant":3739,"newThing":3731,"moments":91,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-governance-model.png","Ruled: specific wins, forward-only re-evaluation that can reopen, configured → confirmed. Finding A allowed at step 1, B pending then Enforced, C ignored until 31 Oct and back; the probe shows Priya's equal-specificity conflict","ruled",{"project":9,"cycle":11,"src":3741,"route":836,"caption":3742,"capturedAt":3644,"subject":3743,"evolution":20,"seq":91,"thread":3647,"variant":3744,"newThing":3745,"moments":21,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-governance-wireframes.png","Phase 2: the Govern rail today vs proposed, then S1 Finding detail as blocks — evidence above the line, the organ below, Respond as an aside with reach counts","page\u002Fgovernance-wireframes","top","The surface map as grey boxes: the Govern rail proposal, eight surfaces as block frames with the intent behind each block, carries \u002F new \u002F states per surface, and the intents × surfaces matrix",{"project":9,"cycle":11,"src":3747,"route":3748,"caption":3749,"capturedAt":3644,"subject":3750,"evolution":3751,"seq":249,"thread":3647,"variant":3752,"newThing":3649,"moments":156,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policies-by-group.png","\u002Fpages\u002Fphase4\u002Fpolicies?groupBy=group","S4 Policies grouped by Policy Group: each group’s policies under its scope, then the policies in no group","page\u002Fpolicies","\u002Fcycles\u002Fevolution\u002Fpage\u002Fpolicies","by-group",{"project":9,"cycle":11,"src":3754,"route":3755,"caption":3756,"capturedAt":3644,"subject":3750,"evolution":3751,"seq":420,"thread":3647,"variant":3683,"newThing":3649,"moments":156,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policies-filtered.png","\u002Fpages\u002Fphase4\u002Fpolicies?q=zzz","S4 filtered to nothing: the catalog size stays visible, clear is one click",{"project":9,"cycle":11,"src":3758,"route":3759,"caption":3760,"capturedAt":3644,"subject":3750,"evolution":3751,"seq":389,"thread":3647,"variant":3761,"newThing":3649,"moments":156,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policies-frameworks.png","\u002Fpages\u002Fphase4\u002Fpolicies?view=frameworks","S4 Frameworks view: OWASP tracked and ISO not, each with its type, requirement count, derived coverage (fully · partially · not) and open findings through mapped policies","frameworks",{"project":9,"cycle":11,"src":3763,"route":3764,"caption":3765,"capturedAt":3644,"subject":3750,"evolution":3751,"seq":414,"thread":3647,"variant":3766,"newThing":3649,"moments":156,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policies-groups.png","\u002Fpages\u002Fphase4\u002Fpolicies?view=groups","S4 Groups view (S7’s list): four groups with policies, scope and population, state, enforcement summary and open findings; Legal duplicated from Finance","groups",{"project":9,"cycle":11,"src":3768,"route":3769,"caption":3770,"capturedAt":3644,"subject":3750,"evolution":3751,"seq":409,"thread":3647,"variant":3654,"newThing":3649,"moments":156,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policies-overflow.png","\u002Fpages\u002Fphase4\u002Fpolicies?state=overflow","S4 overflow: 79 policies over nine categories, section rows carrying the in-scope count",{"project":9,"cycle":11,"src":3772,"route":3773,"caption":3774,"capturedAt":3644,"subject":3750,"evolution":3751,"seq":406,"thread":3647,"variant":3720,"newThing":3649,"moments":156,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policies-untracked.png","\u002Fpages\u002Fphase4\u002Fpolicies?view=frameworks&state=untracked","S4 Frameworks with none tracked: the catalog still shows what each would cover; tracking is a declaration",{"project":9,"cycle":11,"src":3776,"route":1082,"caption":3777,"capturedAt":3644,"subject":3750,"evolution":3751,"seq":310,"thread":3647,"variant":3778,"newThing":3779,"moments":156,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policies.png","S4 Policies view: the catalog by category (nineteen policies, the earlier framework page’s controls included) — severity as effective with the recommended value and Reset where overridden, the Applies column (organization-wide · groups · Not in scope) with the enforcement summary, framework tags, open findings","policies","S4 Policies & Frameworks: one area, three views; the Control Center’s rows and the Compliance listing’s rows kept where they fit, the framework strip retired, coverage derived",{"project":9,"cycle":11,"src":3781,"route":3782,"caption":3783,"capturedAt":3644,"subject":3784,"evolution":3785,"seq":364,"thread":3647,"variant":3786,"newThing":3649,"moments":139,"subjectSince":186},"\u002Fcycles\u002Fdesign\u002Fc114-policy-detail-nowhere.png","\u002Fpages\u002Fphase4\u002Fpolicy-detail?policyId=P-TRANSPORT","S3 applied nowhere: in the catalog, no scope, no group, no findings — State reads Not in scope and Add scope is the only door","page\u002Fpolicy-detail","\u002Fcycles\u002Fevolution\u002Fpage\u002Fpolicy-detail","nowhere",{"project":9,"cycle":11,"src":3788,"route":3789,"caption":3790,"capturedAt":3644,"subject":3784,"evolution":3785,"seq":316,"thread":3647,"variant":3791,"newThing":3649,"moments":139,"subjectSince":186},"\u002Fcycles\u002Fdesign\u002Fc114-policy-detail-rich.png","\u002Fpages\u002Fphase4\u002Fpolicy-detail?policyId=P-SENS-SANITIZE","S3 rich: organisation-wide sanitization — enforcement confirmed on 97 of 100 devices (three behind the open findings still pending) with GRC set back to observe, 16 findings, two framework requirements, the GRC change in History","rich",{"project":9,"cycle":11,"src":3793,"route":3794,"caption":3795,"capturedAt":3644,"subject":3784,"evolution":3785,"seq":377,"thread":3647,"variant":3796,"newThing":3649,"moments":139,"subjectSince":186},"\u002Fcycles\u002Fdesign\u002Fc114-policy-detail-sheet.png","\u002Fpages\u002Fphase4\u002Fpolicy-detail?policyId=P-MCP","S3 with the change sheet open (S6): adding Team: Legal — the preview says who it reaches, that it broadens, who is reached twice, and that no finding changes","sheet",{"project":9,"cycle":11,"src":3798,"route":3799,"caption":3800,"capturedAt":3644,"subject":3784,"evolution":3785,"seq":349,"thread":3647,"variant":3659,"newThing":3649,"moments":139,"subjectSince":186},"\u002Fcycles\u002Fdesign\u002Fc114-policy-detail-unknown.png","\u002Fpages\u002Fphase4\u002Fpolicy-detail?policyId=P-NOPE","S3 unknown id: honest absence with the catalog size and a way back",{"project":9,"cycle":11,"src":3802,"route":3794,"caption":3803,"capturedAt":3644,"subject":3784,"evolution":3785,"seq":370,"thread":3647,"variant":3664,"newThing":3804,"moments":139,"subjectSince":186},"\u002Fcycles\u002Fdesign\u002Fc114-policy-detail.png","S3 typical, the Vanta policy: severity overridden to High over a Medium recommendation, three scope paths (org-wide direct, two groups), enforcement confirmed org-wide and for Finance with Engineering observed, one exception live and one revoked, the story’s four changes in History; every section tagged with its delivery phase","S3 Policy detail on the fixture world: the shell’s header kept, the model’s sections beneath, the change sheet previewing before it applies",{"project":9,"cycle":11,"src":3806,"route":3807,"caption":3808,"capturedAt":3644,"subject":3809,"evolution":20,"seq":178,"thread":3647,"variant":1289,"newThing":3649,"moments":21,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policy-groups-draft.png","\u002Fpages\u002Fphase4\u002Fpolicy-groups?groupId=G-DRAFT","S7 draft: Contractors AI Controls — three policies, a scope no one is in yet, applies nothing until Activate","page\u002Fpolicy-groups",{"project":9,"cycle":11,"src":3811,"route":3812,"caption":3813,"capturedAt":3644,"subject":3809,"evolution":20,"seq":3814,"thread":3647,"variant":3815,"newThing":3649,"moments":21,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policy-groups-retired.png","\u002Fpages\u002Fphase4\u002Fpolicy-groups?groupId=G-OLD","S7 retired: the spring pilot read-only, its retirement in History, superseded by the baseline",35,"retired",{"project":9,"cycle":11,"src":3817,"route":3818,"caption":3819,"capturedAt":3644,"subject":3809,"evolution":20,"seq":165,"thread":3647,"variant":3796,"newThing":3649,"moments":21,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policy-groups-sheet.png","\u002Fpages\u002Fphase4\u002Fpolicy-groups?groupId=G-ENG","S7 with the change sheet open: changing the group’s scope — who it would reach, what re-evaluates, duplicate paths and conflicts, the audit line",{"project":9,"cycle":11,"src":3821,"route":3822,"caption":3823,"capturedAt":3644,"subject":3809,"evolution":20,"seq":3824,"thread":3647,"variant":3659,"newThing":3649,"moments":21,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policy-groups-unknown.png","\u002Fpages\u002Fphase4\u002Fpolicy-groups?groupId=G-NOPE","S7 unknown id: honest absence with the group count and a way back",36,{"project":9,"cycle":11,"src":3826,"route":3818,"caption":3827,"capturedAt":3644,"subject":3809,"evolution":20,"seq":493,"thread":3647,"variant":3664,"newThing":3828,"moments":21,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-policy-groups.png","S7 typical, Engineering AI Controls: four policies as references (three also in the baseline), enforcement decided per scope, the baseline named as the overlap with Priya reached twice and no conflict, the probe showing her policies through this group in bold, and the membership change in History","S7 Policy Group detail on the fixture world: references never copies, overlaps named, the S6 sheet reused for scope, membership, state and duplicate",{"project":9,"cycle":11,"src":3830,"route":1378,"caption":3831,"capturedAt":3644,"subject":3832,"evolution":3833,"seq":3834,"thread":3647,"variant":3835,"newThing":3836,"moments":55,"subjectSince":18},"\u002Fcycles\u002Fdesign\u002Fc114-review-walk.png","The review walk at the start of Phase 4: no question ruled yet; progress, the rulings so far, the delivery phases, then S1 with its states, what to look for, captures and four open questions","page\u002Freview-walk","\u002Fcycles\u002Fevolution\u002Fpage\u002Freview-walk",37,"start","The Phase 4 review walk: eight stops in dependency order with where to look, what to look for, captures by subject, and the questions with their rulings as they land",[3838],{"key":3839,"project":9,"cycle":11,"title":14,"count":3840,"entries":384,"rep":3841,"newThing":3731},"design:c114",38,{"project":9,"cycle":11,"src":3737,"route":750,"caption":3738,"capturedAt":3644,"subject":766,"evolution":3729,"seq":22,"thread":3647,"variant":3739,"newThing":3731,"moments":91,"subjectSince":18},[3843,3848,3852,3856,3860,3865,3869,3873,3878],{"id":3670,"kind":3844,"label":3845,"note":20,"cycles":3846,"count":160,"latest":3667,"moments":156,"since":3673,"isNew":23,"evolution":3671},"page","Findings",[3847],{"project":9,"id":11},{"id":3750,"kind":3844,"label":3849,"note":20,"cycles":3850,"count":160,"latest":3747,"moments":156,"since":18,"isNew":24,"evolution":3751},"Policies",[3851],{"project":9,"id":11},{"id":3705,"kind":3844,"label":3853,"note":20,"cycles":3854,"count":157,"latest":3702,"moments":91,"since":18,"isNew":24,"evolution":3706},"Framework detail",[3855],{"project":9,"id":11},{"id":3784,"kind":3844,"label":3857,"note":20,"cycles":3858,"count":157,"latest":3781,"moments":139,"since":186,"isNew":23,"evolution":3785},"Policy detail",[3859],{"project":9,"id":11},{"id":3809,"kind":3844,"label":3861,"note":20,"cycles":3862,"count":157,"latest":3806,"moments":21,"since":18,"isNew":24,"evolution":3864},"Policy groups",[3863],{"project":9,"id":11},"\u002Fcycles\u002Fevolution\u002Fpage\u002Fpolicy-groups",{"id":3645,"kind":3844,"label":3866,"note":20,"cycles":3867,"count":139,"latest":17,"moments":55,"since":18,"isNew":24,"evolution":3646},"Finding detail",[3868],{"project":9,"id":11},{"id":766,"kind":3844,"label":3870,"note":20,"cycles":3871,"count":91,"latest":3727,"moments":91,"since":18,"isNew":24,"evolution":3729},"Governance model",[3872],{"project":9,"id":11},{"id":3743,"kind":3844,"label":3874,"note":20,"cycles":3875,"count":21,"latest":3741,"moments":21,"since":18,"isNew":24,"evolution":3877},"Governance wireframes",[3876],{"project":9,"id":11},"\u002Fcycles\u002Fevolution\u002Fpage\u002Fgovernance-wireframes",{"id":3832,"kind":3844,"label":3879,"note":20,"cycles":3880,"count":21,"latest":3830,"moments":55,"since":18,"isNew":24,"evolution":3833},"Review walk",[3881],{"project":9,"id":11},[3883],"Deploys come from this checkout's deploy-branch reflog, which starts 2026-10-16.","2026-10-12",1794599475478]