[{"data":1,"prerenderedAt":5666},["ShallowReactive",2],{"$fy5gTGx6m1sSj7pesTVlihYbYYX-_1wBxhwH72RQx90o":3},{"from":4,"to":5,"cycles":6,"entries":649,"repos":5203,"releases":5369,"deploys":5372,"captures":5408,"clusters":5591,"subjects":5601,"notes":5663,"week":4,"prev":5664,"next":5665,"current":21},"2026-10-26","2026-11-01",{"started":7,"open":52,"closed":648},[8,23,32,39,45],{"project":9,"projectLabel":10,"id":11,"num":12,"dir":13,"title":14,"focus":15,"status":16,"thumbnail":15,"started":17,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":19,"quietWeeks":20,"stale":21,"active":22},"design","Design","c127",127,"c127.guide-chat","guide chat",null,"active","2026-10-29","git",1,0,false,true,{"project":9,"projectLabel":10,"id":24,"num":25,"dir":26,"title":27,"focus":28,"status":16,"thumbnail":29,"started":30,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":19,"quietWeeks":20,"stale":21,"active":22},"c126",126,"c126.policies-final-pass","Policies Final Pass","A final, hand-tuned pass over the policy surfaces in the phase-4 lab. We walk each aspect in turn (the listing, the policy header, mode and Until, severity, exceptions, frameworks, findings, history, Policy Config, team Policies) and sand each one by hand. Along the way, each fact about a policy gets one home, and every other place summarizes it and links there.","\u002Fcycles\u002Fdesign\u002Fc126-before-policies.png","2026-10-27","record",{"project":9,"projectLabel":10,"id":33,"num":34,"dir":35,"title":36,"focus":37,"status":16,"thumbnail":38,"started":30,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":19,"quietWeeks":20,"stale":21,"active":22},"c125",125,"c125.operations-wizard","Operations Wizard","A tour-guide and self-documenting tool that attaches cleanly to any part of the UI, so the UI becomes the documentation. It has a hover help mode (after Ableton Live's Info View), a numbered-marker overlay for explaining a screen, step-by-step tours that move across pages and highlight what matters, and an AI tour guide over MCP from the start. Its first tour is the operations journey from the 2026-10-26 product session: install to enforcing on a pilot team.","\u002Fcycles\u002Fdesign\u002Fc125-before-endpoints-adoption.png",{"project":9,"projectLabel":10,"id":40,"num":41,"dir":42,"title":43,"focus":44,"status":16,"thumbnail":15,"started":4,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":19,"quietWeeks":20,"stale":21,"active":22},"c124",124,"c124.cycle-stories","Cycle Stories","Make the cycle detail page tell the cycle's story at a glance: why it happened, what changed (before → after, in plain words), and who made it better. External market specialists are credited first. Every outcome traces back through its decision to the meeting or conversation it came from. Collaborators get their own unlisted pages, where attributions and accolades build up.",{"project":9,"projectLabel":10,"id":46,"num":47,"dir":48,"title":49,"focus":50,"status":16,"thumbnail":51,"started":4,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":19,"quietWeeks":20,"stale":21,"active":22},"c123",123,"c123.compliance-frameworks","Compliance Frameworks","Give the frameworks a good bath and a redress. We finalize the framework page designs and tune their details from the latest designs and what Mark Peterson made clear on 2026-10-26: Qpoint gives evidence, not compliance, under emerging regulatory pressure to govern AI. Most of the work is by hand. We export the current page to Illustrator, Mark reworks it there, and we build the result on a test page. The brief's Frankenstein list (X1–X11) is the checklist for the cleanup.","\u002Fcycles\u002Fdesign\u002Fc123-after-compliance.png",[53,61,68,76,85,93,101,111,118,124,133,142,148,155,164,173,181,188,195,203,210,216,223,231,238,244,252,260,268,276,283,291,298,303,308,317,324,333,339,345,353,360,367,372,378,384,391,395,403,411,419,427,433,439,447,454,459,470,476,482,488,495,501,510,517,524,531,536,542,546,550,558,567,575,582,585,588,593,598,602,606,612,618,625,631,636,643],{"project":9,"projectLabel":10,"id":54,"num":55,"dir":56,"title":57,"focus":58,"status":16,"thumbnail":15,"started":59,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":60,"quietWeeks":20,"stale":21,"active":22},"c122",122,"c122.early-stage-documentation","Early-Stage Documentation","Tame our own design history before telling it. Catalog the Qpoint Design drive (sketches, Illustrator, Photoshop, InDesign, Sketch, Figma) so every file can be found, previewed and traced to its original. Tie each file to a cycle where one exists, otherwise to a startup phase and design generation. Write down an ingestion protocol that ends in a story. Then give the cycle detail page a story-first design pass.","2026-10-23",2,{"project":9,"projectLabel":10,"id":62,"num":63,"dir":64,"title":65,"focus":66,"status":16,"thumbnail":67,"started":59,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":60,"quietWeeks":20,"stale":21,"active":22},"c121",121,"c121.governance-v1-scope","Governance v1 Scope","Build the decisions from the week of Oct 19 into the phase-4 lab (`\u002Fpages\u002Fphase4\u002Fmock\u002F*`). The governing scope is Mark Peterson's v1 guidelines: an exception changes mode only, publication is the whole shared draft, and resolving a finding records a decision.","\u002Fcycles\u002Fdesign\u002Fc121-config-file-adoption.png",{"project":9,"projectLabel":10,"id":69,"num":70,"dir":71,"title":72,"focus":73,"status":16,"thumbnail":15,"started":74,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":75,"quietWeeks":20,"stale":21,"active":22},"c115",115,"c115.briefs","Briefs","A `\u002Fbriefs` section on the design site, off the main menu, with one page per brief handed to a collaborator outside the org","2026-10-13",3,{"project":9,"projectLabel":10,"id":77,"num":78,"dir":79,"title":80,"focus":81,"status":16,"thumbnail":82,"started":83,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":84,"quietWeeks":20,"stale":21,"active":22},"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","\u002Fcycles\u002Fdesign\u002Fc114-finding-detail-minimal.png","2026-10-09",4,{"project":9,"projectLabel":10,"id":86,"num":87,"dir":88,"title":89,"focus":90,"status":16,"thumbnail":15,"started":91,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":92,"quietWeeks":20,"stale":21,"active":22},"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",5,{"project":9,"projectLabel":10,"id":94,"num":95,"dir":96,"title":97,"focus":98,"status":16,"thumbnail":99,"started":100,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":92,"quietWeeks":20,"stale":21,"active":22},"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","2026-09-28",{"project":102,"projectLabel":103,"id":104,"num":105,"dir":106,"title":107,"focus":108,"status":16,"thumbnail":15,"started":109,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":110,"quietWeeks":20,"stale":21,"active":22},"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",6,{"project":9,"projectLabel":10,"id":112,"num":113,"dir":114,"title":115,"focus":116,"status":16,"thumbnail":15,"started":117,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":60,"quietWeeks":19,"stale":21,"active":21},"c119",119,"c119.logo-downloads","Logo Downloads","Downloadable logos on `\u002Fbrand\u002Flogo`. Pick a logo, a format (SVG · PNG · GIF · JPG, in that order of preference) and a color (White · Black · Grape), then download a pre-built file generated from black master SVGs.","2026-10-20",{"project":9,"projectLabel":10,"id":119,"num":120,"dir":121,"title":122,"focus":123,"status":16,"thumbnail":15,"started":117,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":60,"quietWeeks":19,"stale":21,"active":21},"c117",117,"c117.prometheus","Prometheus","An ideas cycle. Gather sourced material on the Prometheus story as an analogue for AI; on ancient attitudes to fire; on David Deutsch and Karl Popper's error correction, set against our problem formation; and on modern voices about AI, from doom to salvation",{"project":9,"projectLabel":10,"id":125,"num":126,"dir":127,"title":128,"focus":15,"status":129,"thumbnail":15,"started":130,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":131,"quietWeeks":132,"stale":21,"active":21},"c82",82,"c82.cloud-execution","cloud execution","parked","2026-09-01",9,8,{"project":102,"projectLabel":103,"id":134,"num":135,"dir":136,"title":137,"focus":138,"status":129,"thumbnail":15,"started":139,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":140,"quietWeeks":141,"stale":21,"active":21},"c7",7,"c7.avoma-notes","avoma-notes","Explore and integrate Avoma notes data into extraction pipeline and dashboard visualizations.","2026-02-25",36,10,{"project":102,"projectLabel":103,"id":143,"num":84,"dir":144,"title":145,"focus":146,"status":129,"thumbnail":15,"started":147,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":140,"quietWeeks":141,"stale":21,"active":21},"c4","c4.refinement","refinement","Refine how extracted data is displayed in the dashboard and improve extraction quality where gaps exist.","2026-02-24",{"project":102,"projectLabel":103,"id":149,"num":75,"dir":150,"title":151,"focus":152,"status":129,"thumbnail":15,"started":153,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":154,"quietWeeks":141,"stale":21,"active":21},"c3","c3.oauth","oauth","Add Google OAuth to restrict dashboard access to @qpoint.io team members.","2026-02-20",37,{"project":9,"projectLabel":10,"id":156,"num":157,"dir":158,"title":159,"focus":160,"status":129,"thumbnail":161,"started":162,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":163,"stale":21,"active":21},"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",11,{"project":9,"projectLabel":10,"id":165,"num":166,"dir":167,"title":168,"focus":169,"status":129,"thumbnail":170,"started":171,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":172,"quietWeeks":163,"stale":21,"active":21},"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",13,{"project":9,"projectLabel":10,"id":174,"num":175,"dir":176,"title":177,"focus":178,"status":129,"thumbnail":15,"started":179,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":180,"quietWeeks":105,"stale":21,"active":21},"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",15,{"project":9,"projectLabel":10,"id":182,"num":183,"dir":184,"title":185,"focus":186,"status":16,"thumbnail":15,"started":187,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":84,"quietWeeks":75,"stale":22,"active":21},"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":189,"num":190,"dir":191,"title":192,"focus":193,"status":16,"thumbnail":15,"started":194,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":84,"quietWeeks":75,"stale":22,"active":21},"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","2026-10-05",{"project":9,"projectLabel":10,"id":196,"num":197,"dir":198,"title":199,"focus":200,"status":16,"thumbnail":201,"started":202,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":92,"quietWeeks":84,"stale":22,"active":21},"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",{"project":9,"projectLabel":10,"id":204,"num":205,"dir":206,"title":207,"focus":208,"status":16,"thumbnail":209,"started":202,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":92,"quietWeeks":84,"stale":22,"active":21},"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":211,"num":212,"dir":213,"title":214,"focus":215,"status":16,"thumbnail":15,"started":100,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":92,"quietWeeks":84,"stale":22,"active":21},"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.",{"project":9,"projectLabel":10,"id":217,"num":218,"dir":219,"title":220,"focus":221,"status":16,"thumbnail":15,"started":222,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":110,"quietWeeks":84,"stale":22,"active":21},"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",{"project":9,"projectLabel":10,"id":224,"num":225,"dir":226,"title":227,"focus":228,"status":16,"thumbnail":229,"started":230,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":84,"stale":22,"active":21},"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",{"project":9,"projectLabel":10,"id":232,"num":233,"dir":234,"title":235,"focus":236,"status":16,"thumbnail":15,"started":237,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":110,"quietWeeks":92,"stale":22,"active":21},"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":239,"num":240,"dir":241,"title":242,"focus":243,"status":16,"thumbnail":15,"started":237,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":110,"quietWeeks":92,"stale":22,"active":21},"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":245,"num":246,"dir":247,"title":248,"focus":249,"status":16,"thumbnail":250,"started":251,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":110,"quietWeeks":92,"stale":22,"active":21},"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":9,"projectLabel":10,"id":253,"num":254,"dir":255,"title":256,"focus":257,"status":16,"thumbnail":258,"started":259,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":135,"quietWeeks":92,"stale":22,"active":21},"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",{"project":9,"projectLabel":10,"id":261,"num":262,"dir":263,"title":264,"focus":265,"status":16,"thumbnail":266,"started":267,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":135,"quietWeeks":92,"stale":22,"active":21},"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":269,"num":270,"dir":271,"title":272,"focus":273,"status":16,"thumbnail":274,"started":275,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":135,"quietWeeks":110,"stale":22,"active":21},"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":277,"num":278,"dir":279,"title":280,"focus":281,"status":16,"thumbnail":282,"started":275,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":135,"quietWeeks":110,"stale":22,"active":21},"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":284,"num":285,"dir":286,"title":287,"focus":288,"status":16,"thumbnail":289,"started":290,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":131,"quietWeeks":135,"stale":22,"active":21},"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":292,"num":293,"dir":294,"title":295,"focus":296,"status":16,"thumbnail":297,"started":130,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":131,"quietWeeks":135,"stale":22,"active":21},"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":102,"projectLabel":103,"id":299,"num":163,"dir":300,"title":301,"focus":302,"status":16,"thumbnail":15,"started":290,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":131,"quietWeeks":132,"stale":22,"active":21},"c11","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":304,"num":305,"dir":306,"title":307,"focus":15,"status":16,"thumbnail":15,"started":130,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":131,"quietWeeks":132,"stale":22,"active":21},"c76",76,"c76.simpler-light-dark-mode-colors","simpler light dark mode colors",{"project":309,"projectLabel":310,"id":311,"num":312,"dir":313,"title":314,"focus":315,"status":16,"thumbnail":15,"started":316,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":131,"quietWeeks":132,"stale":22,"active":21},"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":318,"num":319,"dir":320,"title":321,"focus":322,"status":16,"thumbnail":15,"started":323,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":141,"quietWeeks":132,"stale":22,"active":21},"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":325,"num":326,"dir":327,"title":328,"focus":329,"status":330,"thumbnail":15,"started":331,"startedSource":31,"closed":332,"closedSource":31,"openWeeks":163,"quietWeeks":132,"stale":22,"active":21},"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.","archived","2026-08-20","2026-11-03",{"project":9,"projectLabel":10,"id":334,"num":335,"dir":336,"title":337,"focus":338,"status":16,"thumbnail":15,"started":162,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":132,"stale":22,"active":21},"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":340,"num":341,"dir":342,"title":343,"focus":344,"status":16,"thumbnail":15,"started":162,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":132,"stale":22,"active":21},"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":346,"num":347,"dir":348,"title":349,"focus":350,"status":16,"thumbnail":351,"started":352,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":141,"quietWeeks":131,"stale":22,"active":21},"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":354,"num":355,"dir":356,"title":357,"focus":358,"status":16,"thumbnail":359,"started":230,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":131,"stale":22,"active":21},"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":361,"num":362,"dir":363,"title":364,"focus":365,"status":16,"thumbnail":366,"started":331,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":163,"quietWeeks":141,"stale":22,"active":21},"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":102,"projectLabel":103,"id":368,"num":132,"dir":369,"title":370,"focus":371,"status":16,"thumbnail":15,"started":331,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":163,"quietWeeks":141,"stale":22,"active":21},"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":309,"projectLabel":310,"id":373,"num":374,"dir":375,"title":376,"focus":15,"status":16,"thumbnail":377,"started":162,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":163,"stale":22,"active":21},"c20",20,"c20.build-partner-portal","Build Partner Portal","\u002Fcycles\u002Fbob-wire\u002Fc20-index.png",{"project":309,"projectLabel":310,"id":379,"num":380,"dir":381,"title":382,"focus":15,"status":16,"thumbnail":383,"started":162,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":163,"stale":22,"active":21},"c17",17,"c17.owasp-policy-pack","OWASP LLM Top 10 — Policy Pack","\u002Fcycles\u002Fbob-wire\u002Fc17-control-definition.png",{"project":385,"projectLabel":386,"id":387,"num":92,"dir":388,"title":389,"focus":15,"status":16,"thumbnail":390,"started":162,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":163,"stale":22,"active":21},"qpixel","Qpixel","c5","c5.selection-clipboard","Selection Clipboard","\u002Fcycles\u002Fqpixel\u002Fc5-editor.png",{"project":385,"projectLabel":386,"id":143,"num":84,"dir":392,"title":393,"focus":15,"status":16,"thumbnail":394,"started":162,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":163,"stale":22,"active":21},"c4.svg-export","SVG Export","\u002Fcycles\u002Fqpixel\u002Fc4-checkerboard.png",{"project":9,"projectLabel":10,"id":396,"num":397,"dir":398,"title":399,"focus":400,"status":16,"thumbnail":401,"started":402,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":163,"stale":22,"active":21},"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":404,"num":405,"dir":406,"title":407,"focus":408,"status":16,"thumbnail":409,"started":410,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":105,"quietWeeks":163,"stale":22,"active":21},"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":309,"projectLabel":310,"id":412,"num":413,"dir":414,"title":415,"focus":416,"status":16,"thumbnail":15,"started":417,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":418,"quietWeeks":163,"stale":22,"active":21},"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",14,{"project":420,"projectLabel":421,"id":104,"num":105,"dir":422,"title":423,"focus":424,"status":16,"thumbnail":425,"started":426,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":418,"quietWeeks":163,"stale":22,"active":21},"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":309,"projectLabel":310,"id":428,"num":429,"dir":430,"title":431,"focus":432,"status":16,"thumbnail":15,"started":179,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":180,"quietWeeks":163,"stale":22,"active":21},"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":309,"projectLabel":310,"id":434,"num":180,"dir":435,"title":436,"focus":15,"status":16,"thumbnail":437,"started":438,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":312,"quietWeeks":163,"stale":22,"active":21},"c15","c15.agent-dashboard","Agent Dashboard","\u002Fcycles\u002Fbob-wire\u002Fc15-index.png","2026-06-09",{"project":309,"projectLabel":310,"id":440,"num":441,"dir":442,"title":443,"focus":15,"status":16,"thumbnail":444,"started":445,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":446,"quietWeeks":163,"stale":22,"active":21},"c16",16,"c16.agent-control-plane","Agent Control Plane","\u002Fcycles\u002Fbob-wire\u002Fc16-control-plane-integrations.png","2026-06-04",22,{"project":309,"projectLabel":310,"id":448,"num":418,"dir":449,"title":450,"focus":15,"status":16,"thumbnail":451,"started":452,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":453,"quietWeeks":163,"stale":22,"active":21},"c14","c14.qcontrol-brochure-site","QControl Brochure Site","\u002Fcycles\u002Fbob-wire\u002Fc14-index.png","2026-05-11",25,{"project":309,"projectLabel":310,"id":455,"num":172,"dir":456,"title":457,"focus":15,"status":16,"thumbnail":458,"started":452,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":453,"quietWeeks":163,"stale":22,"active":21},"c13","c13.ai-agent-policies","AI Agent Policies","\u002Fcycles\u002Fbob-wire\u002Fc13-index.png",{"project":460,"projectLabel":461,"id":462,"num":463,"dir":464,"title":465,"focus":466,"status":16,"thumbnail":467,"started":468,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":469,"quietWeeks":163,"stale":22,"active":21},"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",26,{"project":460,"projectLabel":461,"id":471,"num":469,"dir":472,"title":473,"focus":474,"status":16,"thumbnail":15,"started":475,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":463,"quietWeeks":163,"stale":22,"active":21},"c26","c26.flatland-view","flatland-view","Add a `flatland` view (topdown camera + pitched 3D models) for VOX\u002FOBJ-backed actors","2026-04-28",{"project":309,"projectLabel":310,"id":104,"num":105,"dir":477,"title":478,"focus":15,"status":16,"thumbnail":479,"started":480,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":481,"quietWeeks":163,"stale":22,"active":21},"c12.inventory-deep-dive","Inventory Deep Dive","\u002Fcycles\u002Fbob-wire\u002Fc12-index.png","2026-04-24",28,{"project":309,"projectLabel":310,"id":483,"num":141,"dir":484,"title":485,"focus":15,"status":16,"thumbnail":486,"started":487,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":481,"quietWeeks":163,"stale":22,"active":21},"c10","c10.security-overview-benchmark","Security Overview Benchmark","\u002Fcycles\u002Fbob-wire\u002Fc10-index.png","2026-04-22",{"project":460,"projectLabel":461,"id":489,"num":453,"dir":490,"title":491,"focus":492,"status":16,"thumbnail":493,"started":494,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":481,"quietWeeks":163,"stale":22,"active":21},"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":309,"projectLabel":310,"id":496,"num":131,"dir":497,"title":498,"focus":15,"status":16,"thumbnail":499,"started":500,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":481,"quietWeeks":163,"stale":22,"active":21},"c9","c9.meaning-layer-dashboard","Meaning-Layer Dashboard","\u002Fcycles\u002Fbob-wire\u002Fc9-index.png","2026-04-20",{"project":460,"projectLabel":461,"id":502,"num":503,"dir":504,"title":505,"focus":506,"status":16,"thumbnail":507,"started":508,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":509,"quietWeeks":163,"stale":22,"active":21},"c24",24,"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",29,{"project":460,"projectLabel":461,"id":511,"num":512,"dir":513,"title":514,"focus":515,"status":16,"thumbnail":516,"started":508,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":509,"quietWeeks":163,"stale":22,"active":21},"c23",23,"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":460,"projectLabel":461,"id":518,"num":446,"dir":519,"title":520,"focus":521,"status":16,"thumbnail":522,"started":523,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":509,"quietWeeks":163,"stale":22,"active":21},"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":460,"projectLabel":461,"id":311,"num":312,"dir":525,"title":526,"focus":527,"status":16,"thumbnail":528,"started":529,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":530,"quietWeeks":163,"stale":22,"active":21},"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",31,{"project":309,"projectLabel":310,"id":143,"num":84,"dir":532,"title":533,"focus":15,"status":16,"thumbnail":534,"started":535,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":530,"quietWeeks":163,"stale":22,"active":21},"c4.aii-agents-entity","AI Agents Entity","\u002Fcycles\u002Fbob-wire\u002Fc4-agent-sessions.png","2026-04-01",{"project":420,"projectLabel":421,"id":483,"num":141,"dir":537,"title":538,"focus":15,"status":16,"thumbnail":539,"started":540,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":541,"quietWeeks":163,"stale":22,"active":21},"c10.real-data","Real Data","\u002Fcycles\u002Fqflow\u002Fc10-devtools-iso.png","2026-03-23",32,{"project":420,"projectLabel":421,"id":368,"num":132,"dir":543,"title":544,"focus":15,"status":16,"thumbnail":545,"started":540,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":541,"quietWeeks":163,"stale":22,"active":21},"c8.label-controls","label controls","\u002Fcycles\u002Fqflow\u002Fc8-bottom-warm.png",{"project":309,"projectLabel":310,"id":149,"num":75,"dir":547,"title":548,"focus":15,"status":16,"thumbnail":549,"started":540,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":541,"quietWeeks":163,"stale":22,"active":21},"c3.dataflows","Dataflows","\u002Fcycles\u002Fbob-wire\u002Fc3-dataflows-overview.png",{"project":309,"projectLabel":310,"id":551,"num":19,"dir":552,"title":553,"focus":554,"status":16,"thumbnail":555,"started":556,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":557,"quietWeeks":163,"stale":22,"active":21},"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",35,{"project":9,"projectLabel":10,"id":559,"num":560,"dir":561,"title":562,"focus":563,"status":564,"thumbnail":565,"started":566,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":418,"quietWeeks":105,"stale":22,"active":21},"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":568,"num":569,"dir":570,"title":571,"focus":572,"status":564,"thumbnail":573,"started":574,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":441,"quietWeeks":105,"stale":22,"active":21},"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":576,"projectLabel":577,"id":578,"num":110,"dir":579,"title":580,"focus":15,"status":16,"thumbnail":15,"started":581,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":512,"quietWeeks":446,"stale":22,"active":21},"www","www.qpoint.io","c6","c6.combined-index","Combined Index Page","2026-05-27",{"project":576,"projectLabel":577,"id":143,"num":84,"dir":583,"title":584,"focus":15,"status":16,"thumbnail":15,"started":581,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":512,"quietWeeks":446,"stale":22,"active":21},"c4.case-studies","AI Agent Incident Case Studies",{"project":576,"projectLabel":577,"id":149,"num":75,"dir":586,"title":587,"focus":15,"status":16,"thumbnail":15,"started":581,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":512,"quietWeeks":446,"stale":22,"active":21},"c3.the-problem-page","The Problem Page + PocketOS Case Study",{"project":576,"projectLabel":577,"id":387,"num":92,"dir":589,"title":590,"focus":591,"status":16,"thumbnail":15,"started":592,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":503,"quietWeeks":446,"stale":22,"active":21},"c5.cookie-consent-audit","Cookie Consent Audit & Fix","Audit and fix cookie consent persistence so decisions survive deploys","2026-05-21",{"project":576,"projectLabel":577,"id":594,"num":60,"dir":595,"title":596,"focus":15,"status":16,"thumbnail":15,"started":597,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":503,"quietWeeks":512,"stale":22,"active":21},"c2","c2.brochure-site-q2","Brochure Site Q2 Redesign","2026-05-20",{"project":576,"projectLabel":577,"id":551,"num":19,"dir":599,"title":600,"focus":601,"status":16,"thumbnail":15,"started":452,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":453,"quietWeeks":512,"stale":22,"active":21},"c1.q-nuxt-layer-integration","Q Nuxt Layer Integration","Complete q-nuxt-layer integration for www.qpoint.io and deploy",{"project":309,"projectLabel":310,"id":299,"num":163,"dir":603,"title":604,"focus":15,"status":16,"thumbnail":15,"started":605,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":481,"quietWeeks":453,"stale":22,"active":21},"c11.pixel-character-system","Pixel Character System","2026-04-23",{"project":9,"projectLabel":10,"id":607,"num":608,"dir":609,"title":610,"focus":611,"status":564,"thumbnail":15,"started":494,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":481,"quietWeeks":453,"stale":22,"active":21},"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":613,"num":614,"dir":615,"title":616,"focus":617,"status":564,"thumbnail":15,"started":508,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":509,"quietWeeks":453,"stale":22,"active":21},"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":619,"num":620,"dir":621,"title":622,"focus":623,"status":564,"thumbnail":624,"started":508,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":509,"quietWeeks":453,"stale":22,"active":21},"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":420,"projectLabel":421,"id":496,"num":131,"dir":626,"title":627,"focus":628,"status":16,"thumbnail":15,"started":629,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":630,"quietWeeks":530,"stale":22,"active":21},"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",33,{"project":9,"projectLabel":10,"id":368,"num":132,"dir":632,"title":633,"focus":15,"status":16,"thumbnail":15,"started":634,"startedSource":18,"closed":15,"closedSource":15,"openWeeks":635,"quietWeeks":630,"stale":22,"active":21},"c8.sharing-design-philosophy","Sharing Design Philosophy","2026-03-13",34,{"project":637,"projectLabel":638,"id":594,"num":60,"dir":639,"title":640,"focus":641,"status":16,"thumbnail":15,"started":642,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":557,"quietWeeks":630,"stale":22,"active":21},"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":637,"projectLabel":638,"id":551,"num":19,"dir":644,"title":645,"focus":646,"status":16,"thumbnail":15,"started":647,"startedSource":31,"closed":15,"closedSource":15,"openWeeks":154,"quietWeeks":630,"stale":22,"active":21},"c1.documentation-cleanup","documentation-cleanup","Improve component documentation quality with better examples and human-AI collaborative workflow","2026-02-19",[],[650,703,1822,1875,1998,2069,2142,2210,2249,2319,2380,2433,2457,2474,2543,2646,2670,2728,2898,2977,2992,3025,3088,3126,3210,3283,3313,3383,3432,3476,3565,3586,3640,3656,3751,3856,3903,4040,4065,4199,4328,4351,4462,4537,4662,4714,4803,4976,5147],{"project":9,"cycle":46,"dir":48,"title":49,"date":17,"lead":651,"long":21,"ast":652},"owasp-agentic, driven by the person's own agent",{"type":653,"children":654},"root",[655],{"type":656,"tag":657,"props":658,"children":659},"element","ul",{},[660],{"type":656,"tag":661,"props":662,"children":663},"li",{},[664,671,673,680,682,693,695,701],{"type":656,"tag":665,"props":666,"children":667},"strong",{},[668],{"type":669,"value":670},"text","owasp-agentic, driven by the person's own agent (2026-10-29):",{"type":669,"value":672}," asked from this cycle's session. Can the tours be driven over MCP by a user's agent? It's c125's runtime, so the write-up is c125's thread ",{"type":656,"tag":674,"props":675,"children":677},"code",{"className":676},[],[678],{"type":669,"value":679},"mcp-guide",{"type":669,"value":681},": ",{"type":656,"tag":683,"props":684,"children":686},"a",{"href":685},"\u002Fcycles\u002Fdesign\u002Fc125\u002Fdoc\u002Fmcp-guide-plan",[687],{"type":656,"tag":674,"props":688,"children":690},{"className":689},[],[691],{"type":669,"value":692},"mcp-guide-plan.md",{"type":669,"value":694},", W7 in ",{"type":656,"tag":674,"props":696,"children":698},{"className":697},[],[699],{"type":669,"value":700},"tour-layer.md",{"type":669,"value":702},". The OWASP tour is its first test subject.",{"project":9,"cycle":46,"dir":48,"title":49,"date":17,"lead":704,"long":22,"ast":705},"tours, five of them",{"type":653,"children":706},[707],{"type":656,"tag":657,"props":708,"children":709},{},[710],{"type":656,"tag":661,"props":711,"children":712},{},[713,718,720,726,728,734,736,742,744,750,752,931],{"type":656,"tag":665,"props":714,"children":715},{},[716],{"type":669,"value":717},"tours, five of them (2026-10-29):",{"type":669,"value":719}," thread ",{"type":656,"tag":674,"props":721,"children":723},{"className":722},[],[724],{"type":669,"value":725},"tours",{"type":669,"value":727}," (",{"type":656,"tag":683,"props":729,"children":731},{"href":730},"\u002Fcycles\u002Fdesign\u002Fc123\u002Fdoc\u002Ftours-prompt",[732],{"type":669,"value":733},"prompt",{"type":669,"value":735},", ",{"type":656,"tag":683,"props":737,"children":739},{"href":738},"\u002Fcycles\u002Fdesign\u002Fc123\u002Fdoc\u002Ftours-plan",[740],{"type":669,"value":741},"plan",{"type":669,"value":743},"). Mark asked for four or five logical, clear tours, with a Start here among them. Each tour is one person with one question and ends with something changed. All five are written, built on the tour layer, and walked by script. Launcher: ",{"type":656,"tag":674,"props":745,"children":747},{"className":746},[],[748],{"type":669,"value":749},"\u002Fpages\u002Fphase4\u002Ftours",{"type":669,"value":751},".",{"type":656,"tag":753,"props":754,"children":755},"table",{},[756,780],{"type":656,"tag":757,"props":758,"children":759},"thead",{},[760],{"type":656,"tag":761,"props":762,"children":763},"tr",{},[764,770,775],{"type":656,"tag":765,"props":766,"children":767},"th",{},[768],{"type":669,"value":769},"Tour",{"type":656,"tag":765,"props":771,"children":772},{},[773],{"type":669,"value":774},"Steps",{"type":656,"tag":765,"props":776,"children":777},{},[778],{"type":669,"value":779},"Pages",{"type":656,"tag":781,"props":782,"children":783},"tbody",{},[784,810,828,861,906],{"type":656,"tag":761,"props":785,"children":786},{},[787,793,798],{"type":656,"tag":788,"props":789,"children":790},"td",{},[791],{"type":669,"value":792},"Start here (day 0, c125 J1–J3)",{"type":656,"tag":788,"props":794,"children":795},{},[796],{"type":669,"value":797},"6",{"type":656,"tag":788,"props":799,"children":800},{},[801,803,808],{"type":669,"value":802},"a new Organization › Endpoints › ",{"type":656,"tag":665,"props":804,"children":805},{},[806],{"type":669,"value":807},"Add endpoints",{"type":669,"value":809}," page: installer per platform with placeholder names and sizes, enrollment token, one test machine, the first signal (a mock button stands in for the machine), what it runs, MDM rollout against the directory",{"type":656,"tag":761,"props":811,"children":812},{},[813,818,823],{"type":656,"tag":788,"props":814,"children":815},{},[816],{"type":669,"value":817},"Common AI risks (week 1)",{"type":656,"tag":788,"props":819,"children":820},{},[821],{"type":669,"value":822},"11",{"type":656,"tag":788,"props":824,"children":825},{},[826],{"type":669,"value":827},"Watch then Drill for four plain-language risks: secrets, unreviewed MCP servers, personal accounts, actions with consequences; then who heard, and what Qpoint can't see. No risk IDs, nothing staged",{"type":656,"tag":761,"props":829,"children":830},{},[831,836,841],{"type":656,"tag":788,"props":832,"children":833},{},[834],{"type":669,"value":835},"Observe, then enforce (weeks 2–6, c125 J4–J7)",{"type":656,"tag":788,"props":837,"children":838},{},[839],{"type":669,"value":840},"8",{"type":656,"tag":788,"props":842,"children":843},{},[844,846,852,854,859],{"type":669,"value":845},"c121's ",{"type":656,"tag":674,"props":847,"children":849},{"className":848},[],[850],{"type":669,"value":851},"?stage=adoption",{"type":669,"value":853},": baseline at Observe, the Observed findings, Engineering's pilot, then ",{"type":656,"tag":665,"props":855,"children":856},{},[857],{"type":669,"value":858},"stages Enforce for Finance",{"type":669,"value":860}," and reads its Change impact",{"type":656,"tag":761,"props":862,"children":863},{},[864,869,873],{"type":656,"tag":788,"props":865,"children":866},{},[867],{"type":669,"value":868},"AI spend (ongoing)",{"type":656,"tag":788,"props":870,"children":871},{},[872],{"type":669,"value":797},{"type":656,"tag":788,"props":874,"children":875},{},[876,878,882,884,890,891,897,899,904],{"type":669,"value":877},"the new ",{"type":656,"tag":665,"props":879,"children":880},{},[881],{"type":669,"value":89},{"type":669,"value":883}," mock (",{"type":656,"tag":674,"props":885,"children":887},{"className":886},[],[888],{"type":669,"value":889},"mock\u002Fcost.vue",{"type":669,"value":735},{"type":656,"tag":674,"props":892,"children":894},{"className":893},[],[895],{"type":669,"value":896},"data\u002Fcost-tour-fixture.ts",{"type":669,"value":898},"): $5,865 in 30 days, $1,543 a month to find (opus → sonnet $864, seats paid twice or idle $679), the Oct 21 runaway eval session, then ",{"type":656,"tag":665,"props":900,"children":901},{},[902],{"type":669,"value":903},"stages P-SPEND at Observe",{"type":669,"value":905}," with a $400\u002Fday fleet ceiling",{"type":656,"tag":761,"props":907,"children":908},{},[909,914,919],{"type":656,"tag":788,"props":910,"children":911},{},[912],{"type":669,"value":913},"OWASP® Agentic (any time)",{"type":656,"tag":788,"props":915,"children":916},{},[917],{"type":669,"value":918},"21",{"type":656,"tag":788,"props":920,"children":921},{},[922,924,929],{"type":669,"value":923},"stops 3–5 written (W5), each with Watch, Tune, Drill and ",{"type":656,"tag":665,"props":925,"children":926},{},[927],{"type":669,"value":928},"Prove",{"type":669,"value":930}," (W6); the close rewritten",{"type":656,"tag":657,"props":932,"children":933},{},[934,996,1030,1058,1123,1133,1201,1219,1245,1271,1326,1420,1445,1508,1548,1605,1684],{"type":656,"tag":661,"props":935,"children":936},{},[937,942,944,950,951,957,958,964,965,971,973,979,981,987,989,994],{"type":656,"tag":665,"props":938,"children":939},{},[940],{"type":669,"value":941},"Three new drills",{"type":669,"value":943}," in ",{"type":656,"tag":674,"props":945,"children":947},{"className":946},[],[948],{"type":669,"value":949},"owasp-tour-fixture.ts",{"type":669,"value":681},{"type":656,"tag":674,"props":952,"children":954},{"className":953},[],[955],{"type":669,"value":956},"secret-to-model",{"type":669,"value":735},{"type":656,"tag":674,"props":959,"children":961},{"className":960},[],[962],{"type":669,"value":963},"personal-account",{"type":669,"value":735},{"type":656,"tag":674,"props":966,"children":968},{"className":967},[],[969],{"type":669,"value":970},"unapproved-delete",{"type":669,"value":972},". Every drill has a short ",{"type":656,"tag":674,"props":974,"children":976},{"className":975},[],[977],{"type":669,"value":978},"label",{"type":669,"value":980}," and an optional ",{"type":656,"tag":674,"props":982,"children":984},{"className":983},[],[985],{"type":669,"value":986},"block",{"type":669,"value":988}," (the policy that would stop it, and how \"So, today\" words it either way). The adapter's sentence reads ",{"type":656,"tag":674,"props":990,"children":992},{"className":991},[],[993],{"type":669,"value":986},{"type":669,"value":995}," instead of assuming P-MCP.",{"type":656,"tag":661,"props":997,"children":998},{},[999,1004,1006,1012,1014,1020,1022,1028],{"type":656,"tag":665,"props":1000,"children":1001},{},[1002],{"type":669,"value":1003},"Example cards follow the drill:",{"type":669,"value":1005}," ",{"type":656,"tag":674,"props":1007,"children":1009},{"className":1008},[],[1010],{"type":669,"value":1011},"sensitiveExample",{"type":669,"value":1013}," and ",{"type":656,"tag":674,"props":1015,"children":1017},{"className":1016},[],[1018],{"type":669,"value":1019},"sourcesExample",{"type":669,"value":1021}," read ",{"type":656,"tag":674,"props":1023,"children":1025},{"className":1024},[],[1026],{"type":669,"value":1027},"c.drills[id]",{"type":669,"value":1029},", so the panel thread's v5 scenario picker moves them.",{"type":656,"tag":661,"props":1031,"children":1032},{},[1033,1042,1043,1049,1050,1056],{"type":656,"tag":665,"props":1034,"children":1035},{},[1036],{"type":656,"tag":674,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":669,"value":1041},"TOUR_CATALOG",{"type":669,"value":943},{"type":656,"tag":674,"props":1044,"children":1046},{"className":1045},[],[1047],{"type":669,"value":1048},"data\u002Ftours\u002Findex.ts",{"type":669,"value":727},{"type":656,"tag":674,"props":1051,"children":1053},{"className":1052},[],[1054],{"type":669,"value":1055},"{ id, name, blurb }",{"type":669,"value":1057},", customer order) feeds v4's tour menu.",{"type":656,"tag":661,"props":1059,"children":1060},{},[1061,1066,1067,1073,1074,1080,1081,1087,1088,1094,1095,1101,1102,1108,1109,1115,1116,1122],{"type":656,"tag":665,"props":1062,"children":1063},{},[1064],{"type":669,"value":1065},"New attach IDs:",{"type":669,"value":1005},{"type":656,"tag":674,"props":1068,"children":1070},{"className":1069},[],[1071],{"type":669,"value":1072},"endpoints.add",{"type":669,"value":735},{"type":656,"tag":674,"props":1075,"children":1077},{"className":1076},[],[1078],{"type":669,"value":1079},"endpoints.band",{"type":669,"value":735},{"type":656,"tag":674,"props":1082,"children":1084},{"className":1083},[],[1085],{"type":669,"value":1086},"add.*",{"type":669,"value":735},{"type":656,"tag":674,"props":1089,"children":1091},{"className":1090},[],[1092],{"type":669,"value":1093},"findings.list",{"type":669,"value":735},{"type":656,"tag":674,"props":1096,"children":1098},{"className":1097},[],[1099],{"type":669,"value":1100},"policies.list",{"type":669,"value":735},{"type":656,"tag":674,"props":1103,"children":1105},{"className":1104},[],[1106],{"type":669,"value":1107},"team.policies",{"type":669,"value":735},{"type":656,"tag":674,"props":1110,"children":1112},{"className":1111},[],[1113],{"type":669,"value":1114},"policy-config.versions",{"type":669,"value":735},{"type":656,"tag":674,"props":1117,"children":1119},{"className":1118},[],[1120],{"type":669,"value":1121},"cost.*",{"type":669,"value":751},{"type":656,"tag":661,"props":1124,"children":1125},{},[1126,1131],{"type":656,"tag":665,"props":1127,"children":1128},{},[1129],{"type":669,"value":1130},"One correction found by testing:",{"type":669,"value":1132}," OWASP stop 5's kill switch first staged P-MCP to Enforce. That's already live in the established world, so it staged nothing. The step now says it's on, and points at the draft's pending relaxation to Observe until Dec 1.",{"type":656,"tag":661,"props":1134,"children":1135},{},[1136,1141,1142,1148,1150,1178,1182,1184,1189,1191,1200],{"type":656,"tag":665,"props":1137,"children":1138},{},[1139],{"type":669,"value":1140},"Test:",{"type":669,"value":1005},{"type":656,"tag":674,"props":1143,"children":1145},{"className":1144},[],[1146],{"type":669,"value":1147},"node scripts\u002Ftours-walk.mjs",{"type":669,"value":1149}," (Playwright, fresh visit per tour, v4 · Split · Dim). For every step it checks that:",{"type":656,"tag":657,"props":1151,"children":1152},{},[1153,1158,1163,1168,1173],{"type":656,"tag":661,"props":1154,"children":1155},{},[1156],{"type":669,"value":1157},"the step's page loads;",{"type":656,"tag":661,"props":1159,"children":1160},{},[1161],{"type":669,"value":1162},"every region it names is there with a box;",{"type":656,"tag":661,"props":1164,"children":1165},{},[1166],{"type":669,"value":1167},"its blocks read;",{"type":656,"tag":661,"props":1169,"children":1170},{},[1171],{"type":669,"value":1172},"its stage grows the draft, or its drill lands in the log;",{"type":656,"tag":661,"props":1174,"children":1175},{},[1176],{"type":669,"value":1177},"there are no console errors.",{"type":656,"tag":1179,"props":1180,"children":1181},"br",{},[],{"type":669,"value":1183},"It passed ",{"type":656,"tag":665,"props":1185,"children":1186},{},[1187],{"type":669,"value":1188},"308 checks, 0 failures",{"type":669,"value":1190},". Sample shots are in ",{"type":656,"tag":683,"props":1192,"children":1194},{"href":1193},"tours-walk\u002F",[1195],{"type":656,"tag":674,"props":1196,"children":1198},{"className":1197},[],[1199],{"type":669,"value":1193},{"type":669,"value":751},{"type":656,"tag":661,"props":1202,"children":1203},{},[1204,1209,1211,1217],{"type":656,"tag":665,"props":1205,"children":1206},{},[1207],{"type":669,"value":1208},"Not done:",{"type":669,"value":1210}," phone width (the lab's mock shell is desktop-only), the formal ",{"type":656,"tag":674,"props":1212,"children":1214},{"className":1213},[],[1215],{"type":669,"value":1216},"\u002Fcapture",{"type":669,"value":1218}," program, and the installer's real names and sizes.",{"type":656,"tag":661,"props":1220,"children":1221},{},[1222,1227,1229,1235,1237,1243],{"type":656,"tag":665,"props":1223,"children":1224},{},[1225],{"type":669,"value":1226},"Follow the page (same day, Mark):",{"type":669,"value":1228}," clicking Add endpoints during Start here now takes the tour to the installer step and highlights it. In ",{"type":656,"tag":674,"props":1230,"children":1232},{"className":1231},[],[1233],{"type":669,"value":1234},"components\u002Ftour\u002FHost.vue",{"type":669,"value":1236}," (c125's file, edited with that thread's go-ahead), when the person reaches the ",{"type":656,"tag":1238,"props":1239,"children":1240},"em",{},[1241],{"type":669,"value":1242},"next",{"type":669,"value":1244}," step's page by their own click, the tour advances. The URL is the only signal: pages stay tour-free, and the tour listens to no app events. A page that isn't the next step's leaves the tour where it is. The advance is recorded as the person's move. The walk checks all of this (39\u002F39 on Start here).",{"type":656,"tag":661,"props":1246,"children":1247},{},[1248,1253,1255,1261,1263,1269],{"type":656,"tag":665,"props":1249,"children":1250},{},[1251],{"type":669,"value":1252},"Callouts that cover the step's own subject (same day, Mark):",{"type":669,"value":1254}," the installer's token callout sat over the Download buttons the step is about. c125's panel thread then made it a rule in ",{"type":656,"tag":674,"props":1256,"children":1258},{"className":1257},[],[1259],{"type":669,"value":1260},"components\u002Ftour\u002FFloat.vue",{"type":669,"value":1262},": a callout treats the step's highlighted regions, Example frames and every callout's target as obstacles. It takes the first clear side, else the least covered. The per-step ",{"type":656,"tag":674,"props":1264,"children":1266},{"className":1265},[],[1267],{"type":669,"value":1268},"placement",{"type":669,"value":1270}," hint was dropped as redundant, and the type stays for awkward layouts.",{"type":656,"tag":661,"props":1272,"children":1273},{},[1274,1279,1280,1286,1288,1293,1295,1300,1302,1308,1310,1316,1318,1324],{"type":656,"tag":665,"props":1275,"children":1276},{},[1277],{"type":669,"value":1278},"Demo mode for recording (same day, Mark):",{"type":669,"value":1005},{"type":656,"tag":674,"props":1281,"children":1283},{"className":1282},[],[1284],{"type":669,"value":1285},"?demo=1",{"type":669,"value":1287},", Shift+D, or ",{"type":656,"tag":665,"props":1289,"children":1290},{},[1291],{"type":669,"value":1292},"Demo →",{"type":669,"value":1294}," on ",{"type":656,"tag":674,"props":1296,"children":1298},{"className":1297},[],[1299],{"type":669,"value":749},{"type":669,"value":1301}," hides the lab's meta nav: the MOCK bar with the tour row, the Policy Config tray, the theme editor, the dashed mock buttons, the rail's mock footer and the DevTools button. The tour panel keeps Back, Next, minimize and ✕. ",{"type":656,"tag":674,"props":1303,"children":1305},{"className":1304},[],[1306],{"type":669,"value":1307},"composables\u002FuseLabDemo.ts",{"type":669,"value":1309}," sets ",{"type":656,"tag":674,"props":1311,"children":1313},{"className":1312},[],[1314],{"type":669,"value":1315},"html.qp-lab-demo",{"type":669,"value":1317}," while the lab layout is mounted. The pieces carry ",{"type":656,"tag":674,"props":1319,"children":1321},{"className":1320},[],[1322],{"type":669,"value":1323},"data-lab-chrome",{"type":669,"value":1325},", so the rest of the site keeps its theme editor. The visit remembers the mode, and the param leaves the address bar. In demo, Start here's first signal arrives on its own 4 s after its section is in view.",{"type":656,"tag":661,"props":1327,"children":1328},{},[1329,1334],{"type":656,"tag":665,"props":1330,"children":1331},{},[1332],{"type":669,"value":1333},"Common AI risks reads violations on Findings (same day, Mark: \"a much nicer place to see violations, especially for simulating specific violations\"):",{"type":656,"tag":657,"props":1335,"children":1336},{},[1337,1342,1355,1392],{"type":656,"tag":661,"props":1338,"children":1339},{},[1340],{"type":669,"value":1341},"The tour opens on Findings.",{"type":656,"tag":661,"props":1343,"children":1344},{},[1345,1347,1353],{"type":669,"value":1346},"Risk 1's Watch is the redactions (",{"type":656,"tag":674,"props":1348,"children":1350},{"className":1349},[],[1351],{"type":669,"value":1352},"P-SENS-SANITIZE",{"type":669,"value":1354},", 16 caught), and risk 3's is the personal account, both in the individual view.",{"type":656,"tag":661,"props":1356,"children":1357},{},[1358,1360,1366,1368,1374,1376,1382,1384,1390],{"type":669,"value":1359},"Each Drill now lands on Findings filtered to the policy it would raise. Its Example is the page's own ",{"type":656,"tag":674,"props":1361,"children":1363},{"className":1362},[],[1364],{"type":669,"value":1365},"FindingsTable",{"type":669,"value":1367}," with the simulated findings (",{"type":656,"tag":674,"props":1369,"children":1371},{"className":1370},[],[1372],{"type":669,"value":1373},"DRILL-1",{"type":669,"value":1375},", …) on top of the real open ones. ",{"type":656,"tag":674,"props":1377,"children":1379},{"className":1378},[],[1380],{"type":669,"value":1381},"data\u002Ftours\u002Fdrill-findings.ts",{"type":669,"value":1383}," builds them: the drill's raised signals become findings in a copy of the world, folded with ",{"type":656,"tag":674,"props":1385,"children":1387},{"className":1386},[],[1388],{"type":669,"value":1389},"RULED",{"type":669,"value":1391},". Their outcome and count match the panel's \"So, today\" sentence.",{"type":656,"tag":661,"props":1393,"children":1394},{},[1395,1397,1403,1405,1411,1413,1418],{"type":669,"value":1396},"Drills gained ",{"type":656,"tag":674,"props":1398,"children":1400},{"className":1399},[],[1401],{"type":669,"value":1402},"who",{"type":669,"value":1404}," (the person) and per-signal ",{"type":656,"tag":674,"props":1406,"children":1408},{"className":1407},[],[1409],{"type":669,"value":1410},"resource",{"type":669,"value":1412},". ",{"type":656,"tag":674,"props":1414,"children":1416},{"className":1415},[],[1417],{"type":669,"value":1093},{"type":669,"value":1419}," now also marks the individual table and the empty states, so a policy with no findings yet still has a list to float the Example over.",{"type":656,"tag":661,"props":1421,"children":1422},{},[1423,1436,1438,1443],{"type":656,"tag":665,"props":1424,"children":1425},{},[1426,1428,1434],{"type":669,"value":1427},"The tours lead ",{"type":656,"tag":674,"props":1429,"children":1431},{"className":1430},[],[1432],{"type":669,"value":1433},"\u002Fpages\u002Fphase4\u002Ftour-iterations",{"type":669,"value":1435}," (same day, Mark: \"option 5 is now the de-facto design\"):",{"type":669,"value":1437}," each tour has Start and Demo in v5, with v1–v4 as earlier links. ",{"type":656,"tag":674,"props":1439,"children":1441},{"className":1440},[],[1442],{"type":669,"value":749},{"type":669,"value":1444}," and the walk open v5 too. The walk passed 312 checks in v5.",{"type":656,"tag":661,"props":1446,"children":1447},{},[1448,1453,1455,1503,1506],{"type":656,"tag":665,"props":1449,"children":1450},{},[1451],{"type":669,"value":1452},"Sticky nav and a stray callout (same day, Mark, on AI spend · Where it goes):",{"type":669,"value":1454}," the jump-pill nav (NavJumpPills' sticky row) stayed bright over the dim. When pinned, callouts could sit on it, and one callout pointed at the $\u002Ftokens toggle while it was hidden under the pinned title. Fixed in c125's files, with that thread's go-ahead:",{"type":656,"tag":657,"props":1456,"children":1457},{},[1458,1469,1482,1487,1498],{"type":656,"tag":661,"props":1459,"children":1460},{},[1461,1467],{"type":656,"tag":674,"props":1462,"children":1464},{"className":1463},[],[1465],{"type":669,"value":1466},"useTourChromeBoxes",{"type":669,"value":1468}," covers a see-through sticky wrapper with its painted children, so the pill bar is tinted in flow and pinned.",{"type":656,"tag":661,"props":1470,"children":1471},{},[1472,1474,1480],{"type":669,"value":1473},"The safe area in ",{"type":656,"tag":674,"props":1475,"children":1477},{"className":1476},[],[1478],{"type":669,"value":1479},"Host.vue",{"type":669,"value":1481}," stacks the chrome pinned at the top: the band, then the pills.",{"type":656,"tag":661,"props":1483,"children":1484},{},[1485],{"type":669,"value":1486},"The glide measures the pinned stack instead of a fixed 120 px.",{"type":656,"tag":661,"props":1488,"children":1489},{},[1490,1496],{"type":656,"tag":674,"props":1491,"children":1493},{"className":1492},[],[1494],{"type":669,"value":1495},"Float.vue",{"type":669,"value":1497}," draws no marker for a target that's under the pinned chrome or out of view.",{"type":656,"tag":661,"props":1499,"children":1500},{},[1501],{"type":669,"value":1502},"The tour's callout now points at By model.",{"type":656,"tag":1179,"props":1504,"children":1505},{},[],{"type":669,"value":1507},"The walk passed 312\u002F312 after the change.",{"type":656,"tag":661,"props":1509,"children":1510},{},[1511,1516],{"type":656,"tag":665,"props":1512,"children":1513},{},[1514],{"type":669,"value":1515},"Common AI risks' drills say what you're looking at (same day, Mark: \"the 'simulate violation' button is confusing… we should have a few findings already in place\"):",{"type":656,"tag":657,"props":1517,"children":1518},{},[1519,1531,1536],{"type":656,"tag":661,"props":1520,"children":1521},{},[1522,1524,1529],{"type":669,"value":1523},"Each drill step now shows ",{"type":656,"tag":1238,"props":1525,"children":1526},{},[1527],{"type":669,"value":1528},"all",{"type":669,"value":1530}," your open findings (7), not one policy's list, which was often empty. The Example puts the simulated ones on top and is titled \"Your open findings\" in the v5 panel.",{"type":656,"tag":661,"props":1532,"children":1533},{},[1534],{"type":669,"value":1535},"The panel's text says what each control does: \"What if …? These are your open findings today. Tick Simulate to add the findings it would raise, at the top and marked Example; nothing is saved. Send test alerts to see who would hear about it.\"",{"type":656,"tag":661,"props":1537,"children":1538},{},[1539,1541,1546],{"type":669,"value":1540},"The drill action is renamed ",{"type":656,"tag":665,"props":1542,"children":1543},{},[1544],{"type":669,"value":1545},"Send test alerts",{"type":669,"value":1547},", so it no longer shares a name with the Simulate box.",{"type":656,"tag":661,"props":1549,"children":1550},{},[1551,1556,1558,1568,1570],{"type":656,"tag":665,"props":1552,"children":1553},{},[1554],{"type":669,"value":1555},"The tours walk real qdash pages (same day, Mark: \"replace as many placeholder pages with real ones… exceptions like the installer page\"; then \"Use qdash's Findings\"):",{"type":669,"value":1557}," see ",{"type":656,"tag":683,"props":1559,"children":1561},{"href":1560},"\u002Fcycles\u002Fdesign\u002Fc123\u002Fdoc\u002Ftours-real-pages",[1562],{"type":656,"tag":674,"props":1563,"children":1565},{"className":1564},[],[1566],{"type":669,"value":1567},"tours-real-pages.md",{"type":669,"value":1569}," for the map and what was done.",{"type":656,"tag":657,"props":1571,"children":1572},{},[1573,1578,1590,1595,1600],{"type":656,"tag":661,"props":1574,"children":1575},{},[1576],{"type":669,"value":1577},"Findings, Home and the MCP Servers listing are now copies of qdash. MCP server detail, Integrations and Cost have qdash's page on top, with the tours' own sections below, marked new.",{"type":656,"tag":661,"props":1579,"children":1580},{},[1581,1583,1589],{"type":669,"value":1582},"The governance Findings design moved to ",{"type":656,"tag":674,"props":1584,"children":1586},{"className":1585},[],[1587],{"type":669,"value":1588},"\u002Fmock\u002Ffindings-design",{"type":669,"value":751},{"type":656,"tag":661,"props":1591,"children":1592},{},[1593],{"type":669,"value":1594},"Sources and Add endpoints are tagged as concepts.",{"type":656,"tag":661,"props":1596,"children":1597},{},[1598],{"type":669,"value":1599},"The drills' Examples are qdash's findings ledger.",{"type":656,"tag":661,"props":1601,"children":1602},{},[1603],{"type":669,"value":1604},"The walk passed all five tours (304 checks).",{"type":656,"tag":661,"props":1606,"children":1607},{},[1608,1613],{"type":656,"tag":665,"props":1609,"children":1610},{},[1611],{"type":669,"value":1612},"Tour details, the same afternoon:",{"type":656,"tag":657,"props":1614,"children":1615},{},[1616,1621,1626,1637,1642,1647,1657,1674,1679],{"type":656,"tag":661,"props":1617,"children":1618},{},[1619],{"type":669,"value":1620},"Start here's opening is titled \"Install Qpoint on your first machine\". The token callout is gone. The test machine is Morgans-MacBook-Pro, and \"What it's running\" uses qdash's DataMachine band pattern.",{"type":656,"tag":661,"props":1622,"children":1623},{},[1624],{"type":669,"value":1625},"Findings drops qdash's severity cards.",{"type":656,"tag":661,"props":1627,"children":1628},{},[1629,1631,1635],{"type":669,"value":1630},"Common AI risks: each risk ends at Simulate, and ",{"type":656,"tag":665,"props":1632,"children":1633},{},[1634],{"type":669,"value":1545},{"type":669,"value":1636}," happens once, at \"Would anyone hear about it?\" on Integrations.",{"type":656,"tag":661,"props":1638,"children":1639},{},[1640],{"type":669,"value":1641},"The panel's stop markers are clickable. The Policy Config tray hides while a tour runs.",{"type":656,"tag":661,"props":1643,"children":1644},{},[1645],{"type":669,"value":1646},"The OWASP opening is rewritten: \"evidence, not a compliance verdict\".",{"type":656,"tag":661,"props":1648,"children":1649},{},[1650,1655],{"type":656,"tag":665,"props":1651,"children":1652},{},[1653],{"type":669,"value":1654},"Every step has its own title.",{"type":669,"value":1656}," Steps that shared one looked as if the panel hadn't moved. The walk now checks both points: the panel shows the step's title, and no two consecutive steps share a title.",{"type":656,"tag":661,"props":1658,"children":1659},{},[1660,1665,1667,1672],{"type":656,"tag":665,"props":1661,"children":1662},{},[1663],{"type":669,"value":1664},"OWASP no longer uses Sources",{"type":669,"value":1666}," (off the rail too). Stop 1, now \"Supply chain\", opens on Home's real Inventory section, with ",{"type":656,"tag":665,"props":1668,"children":1669},{},[1670],{"type":669,"value":1671},"spots",{"type":669,"value":1673},": a new step field, shown as panel buttons, each highlighting one area with a line on why it's a risk (MCP servers, skills, model providers, harnesses). It then continues to the MCP Servers listing. Stop 5 walks postmark-mcp-server's detail.",{"type":656,"tag":661,"props":1675,"children":1676},{},[1677],{"type":669,"value":1678},"Scale-to-fit for wide Examples was built and removed, at Mark's call. Wide content is parked.",{"type":656,"tag":661,"props":1680,"children":1681},{},[1682],{"type":669,"value":1683},"The walk passes all five tours (415 checks).",{"type":656,"tag":661,"props":1685,"children":1686},{},[1687,1692],{"type":656,"tag":665,"props":1688,"children":1689},{},[1690],{"type":669,"value":1691},"Demo, the glide and plain step names (same day, late):",{"type":656,"tag":657,"props":1693,"children":1694},{},[1695,1720,1760,1778,1783],{"type":656,"tag":661,"props":1696,"children":1697},{},[1698,1703,1705,1711,1713,1718],{"type":656,"tag":665,"props":1699,"children":1700},{},[1701],{"type":669,"value":1702},"Demo",{"type":669,"value":1704}," on the launcher and on tour-iterations now opens with ",{"type":656,"tag":674,"props":1706,"children":1708},{"className":1707},[],[1709],{"type":669,"value":1710},"?draft=empty",{"type":669,"value":1712}," as well as ",{"type":656,"tag":674,"props":1714,"children":1716},{"className":1715},[],[1717],{"type":669,"value":1285},{"type":669,"value":1719},", so the recorded pages carry none of the seed's proposed changes (c125's knob).",{"type":656,"tag":661,"props":1721,"children":1722},{},[1723,1728,1730,1736,1737,1743,1745,1751,1753,1759],{"type":656,"tag":665,"props":1724,"children":1725},{},[1726],{"type":669,"value":1727},"The glide",{"type":669,"value":1729}," is ease-in-out quint over 0.7–1.6 s by distance. Its slow start was the layer's ",{"type":656,"tag":674,"props":1731,"children":1733},{"className":1732},[],[1734],{"type":669,"value":1735},"* { scroll-behavior: smooth }",{"type":669,"value":727},{"type":656,"tag":674,"props":1738,"children":1740},{"className":1739},[],[1741],{"type":669,"value":1742},"shared.css",{"type":669,"value":1744},") turning each frame's ",{"type":656,"tag":674,"props":1746,"children":1748},{"className":1747},[],[1749],{"type":669,"value":1750},"scrollTo",{"type":669,"value":1752}," into a smooth scroll of its own; the glide now scrolls with ",{"type":656,"tag":674,"props":1754,"children":1756},{"className":1755},[],[1757],{"type":669,"value":1758},"behavior: 'instant'",{"type":669,"value":751},{"type":656,"tag":661,"props":1761,"children":1762},{},[1763,1768,1770,1776],{"type":656,"tag":665,"props":1764,"children":1765},{},[1766],{"type":669,"value":1767},"\"Drill\" and \"Tune\" are gone from what a person reads",{"type":669,"value":1769}," (Mark: \"confusing and ambiguous\"). A step gains ",{"type":656,"tag":674,"props":1771,"children":1773},{"className":1772},[],[1774],{"type":669,"value":1775},"short",{"type":669,"value":1777},", a few words for what it does. The panel's Next names the next step (\"Next: Simulate a look-alike →\", \"Next: Allow what's reviewed →\"), or the next stop when the stop changes. The meta bar's beats read See it · Change it · What if · Prove it, and the launcher's chips use the short names. OWASP's stop 2 is \"MCP servers and their tools\".",{"type":656,"tag":661,"props":1779,"children":1780},{},[1781],{"type":669,"value":1782},"The walk also checks that Next never shows a bare beat name. All five tours pass.",{"type":656,"tag":661,"props":1784,"children":1785},{},[1786,1797,1799,1805,1807,1813,1815,1820],{"type":656,"tag":665,"props":1787,"children":1788},{},[1789,1791],{"type":669,"value":1790},"Landed as ",{"type":656,"tag":674,"props":1792,"children":1794},{"className":1793},[],[1795],{"type":669,"value":1796},"f351ccdf7c",{"type":669,"value":1798},", with the c125 panel and mcp-guide threads' work on the shared tour files and c127's initial prompt, pushed on ",{"type":656,"tag":674,"props":1800,"children":1802},{"className":1801},[],[1803],{"type":669,"value":1804},"c123\u002Fowasp-agentic-tour",{"type":669,"value":1806}," and deployed. A cloud session had already pushed ",{"type":656,"tag":674,"props":1808,"children":1810},{"className":1809},[],[1811],{"type":669,"value":1812},"b3ebf9106f",{"type":669,"value":1814}," (\"focus only what's specific\") from an older ",{"type":656,"tag":674,"props":1816,"children":1818},{"className":1817},[],[1819],{"type":669,"value":1479},{"type":669,"value":1821},", so its change was reapplied by hand in the rebase: the OWASP opening rings nothing, stop 1's and stop 2's policy steps ring less, and Dim and Fade fall back to the ring when the focus covers more than about half the viewport. The walk passed 455 checks on the result. Stops 3 and 4 didn't exist when that commit was written, so their policy steps still ring two regions each.",{"project":9,"cycle":33,"dir":35,"title":36,"date":17,"lead":1823,"long":22,"ast":1824},"mcp-guide, written up",{"type":653,"children":1825},[1826],{"type":656,"tag":657,"props":1827,"children":1828},{},[1829],{"type":656,"tag":661,"props":1830,"children":1831},{},[1832,1837,1838,1843,1844,1849,1850,1854,1856,1865,1867,1873],{"type":656,"tag":665,"props":1833,"children":1834},{},[1835],{"type":669,"value":1836},"mcp-guide, written up (2026-10-29):",{"type":669,"value":719},{"type":656,"tag":674,"props":1839,"children":1841},{"className":1840},[],[1842],{"type":669,"value":679},{"type":669,"value":727},{"type":656,"tag":683,"props":1845,"children":1847},{"href":1846},"\u002Fcycles\u002Fdesign\u002Fc125\u002Fdoc\u002Fmcp-guide-prompt",[1848],{"type":669,"value":733},{"type":669,"value":735},{"type":656,"tag":683,"props":1851,"children":1852},{"href":685},[1853],{"type":669,"value":741},{"type":669,"value":1855},"), raised from c123's session: tours a person's own agent can drive over MCP. The plan proposes an answer to OQ1, with three rules: actions stay with the person, the person's clicks win, and no dashboard changes. Its test ladder runs on the design site before anything reaches qdash: a demo page, a Playwright walk of every step, an MCP contract script, error and safety cases, Claude Code end to end, then the same script against qdash. Added as W7 in ",{"type":656,"tag":683,"props":1857,"children":1859},{"href":1858},"\u002Fcycles\u002Fdesign\u002Fc125\u002Fdoc\u002Ftour-layer",[1860],{"type":656,"tag":674,"props":1861,"children":1863},{"className":1862},[],[1864],{"type":669,"value":700},{"type":669,"value":1866},". Nothing built: the panel-iterations thread (",{"type":656,"tag":674,"props":1868,"children":1870},{"className":1869},[],[1871],{"type":669,"value":1872},"tour-panel-iterations-prompt.md",{"type":669,"value":1874},") is in the tour files the same day, so the build waits for them to be quiet.",{"project":9,"cycle":33,"dir":35,"title":36,"date":17,"lead":1876,"long":22,"ast":1877},"mcp-guide, built",{"type":653,"children":1878},[1879],{"type":656,"tag":657,"props":1880,"children":1881},{},[1882],{"type":656,"tag":661,"props":1883,"children":1884},{},[1885,1890,1892,1898,1899,1905,1907,1913,1915,1921,1923,1929,1930,1936,1938,1944,1946,1952,1953,1959,1961,1967,1968,1974,1976,1982,1984,1990,1992,1997],{"type":656,"tag":665,"props":1886,"children":1887},{},[1888],{"type":669,"value":1889},"mcp-guide, built (2026-10-29):",{"type":669,"value":1891}," the same day, once the tour files had been quiet for about 12 minutes. ",{"type":656,"tag":674,"props":1893,"children":1895},{"className":1894},[],[1896],{"type":669,"value":1897},"window.qpTour",{"type":669,"value":727},{"type":656,"tag":674,"props":1900,"children":1902},{"className":1901},[],[1903],{"type":669,"value":1904},"useTourApi",{"type":669,"value":1906},"), ",{"type":656,"tag":674,"props":1908,"children":1910},{"className":1909},[],[1911],{"type":669,"value":1912},"\u003CTourAgent \u002F>",{"type":669,"value":1914}," beside ",{"type":656,"tag":674,"props":1916,"children":1918},{"className":1917},[],[1919],{"type":669,"value":1920},"\u003CTourHost \u002F>",{"type":669,"value":1922},", a dev-only relay (",{"type":656,"tag":674,"props":1924,"children":1926},{"className":1925},[],[1927],{"type":669,"value":1928},"server\u002Fapi\u002Ftour\u002F*",{"type":669,"value":735},{"type":656,"tag":674,"props":1931,"children":1933},{"className":1932},[],[1934],{"type":669,"value":1935},"server\u002Futils\u002FtourRelay.ts",{"type":669,"value":1937},") and the MCP endpoint ",{"type":656,"tag":674,"props":1939,"children":1941},{"className":1940},[],[1942],{"type":669,"value":1943},"\u002Fapi\u002Ftour\u002Fmcp",{"type":669,"value":1945},", with 11 tools and no verb for a step's action. ",{"type":656,"tag":674,"props":1947,"children":1949},{"className":1948},[],[1950],{"type":669,"value":1951},"TourHost",{"type":669,"value":1013},{"type":656,"tag":674,"props":1954,"children":1956},{"className":1955},[],[1957],{"type":669,"value":1958},"useTour",{"type":669,"value":1960}," are unchanged; the panel-iterations thread had them open. The demo page is ",{"type":656,"tag":674,"props":1962,"children":1964},{"className":1963},[],[1965],{"type":669,"value":1966},"\u002Fpages\u002Fphase4\u002Ftour-mcp",{"type":669,"value":1412},{"type":656,"tag":674,"props":1969,"children":1971},{"className":1970},[],[1972],{"type":669,"value":1973},"scripts\u002Ftour-drive-check.mjs",{"type":669,"value":1975}," passes 62 checks across rungs 1–4. In rung 5, Claude Code walked stop 2 on the embedded lab and left Stage and Simulate violation to the person (",{"type":656,"tag":683,"props":1977,"children":1979},{"href":1978},"\u002Fcycles\u002Fdesign\u002Fc125\u002Fdoc\u002Fmcp-guide-rung5",[1980],{"type":669,"value":1981},"transcript",{"type":669,"value":1983},"). The plan's § Built lists what's left: a recorded capture, a second harness, the no-tab case, and ",{"type":656,"tag":674,"props":1985,"children":1987},{"className":1986},[],[1988],{"type":669,"value":1989},"nuxt generate",{"type":669,"value":1991}," with the new SDK dependency. Committed in ",{"type":656,"tag":674,"props":1993,"children":1995},{"className":1994},[],[1996],{"type":669,"value":1796},{"type":669,"value":751},{"project":9,"cycle":33,"dir":35,"title":36,"date":17,"lead":1999,"long":22,"ast":2000},"mcp-guide, the unscripted guide written up",{"type":653,"children":2001},[2002],{"type":656,"tag":657,"props":2003,"children":2004},{},[2005],{"type":656,"tag":661,"props":2006,"children":2007},{},[2008,2013,2015,2020,2022,2028,2030,2036,2038,2044,2046,2052,2054,2060,2062,2067],{"type":656,"tag":665,"props":2009,"children":2010},{},[2011],{"type":669,"value":2012},"mcp-guide, the unscripted guide written up (2026-10-29):",{"type":669,"value":2014}," Mark asked whether an agent could answer ",{"type":656,"tag":1238,"props":2016,"children":2017},{},[2018],{"type":669,"value":2019},"\"Where do I go to add a Slack integration?\"",{"type":669,"value":2021}," with no tour, using the callout. It can. The plan's ",{"type":656,"tag":683,"props":2023,"children":2025},{"href":2024},"\u002Fcycles\u002Fdesign\u002Fc125\u002Fdoc\u002Fmcp-guide-plan#the-unscripted-guide-written-up-2026-10-29-not-built",[2026],{"type":669,"value":2027},"§ The unscripted guide",{"type":669,"value":2029}," adds three tools: ",{"type":656,"tag":674,"props":2031,"children":2033},{"className":2032},[],[2034],{"type":669,"value":2035},"find-in-app",{"type":669,"value":2037}," (searches an app map on the server), ",{"type":656,"tag":674,"props":2039,"children":2041},{"className":2040},[],[2042],{"type":669,"value":2043},"open-page",{"type":669,"value":2045}," (any page) and ",{"type":656,"tag":674,"props":2047,"children":2049},{"className":2048},[],[2050],{"type":669,"value":2051},"point",{"type":669,"value":2053}," (a ring plus a ",{"type":656,"tag":674,"props":2055,"children":2057},{"className":2056},[],[2058],{"type":669,"value":2059},"TourCallout",{"type":669,"value":2061}," with one sentence). It also adds IDs on the rail and the Connect button. The app map is Objective 1's annotation registry, started from the agent's side. One rule changes: ",{"type":656,"tag":674,"props":2063,"children":2065},{"className":2064},[],[2066],{"type":669,"value":2051},{"type":669,"value":2068}," puts a short label on screen, and the explanation stays in chat. The plan has rungs U0–U4, and U4 asks the exact question in Claude Code. Not built.",{"project":9,"cycle":33,"dir":35,"title":36,"date":17,"lead":2070,"long":22,"ast":2071},"mcp-guide, the unscripted guide built",{"type":653,"children":2072},[2073],{"type":656,"tag":657,"props":2074,"children":2075},{},[2076],{"type":656,"tag":661,"props":2077,"children":2078},{},[2079,2084,2085,2091,2093,2098,2099,2105,2106,2111,2113,2118,2120,2126,2128,2134,2136,2141],{"type":656,"tag":665,"props":2080,"children":2081},{},[2082],{"type":669,"value":2083},"mcp-guide, the unscripted guide built (2026-10-29):",{"type":669,"value":1005},{"type":656,"tag":674,"props":2086,"children":2088},{"className":2087},[],[2089],{"type":669,"value":2090},"app\u002Fdata\u002Fapp-map.ts",{"type":669,"value":2092},", which covers 29 pages and 66 regions and is checked against the pages by U1. Four tools: ",{"type":656,"tag":674,"props":2094,"children":2096},{"className":2095},[],[2097],{"type":669,"value":2035},{"type":669,"value":735},{"type":656,"tag":674,"props":2100,"children":2102},{"className":2101},[],[2103],{"type":669,"value":2104},"read-page",{"type":669,"value":735},{"type":656,"tag":674,"props":2107,"children":2109},{"className":2108},[],[2110],{"type":669,"value":2043},{"type":669,"value":2112}," (rings the rail, then goes) and ",{"type":656,"tag":674,"props":2114,"children":2116},{"className":2115},[],[2117],{"type":669,"value":2051},{"type":669,"value":2119}," (a ring and v4's callout). Rail IDs, plus Connect and connector IDs. ",{"type":656,"tag":674,"props":2121,"children":2123},{"className":2122},[],[2124],{"type":669,"value":2125},"scripts\u002Ftour-guide-ask.mjs",{"type":669,"value":2127}," asks a real harness any question. 166 checks pass. In Claude Code, three questions asked exactly as written each found the page, rang the way and read the region before answering; none pressed anything. For Slack it said \"already connected; config changes it\" (",{"type":656,"tag":683,"props":2129,"children":2131},{"href":2130},"mcp-guide-u4\u002F",[2132],{"type":669,"value":2133},"answers and captures",{"type":669,"value":2135},"). The map followed c123's port of qdash's pages, which landed mid-build. Committed in ",{"type":656,"tag":674,"props":2137,"children":2139},{"className":2138},[],[2140],{"type":669,"value":1796},{"type":669,"value":751},{"project":9,"cycle":33,"dir":35,"title":36,"date":17,"lead":2143,"long":22,"ast":2144},"lab knob `?draft=empty`",{"type":653,"children":2145},[2146],{"type":656,"tag":657,"props":2147,"children":2148},{},[2149],{"type":656,"tag":661,"props":2150,"children":2151},{},[2152,2164,2166,2172,2174,2179,2181,2187,2189,2195,2197,2202,2204,2209],{"type":656,"tag":665,"props":2153,"children":2154},{},[2155,2157,2162],{"type":669,"value":2156},"lab knob ",{"type":656,"tag":674,"props":2158,"children":2160},{"className":2159},[],[2161],{"type":669,"value":1710},{"type":669,"value":2163}," (2026-10-29):",{"type":669,"value":2165}," Mark asked to clear the seed's proposed changes from every page (and noted that demo mode, Shift+D, already hides the tray and the theme editor). ",{"type":656,"tag":674,"props":2167,"children":2169},{"className":2168},[],[2170],{"type":669,"value":2171},"useGovernanceMock",{"type":669,"value":2173}," gains ",{"type":656,"tag":674,"props":2175,"children":2177},{"className":2176},[],[2178],{"type":669,"value":1710},{"type":669,"value":2180},": the stage's world with no lines in the shared draft and no saves in the log that made them. ",{"type":656,"tag":674,"props":2182,"children":2184},{"className":2183},[],[2185],{"type":669,"value":2186},"?draft=seeded",{"type":669,"value":2188}," brings the twelve back. It's kept in lab links like ",{"type":656,"tag":674,"props":2190,"children":2192},{"className":2191},[],[2193],{"type":669,"value":2194},"?stage",{"type":669,"value":2196},", and it's sticky: a link without it leaves the draft as it is. The query is now watched, so a page that doesn't call ",{"type":656,"tag":674,"props":2198,"children":2200},{"className":2199},[],[2201],{"type":669,"value":2171},{"type":669,"value":2203}," itself still reseeds on a stage or draft change. Committed in ",{"type":656,"tag":674,"props":2205,"children":2207},{"className":2206},[],[2208],{"type":669,"value":1796},{"type":669,"value":751},{"project":9,"cycle":33,"dir":35,"title":36,"date":17,"lead":2211,"long":22,"ast":2212},"tour runtime, from c123's tours",{"type":653,"children":2213},[2214],{"type":656,"tag":657,"props":2215,"children":2216},{},[2217],{"type":656,"tag":661,"props":2218,"children":2219},{},[2220,2225,2227,2233,2235,2240,2242,2247],{"type":656,"tag":665,"props":2221,"children":2222},{},[2223],{"type":669,"value":2224},"tour runtime, from c123's tours (2026-10-29):",{"type":669,"value":2226}," c123's five tours (",{"type":656,"tag":683,"props":2228,"children":2230},{"href":2229},"\u002Fcycles\u002Fdesign\u002Fc123\u002Fdoc\u002FCYCLE",[2231],{"type":669,"value":2232},"c123 CYCLE.md § tours",{"type":669,"value":2234},") added to ",{"type":656,"tag":674,"props":2236,"children":2238},{"className":2237},[],[2239],{"type":669,"value":1951},{"type":669,"value":2241}," and the v5 panel, with the panel thread's go-ahead. Follow the page: the person's own click onto the next step's page advances the tour. Clickable stop markers. Spots: buttons in the panel, each ringing one area. A safe area that stacks pinned chrome. The glide is ease-in-out quint. A step's ",{"type":656,"tag":674,"props":2243,"children":2245},{"className":2244},[],[2246],{"type":669,"value":1775},{"type":669,"value":2248}," names it on the Next button, in place of its beat. Committed with this cycle's panel and mcp-guide work on 2026-10-29.",{"project":9,"cycle":33,"dir":35,"title":36,"date":17,"lead":2250,"long":22,"ast":2251},"mcp-guide knows the dashboard",{"type":653,"children":2252},[2253],{"type":656,"tag":657,"props":2254,"children":2255},{},[2256],{"type":656,"tag":661,"props":2257,"children":2258},{},[2259,2264,2265,2271,2273,2279,2280,2286,2288,2294,2296,2301,2303,2309,2311,2317],{"type":656,"tag":665,"props":2260,"children":2261},{},[2262],{"type":669,"value":2263},"mcp-guide knows the dashboard (2026-10-29):",{"type":669,"value":1005},{"type":656,"tag":674,"props":2266,"children":2268},{"className":2267},[],[2269],{"type":669,"value":2270},"guide-knowledge.ts",{"type":669,"value":2272}," makes the policy catalog (19 policies) and the frameworks (5, with 44 requirements) searchable in a customer's words, through rows on ",{"type":656,"tag":674,"props":2274,"children":2276},{"className":2275},[],[2277],{"type":669,"value":2278},"policies.row",{"type":669,"value":1013},{"type":656,"tag":674,"props":2281,"children":2283},{"className":2282},[],[2284],{"type":669,"value":2285},"compliance.framework",{"type":669,"value":2287},". It adds a hand-written word list per policy, 17 concepts, and an ",{"type":656,"tag":674,"props":2289,"children":2291},{"className":2290},[],[2292],{"type":669,"value":2293},"explain",{"type":669,"value":2295}," tool. ",{"type":656,"tag":674,"props":2297,"children":2299},{"className":2298},[],[2300],{"type":669,"value":2043},{"type":669,"value":2302}," takes ",{"type":656,"tag":674,"props":2304,"children":2306},{"className":2305},[],[2307],{"type":669,"value":2308},"{ policyId }",{"type":669,"value":2310},". New IDs on the Control Center's rows and eight on the policy page's sections. The server is renamed ",{"type":656,"tag":674,"props":2312,"children":2314},{"className":2313},[],[2315],{"type":669,"value":2316},"qpoint-guide",{"type":669,"value":2318},". 189 checks pass. In Claude Code, SSH keys went to the P-FILES row, and DeepSeek went to P-PROVIDERS' Mode with its live state.",{"project":9,"cycle":33,"dir":35,"title":36,"date":17,"lead":2320,"long":22,"ast":2321},"focus only what's specific",{"type":653,"children":2322},[2323],{"type":656,"tag":657,"props":2324,"children":2325},{},[2326],{"type":656,"tag":661,"props":2327,"children":2328},{},[2329,2334,2336,2341,2343,2349,2350,2355,2357,2362,2364,2369,2371,2379],{"type":656,"tag":665,"props":2330,"children":2331},{},[2332],{"type":669,"value":2333},"focus only what's specific (2026-10-29):",{"type":669,"value":2335}," Mark: \"I don't know that we gain anything by highlighting the whole page.\" A cloud session's ",{"type":656,"tag":674,"props":2337,"children":2339},{"className":2338},[],[2340],{"type":669,"value":1812},{"type":669,"value":2342},": a step rings the one region that answers its question, and Dim and Fade fall back to the ring past about half the viewport (",{"type":656,"tag":674,"props":2344,"children":2346},{"className":2345},[],[2347],{"type":669,"value":2348},"effectiveFocus",{"type":669,"value":943},{"type":656,"tag":674,"props":2351,"children":2353},{"className":2352},[],[2354],{"type":669,"value":1951},{"type":669,"value":2356},"). It was written against an older ",{"type":656,"tag":674,"props":2358,"children":2360},{"className":2359},[],[2361],{"type":669,"value":1479},{"type":669,"value":2363}," and reapplied by hand in ",{"type":656,"tag":674,"props":2365,"children":2367},{"className":2366},[],[2368],{"type":669,"value":1796},{"type":669,"value":2370},". Rule in ",{"type":656,"tag":683,"props":2372,"children":2373},{"href":1858},[2374],{"type":656,"tag":674,"props":2375,"children":2377},{"className":2376},[],[2378],{"type":669,"value":700},{"type":669,"value":751},{"project":9,"cycle":33,"dir":35,"title":36,"date":17,"lead":2381,"long":22,"ast":2382},"mcp-guide, committed and deployed",{"type":653,"children":2383},[2384],{"type":656,"tag":657,"props":2385,"children":2386},{},[2387],{"type":656,"tag":661,"props":2388,"children":2389},{},[2390,2395,2397,2402,2403,2408,2410,2415,2417,2423,2425,2431],{"type":656,"tag":665,"props":2391,"children":2392},{},[2393],{"type":669,"value":2394},"mcp-guide, committed and deployed (2026-10-29):",{"type":669,"value":2396}," the c123 tours session's commit needed these files to build, so Mark approved including them: ",{"type":656,"tag":674,"props":2398,"children":2400},{"className":2399},[],[2401],{"type":669,"value":1796},{"type":669,"value":1294},{"type":656,"tag":674,"props":2404,"children":2406},{"className":2405},[],[2407],{"type":669,"value":1804},{"type":669,"value":2409},", pushed and deployed. ",{"type":656,"tag":674,"props":2411,"children":2413},{"className":2412},[],[2414],{"type":669,"value":1989},{"type":669,"value":2416}," passed with the MCP SDK and needed no prerender exclusions. The live ",{"type":656,"tag":674,"props":2418,"children":2420},{"className":2419},[],[2421],{"type":669,"value":2422},"_deploy.json",{"type":669,"value":2424}," showed ",{"type":656,"tag":674,"props":2426,"children":2428},{"className":2427},[],[2429],{"type":669,"value":2430},"f351ccdf",{"type":669,"value":2432}," with 0 uncommitted. The guide only drives a page on the dev server; deployed, the relay isn't there.",{"project":9,"cycle":33,"dir":35,"title":36,"date":17,"lead":2434,"long":21,"ast":2435},"in-app chat, split off",{"type":653,"children":2436},[2437],{"type":656,"tag":657,"props":2438,"children":2439},{},[2440],{"type":656,"tag":661,"props":2441,"children":2442},{},[2443,2448,2450,2456],{"type":656,"tag":665,"props":2444,"children":2445},{},[2446],{"type":669,"value":2447},"in-app chat, split off (2026-10-29):",{"type":669,"value":2449}," Mark asked how a chat window in the web app would work, then asked for a new cycle with initial thoughts and no plan: ",{"type":656,"tag":683,"props":2451,"children":2453},{"href":2452},"\u002Fcycles\u002Fdesign\u002Fc127\u002Fdoc\u002Finitial-prompt",[2454],{"type":669,"value":2455},"c127 Guide Chat",{"type":669,"value":751},{"project":9,"cycle":46,"dir":48,"title":49,"date":30,"lead":2458,"long":21,"ast":2459},"kick-off",{"type":653,"children":2460},[2461],{"type":656,"tag":657,"props":2462,"children":2463},{},[2464],{"type":656,"tag":661,"props":2465,"children":2466},{},[2467,2472],{"type":656,"tag":665,"props":2468,"children":2469},{},[2470],{"type":669,"value":2471},"kick-off (2026-10-27):",{"type":669,"value":2473}," CYCLE.md written from Mark's kick-off prompt and the market-analyst brief, alongside c125 and c126. The cleanup is this cycle's Stage 2, not a new cycle, as the brief asked. Nothing built yet.",{"project":9,"cycle":46,"dir":48,"title":49,"date":30,"lead":2475,"long":22,"ast":2476},"before captures",{"type":653,"children":2477},[2478],{"type":656,"tag":657,"props":2479,"children":2480},{},[2481],{"type":656,"tag":661,"props":2482,"children":2483},{},[2484,2489,2490,2496,2497,2503,2504,2510,2511,2517,2519,2525,2527,2533,2535,2541],{"type":656,"tag":665,"props":2485,"children":2486},{},[2487],{"type":669,"value":2488},"before captures (2026-10-27):",{"type":669,"value":719},{"type":656,"tag":674,"props":2491,"children":2493},{"className":2492},[],[2494],{"type":669,"value":2495},"c123-before",{"type":669,"value":681},{"type":656,"tag":674,"props":2498,"children":2500},{"className":2499},[],[2501],{"type":669,"value":2502},"c123-before-compliance-{established,adoption}",{"type":669,"value":735},{"type":656,"tag":674,"props":2505,"children":2507},{"className":2506},[],[2508],{"type":669,"value":2509},"c123-before-framework-detail",{"type":669,"value":1013},{"type":656,"tag":674,"props":2512,"children":2514},{"className":2513},[],[2515],{"type":669,"value":2516},"c123-before-policies-frameworks-strip",{"type":669,"value":2518}," (with ",{"type":656,"tag":674,"props":2520,"children":2522},{"className":2521},[],[2523],{"type":669,"value":2524},"-full",{"type":669,"value":2526}," renders) in ",{"type":656,"tag":674,"props":2528,"children":2530},{"className":2529},[],[2531],{"type":669,"value":2532},"public\u002Fcycles\u002Fdesign\u002F",{"type":669,"value":2534},". Program ",{"type":656,"tag":674,"props":2536,"children":2538},{"className":2537},[],[2539],{"type":669,"value":2540},"scripts\u002Fshot-programs\u002Fc123-before.json",{"type":669,"value":2542},". They show the Active\u002FAvailable listing with its completeness % and Activate\u002FDeactivate (X1, X2, X5), framework detail still an S5 record (X6), and the second activation strip on Policies (X1, X4).",{"project":9,"cycle":46,"dir":48,"title":49,"date":30,"lead":2544,"long":22,"ast":2545},"owasp-agentic",{"type":653,"children":2546},[2547],{"type":656,"tag":657,"props":2548,"children":2549},{},[2550],{"type":656,"tag":661,"props":2551,"children":2552},{},[2553,2558,2559,2564,2565,2570,2572,2578,2580,2586,2587,2593,2595,2605,2607,2614,2616,2622,2624,2629,2631,2637,2638,2644],{"type":656,"tag":665,"props":2554,"children":2555},{},[2556],{"type":669,"value":2557},"owasp-agentic (2026-10-27):",{"type":669,"value":719},{"type":656,"tag":674,"props":2560,"children":2562},{"className":2561},[],[2563],{"type":669,"value":2544},{"type":669,"value":727},{"type":656,"tag":683,"props":2566,"children":2568},{"href":2567},"\u002Fcycles\u002Fdesign\u002Fc123\u002Fdoc\u002Fowasp-agentic-prompt",[2569],{"type":669,"value":733},{"type":669,"value":2571},"). The OWASP Top 10 for Agentic Applications 2026 read in full, with both LLM Top 10 editions, in ",{"type":656,"tag":674,"props":2573,"children":2575},{"className":2574},[],[2576],{"type":669,"value":2577},"research\u002Fowasp\u002F",{"type":669,"value":2579}," (PDFs, licensing ",{"type":656,"tag":683,"props":2581,"children":2583},{"href":2582},"\u002Fcycles\u002Fdesign\u002Fc123\u002Fdoc\u002Fresearch\u002Fowasp\u002FREADME",[2584],{"type":669,"value":2585},"README",{"type":669,"value":735},{"type":656,"tag":683,"props":2588,"children":2590},{"href":2589},"\u002Fcycles\u002Fdesign\u002Fc123\u002Fdoc\u002Fresearch\u002Fowasp\u002Fagentic-top10-reading",[2591],{"type":669,"value":2592},"close reading",{"type":669,"value":2594},": every numbered mitigation tagged Enforced \u002F Observed \u002F Evidenced \u002F Outside, the fit table ready for the fixture). ",{"type":656,"tag":683,"props":2596,"children":2598},{"href":2597},"\u002Fcycles\u002Fdesign\u002Fc123\u002Fdoc\u002Fowasp-agentic-tour",[2599],{"type":656,"tag":674,"props":2600,"children":2602},{"className":2601},[],[2603],{"type":669,"value":2604},"owasp-agentic-tour.md",{"type":669,"value":2606}," maps each risk to a question, qdash surfaces and policies, and designs a c125 tour plus framework detail's \"paper rail\". UI concept canvas: ",{"type":656,"tag":683,"props":2608,"children":2612},{"href":2609,"rel":2610},"https:\u002F\u002Fclaude.ai\u002Fartifact\u002FV4qJ4c8sgfuTZv1nvcfmy1",[2611],"nofollow",[2613],{"type":669,"value":2609},{"type":669,"value":2615},". All OWASP material is CC BY-SA 4.0 (ACS code Apache-2.0); no OWASP logo. Ruled the same day: Agentic joins v1 (F4 now four). It's in ",{"type":656,"tag":674,"props":2617,"children":2619},{"className":2618},[],[2620],{"type":669,"value":2621},"governance-fixture.ts",{"type":669,"value":2623}," as ",{"type":656,"tag":674,"props":2625,"children":2627},{"className":2626},[],[2628],{"type":669,"value":2544},{"type":669,"value":2630}," (2026, risk taxonomy, untracked, ASI01–ASI10 from the reading's fit table), with short labels in ",{"type":656,"tag":674,"props":2632,"children":2634},{"className":2633},[],[2635],{"type":669,"value":2636},"FW_SHORT",{"type":669,"value":1013},{"type":656,"tag":674,"props":2639,"children":2641},{"className":2640},[],[2642],{"type":669,"value":2643},"FW_LABEL",{"type":669,"value":2645},". It renders on the lab's compliance listing, framework detail and policy detail.",{"project":9,"cycle":46,"dir":48,"title":49,"date":30,"lead":2647,"long":21,"ast":2648},"ruling",{"type":653,"children":2649},[2650],{"type":656,"tag":657,"props":2651,"children":2652},{},[2653],{"type":656,"tag":661,"props":2654,"children":2655},{},[2656,2661,2663,2668],{"type":656,"tag":665,"props":2657,"children":2658},{},[2659],{"type":669,"value":2660},"ruling (2026-10-27):",{"type":669,"value":2662}," the cleanup runs ",{"type":656,"tag":665,"props":2664,"children":2665},{},[2666],{"type":669,"value":2667},"at the page level",{"type":669,"value":2669},". Mark looks at each page whole and names what feels off or hasn't caught up to our understanding. The X1–X11 checklist is a cross-check after his read, not the agenda. Illustrator exports follow his notes; they aren't prepared ahead.",{"project":9,"cycle":46,"dir":48,"title":49,"date":30,"lead":2671,"long":22,"ast":2672},"owasp-agentic, the addressable tour",{"type":653,"children":2673},[2674],{"type":656,"tag":657,"props":2675,"children":2676},{},[2677],{"type":656,"tag":661,"props":2678,"children":2679},{},[2680,2685,2686,2691,2693,2703,2705,2711,2713,2719,2721,2726],{"type":656,"tag":665,"props":2681,"children":2682},{},[2683],{"type":669,"value":2684},"owasp-agentic, the addressable tour (2026-10-27):",{"type":669,"value":719},{"type":656,"tag":674,"props":2687,"children":2689},{"className":2688},[],[2690],{"type":669,"value":2544},{"type":669,"value":2692},". Mark redirected the tour from all ten risks to the parts Qpoint can most address, framed by the customer's concern. The spec is ",{"type":656,"tag":683,"props":2694,"children":2696},{"href":2695},"\u002Fcycles\u002Fdesign\u002Fc123\u002Fdoc\u002Fowasp-agentic-tour-v2",[2697],{"type":656,"tag":674,"props":2698,"children":2700},{"className":2699},[],[2701],{"type":669,"value":2702},"owasp-agentic-tour-v2.md",{"type":669,"value":2704},": five concern-led stops, each with Watch, Tune and Prove beats. The ",{"type":656,"tag":683,"props":2706,"children":2708},{"href":2609,"rel":2707},[2611],[2709],{"type":669,"value":2710},"concept canvas",{"type":669,"value":2712}," has a new v2 row of five static boards: the route, and the Watch and Tune beats of stop 1 (Source health) and stop 2 (MCP). Source health is seven checks per source, each passing, failing, not yet known or not applying, with counts above the list and no score. Each Tune beat uses the fixture's real controls (mode and advanced exceptions, ",{"type":656,"tag":674,"props":2714,"children":2716},{"className":2715},[],[2717],{"type":669,"value":2718},"PolicyModeState",{"type":669,"value":2720},", P-PROVENANCE, the severity override) and tags the missing ones ",{"type":656,"tag":1238,"props":2722,"children":2723},{},[2724],{"type":669,"value":2725},"new",{"type":669,"value":2727},": a per-server tool list, an approval verb set, sanctioning a skill, severity per scope. The spec's new \"What the artboards decided\" section records the panel's v2 anatomy, the fixture-like numbers, and three asks found by checking the fixture. The Prove boards aren't drawn yet; the tour runtime belongs to c125.",{"project":9,"cycle":46,"dir":48,"title":49,"date":30,"lead":2729,"long":22,"ast":2730},"owasp-agentic, the Drill beat and the lab tour",{"type":653,"children":2731},[2732],{"type":656,"tag":657,"props":2733,"children":2734},{},[2735],{"type":656,"tag":661,"props":2736,"children":2737},{},[2738,2743,2744,2749,2751,2756,2758,2763,2765,2883,2886,2888,2897],{"type":656,"tag":665,"props":2739,"children":2740},{},[2741],{"type":669,"value":2742},"owasp-agentic, the Drill beat and the lab tour (2026-10-27):",{"type":669,"value":719},{"type":656,"tag":674,"props":2745,"children":2747},{"className":2746},[],[2748],{"type":669,"value":2544},{"type":669,"value":2750},". Mark added a fourth beat, ",{"type":656,"tag":665,"props":2752,"children":2753},{},[2754],{"type":669,"value":2755},"Drill",{"type":669,"value":2757},": show the signals Qpoint would send for a violation, the card on Home that lights up, and the customer's notification settings, then ",{"type":656,"tag":665,"props":2759,"children":2760},{},[2761],{"type":669,"value":2762},"Simulate violation",{"type":669,"value":2764}," to send real, clearly marked test messages through their channels. He wanted the tour layer as light as possible on the dashboard: IDs only, floating, and in a look of its own. He ruled the panel floats, the messages are real, drill receipts are kept, and row keys start light. He also asked to rebuild the canvas boards as lab mockups and keep the boards as sketches. Built:",{"type":656,"tag":657,"props":2766,"children":2767},{},[2768,2816,2857,2873],{"type":656,"tag":661,"props":2769,"children":2770},{},[2771,2776,2777,2783,2784,2790,2792,2798,2800,2806,2808,2814],{"type":656,"tag":665,"props":2772,"children":2773},{},[2774],{"type":669,"value":2775},"The tour layer",{"type":669,"value":727},{"type":656,"tag":674,"props":2778,"children":2780},{"className":2779},[],[2781],{"type":669,"value":2782},"components\u002Ftour\u002F*",{"type":669,"value":735},{"type":656,"tag":674,"props":2785,"children":2787},{"className":2786},[],[2788],{"type":669,"value":2789},"composables\u002FuseTour.ts",{"type":669,"value":2791},", the adapter ",{"type":656,"tag":674,"props":2793,"children":2795},{"className":2794},[],[2796],{"type":669,"value":2797},"useTourAdapter.ts",{"type":669,"value":2799},", content in ",{"type":656,"tag":674,"props":2801,"children":2803},{"className":2802},[],[2804],{"type":669,"value":2805},"data\u002Ftours\u002F",{"type":669,"value":2807},"), mounted once in the ",{"type":656,"tag":674,"props":2809,"children":2811},{"className":2810},[],[2812],{"type":669,"value":2813},"governance-mock",{"type":669,"value":2815}," layout.",{"type":656,"tag":661,"props":2817,"children":2818},{},[2819,2824,2826,2832,2834,2840,2841,2847,2849,2855],{"type":656,"tag":665,"props":2820,"children":2821},{},[2822],{"type":669,"value":2823},"Four new composed mocks:",{"type":669,"value":2825}," Home, Sources, the ",{"type":656,"tag":674,"props":2827,"children":2829},{"className":2828},[],[2830],{"type":669,"value":2831},"github",{"type":669,"value":2833}," MCP server detail with its Policy section, and Integrations with the delivery log. Their data is in ",{"type":656,"tag":674,"props":2835,"children":2837},{"className":2836},[],[2838],{"type":669,"value":2839},"data\u002Fowasp-tour-fixture.ts",{"type":669,"value":1013},{"type":656,"tag":674,"props":2842,"children":2844},{"className":2843},[],[2845],{"type":669,"value":2846},"useNotificationsMock.ts",{"type":669,"value":2848},", and ",{"type":656,"tag":674,"props":2850,"children":2852},{"className":2851},[],[2853],{"type":669,"value":2854},"data-qp-id",{"type":669,"value":2856}," attributes are their only tie to the tour.",{"type":656,"tag":661,"props":2858,"children":2859},{},[2860,2865,2866,2872],{"type":656,"tag":665,"props":2861,"children":2862},{},[2863],{"type":669,"value":2864},"The route page",{"type":669,"value":1005},{"type":656,"tag":674,"props":2867,"children":2869},{"className":2868},[],[2870],{"type":669,"value":2871},"\u002Fpages\u002Fphase4\u002Ftour-owasp-agentic",{"type":669,"value":751},{"type":656,"tag":661,"props":2874,"children":2875},{},[2876,2881],{"type":656,"tag":665,"props":2877,"children":2878},{},[2879],{"type":669,"value":2880},"The Tune beats stage real changes",{"type":669,"value":2882}," in the shared draft, and the drills write to the delivery log.",{"type":656,"tag":1179,"props":2884,"children":2885},{},[],{"type":669,"value":2887},"The spec's new § \"The Drill beat, and the lab tour\" maps each step to its page and lists the signals for stops 1 and 2. The protocol and the work packages for c125 are in ",{"type":656,"tag":683,"props":2889,"children":2890},{"href":1858},[2891],{"type":656,"tag":674,"props":2892,"children":2894},{"className":2893},[],[2895],{"type":669,"value":2896},"c125 tour-layer.md",{"type":669,"value":751},{"project":9,"cycle":46,"dir":48,"title":49,"date":30,"lead":2899,"long":22,"ast":2900},"NIST AI RMF in the fixture",{"type":653,"children":2901},[2902],{"type":656,"tag":657,"props":2903,"children":2904},{},[2905],{"type":656,"tag":661,"props":2906,"children":2907},{},[2908,2913,2914,2920,2922,2928,2930,2936,2938,2944,2946,2952,2954,2960,2962,2967,2969,2975],{"type":656,"tag":665,"props":2909,"children":2910},{},[2911],{"type":669,"value":2912},"NIST AI RMF in the fixture (2026-10-27):",{"type":669,"value":1005},{"type":656,"tag":674,"props":2915,"children":2917},{"className":2916},[],[2918],{"type":669,"value":2919},"nist-ai-rmf",{"type":669,"value":2921},": version ",{"type":656,"tag":674,"props":2923,"children":2925},{"className":2924},[],[2926],{"type":669,"value":2927},"1.0 (Jan 2023)",{"type":669,"value":2929},", the new kind ",{"type":656,"tag":674,"props":2931,"children":2933},{"className":2932},[],[2934],{"type":669,"value":2935},"risk-management framework",{"type":669,"value":2937},", the source term ",{"type":656,"tag":674,"props":2939,"children":2941},{"className":2940},[],[2942],{"type":669,"value":2943},"subcategory",{"type":669,"value":2945}," (\"Subcategories\" on framework detail), untracked. It holds 18 subcategories: the 15 the dossier (§2e) says Qpoint can speak to, plus GOVERN 2.1, MEASURE 2.11 and MANAGE 4.3 as visible gaps. Labels abridge NIST AI 100-1 (a US government work), and the ids are NIST's own. This closes the \"NIST AI RMF missing from the lab data\" item. The layer's ",{"type":656,"tag":674,"props":2947,"children":2949},{"className":2948},[],[2950],{"type":669,"value":2951},"FrameworkIcon",{"type":669,"value":2953}," resolved \"risk-management framework\" through its ",{"type":656,"tag":674,"props":2955,"children":2957},{"className":2956},[],[2958],{"type":669,"value":2959},"risk",{"type":669,"value":2961}," alias to the risk-taxonomy warn icon. Fixed in ",{"type":656,"tag":665,"props":2963,"children":2964},{},[2965],{"type":669,"value":2966},"q-nuxt-layer 0.9.36",{"type":669,"value":2968},": a ",{"type":656,"tag":674,"props":2970,"children":2972},{"className":2971},[],[2973],{"type":669,"value":2974},"riskmanagement",{"type":669,"value":2976}," alias, listed first, takes the governance ribbon. All six consumer lockfiles are refreshed and committed, not pushed.",{"project":9,"cycle":33,"dir":35,"title":36,"date":30,"lead":2458,"long":21,"ast":2978},{"type":653,"children":2979},[2980],{"type":656,"tag":657,"props":2981,"children":2982},{},[2983],{"type":656,"tag":661,"props":2984,"children":2985},{},[2986,2990],{"type":656,"tag":665,"props":2987,"children":2988},{},[2989],{"type":669,"value":2471},{"type":669,"value":2991}," Stage 1 and Stage 2 written together from Mark's direction and the market-analyst brief, alongside c123 (frameworks) and c126 (policies). Nothing built yet.",{"project":9,"cycle":33,"dir":35,"title":36,"date":30,"lead":2993,"long":21,"ast":2994},"prior art located",{"type":653,"children":2995},[2996],{"type":656,"tag":657,"props":2997,"children":2998},{},[2999],{"type":656,"tag":661,"props":3000,"children":3001},{},[3002,3007,3009,3015,3017,3023],{"type":656,"tag":665,"props":3003,"children":3004},{},[3005],{"type":669,"value":3006},"prior art located (2026-10-27):",{"type":669,"value":3008}," Mark named app.qpoint.io's simple linear wizard as the prior art and thought it might be in q-nuxt-layer. It isn't: the kit is still app-local in ",{"type":656,"tag":674,"props":3010,"children":3012},{"className":3011},[],[3013],{"type":669,"value":3014},"app.qpoint.io\u002Fapp\u002Fcomponents\u002Fwizard\u002F",{"type":669,"value":3016}," with ",{"type":656,"tag":674,"props":3018,"children":3020},{"className":3019},[],[3021],{"type":669,"value":3022},"utils\u002Fsequin.js",{"type":669,"value":3024},", unchanged since c23 classed it app-local. Objective 4 and Phase 1 now replicate it first.",{"project":9,"cycle":33,"dir":35,"title":36,"date":30,"lead":2475,"long":22,"ast":3026},{"type":653,"children":3027},[3028],{"type":656,"tag":657,"props":3029,"children":3030},{},[3031],{"type":656,"tag":661,"props":3032,"children":3033},{},[3034,3038,3039,3045,3046,3052,3053,3059,3060,3066,3067,3073,3074,3079,3080,3086],{"type":656,"tag":665,"props":3035,"children":3036},{},[3037],{"type":669,"value":2488},{"type":669,"value":719},{"type":656,"tag":674,"props":3040,"children":3042},{"className":3041},[],[3043],{"type":669,"value":3044},"c125-before",{"type":669,"value":681},{"type":656,"tag":674,"props":3047,"children":3049},{"className":3048},[],[3050],{"type":669,"value":3051},"c125-before-home-adoption",{"type":669,"value":735},{"type":656,"tag":674,"props":3054,"children":3056},{"className":3055},[],[3057],{"type":669,"value":3058},"-endpoints-adoption",{"type":669,"value":735},{"type":656,"tag":674,"props":3061,"children":3063},{"className":3062},[],[3064],{"type":669,"value":3065},"-policies-adoption",{"type":669,"value":1013},{"type":656,"tag":674,"props":3068,"children":3070},{"className":3069},[],[3071],{"type":669,"value":3072},"-governance-model",{"type":669,"value":943},{"type":656,"tag":674,"props":3075,"children":3077},{"className":3076},[],[3078],{"type":669,"value":2532},{"type":669,"value":2534},{"type":656,"tag":674,"props":3081,"children":3083},{"className":3082},[],[3084],{"type":669,"value":3085},"scripts\u002Fshot-programs\u002Fc125-before.json",{"type":669,"value":3087},". They show the lab in adoption with no help, markers or tour: the pages the journey would start on. The app.qpoint.io wizard kit isn't shot yet, because its dev server isn't running and the project is stale.",{"project":9,"cycle":33,"dir":35,"title":36,"date":30,"lead":3089,"long":21,"ast":3090},"rulings",{"type":653,"children":3091},[3092],{"type":656,"tag":657,"props":3093,"children":3094},{},[3095],{"type":656,"tag":661,"props":3096,"children":3097},{},[3098,3103,3105,3110,3112,3117,3119,3124],{"type":656,"tag":665,"props":3099,"children":3100},{},[3101],{"type":669,"value":3102},"rulings (2026-10-27):",{"type":669,"value":3104}," Mark answered two kick-off questions. (1) The MCP tour guide drives the ",{"type":656,"tag":665,"props":3106,"children":3107},{},[3108],{"type":669,"value":3109},"design-site lab first",{"type":669,"value":3111},"; qdash comes after. That settles Phase 4's target, though the transport question (open question 1) stays open. (2) The app.qpoint.io wizard kit is ",{"type":656,"tag":665,"props":3113,"children":3114},{},[3115],{"type":669,"value":3116},"documented first",{"type":669,"value":3118}," (its own dev server, captures, a prior-art note), ",{"type":656,"tag":665,"props":3120,"children":3121},{},[3122],{"type":669,"value":3123},"then copied",{"type":669,"value":3125}," onto the design site.",{"project":9,"cycle":33,"dir":35,"title":36,"date":30,"lead":3127,"long":22,"ast":3128},"wizard kit, documented then copied",{"type":653,"children":3129},[3130],{"type":656,"tag":657,"props":3131,"children":3132},{},[3133],{"type":656,"tag":661,"props":3134,"children":3135},{},[3136,3141,3143,3149,3151,3157,3159,3169,3171,3177,3178,3184,3186,3192,3194,3200,3202,3208],{"type":656,"tag":665,"props":3137,"children":3138},{},[3139],{"type":669,"value":3140},"wizard kit, documented then copied (2026-10-27):",{"type":669,"value":3142}," app.qpoint.io ran on :3301, since its content watcher holds :3300. Thread ",{"type":656,"tag":674,"props":3144,"children":3146},{"className":3145},[],[3147],{"type":669,"value":3148},"c125-wizard-kit",{"type":669,"value":3150}," shot the A–D demo in tab mode, the only ",{"type":656,"tag":674,"props":3152,"children":3154},{"className":3153},[],[3155],{"type":669,"value":3156},"\u002Fdev\u002Fwizards",{"type":669,"value":3158}," page that still resolves. ",{"type":656,"tag":683,"props":3160,"children":3162},{"href":3161},"\u002Fcycles\u002Fdesign\u002Fc125\u002Fdoc\u002Fprior-art-wizard-kit",[3163],{"type":656,"tag":674,"props":3164,"children":3166},{"className":3165},[],[3167],{"type":669,"value":3168},"prior-art-wizard-kit.md",{"type":669,"value":3170}," records the anatomy (Sequin, per-step overrides, the form, listener and end modes), the seven flows it shipped in, what it hands c125, and what was found while copying. The kit is replicated verbatim except for named changes in ",{"type":656,"tag":674,"props":3172,"children":3174},{"className":3173},[],[3175],{"type":669,"value":3176},"app\u002Fcomponents\u002Freplicas\u002Fwizard\u002F",{"type":669,"value":727},{"type":656,"tag":674,"props":3179,"children":3181},{"className":3180},[],[3182],{"type":669,"value":3183},"ReplicasWizard*",{"type":669,"value":3185},", plus the app-local LinkBack) and ",{"type":656,"tag":674,"props":3187,"children":3189},{"className":3188},[],[3190],{"type":669,"value":3191},"app\u002Futils\u002Fsequin.js",{"type":669,"value":3193},". It's demoed at ",{"type":656,"tag":674,"props":3195,"children":3197},{"className":3196},[],[3198],{"type":669,"value":3199},"\u002Fpages\u002Fphase4\u002Fwizard-kit",{"type":669,"value":3201}," (tab, centred and linear modes, the listener → end install shape, the pieces alone), and thread ",{"type":656,"tag":674,"props":3203,"children":3205},{"className":3204},[],[3206],{"type":669,"value":3207},"c125-wizard-replica",{"type":669,"value":3209}," holds five shots of it working.",{"project":9,"cycle":33,"dir":35,"title":36,"date":30,"lead":3211,"long":22,"ast":3212},"the richer radar",{"type":653,"children":3213},[3214],{"type":656,"tag":657,"props":3215,"children":3216},{},[3217],{"type":656,"tag":661,"props":3218,"children":3219},{},[3220,3225,3227,3233,3234,3240,3241,3247,3249,3255,3257,3263,3265,3271,3273,3281],{"type":656,"tag":665,"props":3221,"children":3222},{},[3223],{"type":669,"value":3224},"the richer radar (2026-10-27):",{"type":669,"value":3226}," Mark's old branch was app.qpoint.io ",{"type":656,"tag":674,"props":3228,"children":3230},{"className":3229},[],[3231],{"type":669,"value":3232},"origin\u002Fmask-image",{"type":669,"value":727},{"type":656,"tag":674,"props":3235,"children":3237},{"className":3236},[],[3238],{"type":669,"value":3239},"d82388d",{"type":669,"value":1013},{"type":656,"tag":674,"props":3242,"children":3244},{"className":3243},[],[3245],{"type":669,"value":3246},"0bfe673",{"type":669,"value":3248},", 2024-06-05, never merged). The twelve radar assets are lifted into ",{"type":656,"tag":674,"props":3250,"children":3252},{"className":3251},[],[3253],{"type":669,"value":3254},"app\u002Fassets\u002Fimages\u002Fwizard\u002Fmask-image\u002F",{"type":669,"value":3256},". Its ",{"type":656,"tag":674,"props":3258,"children":3260},{"className":3259},[],[3261],{"type":669,"value":3262},"Radar.vue",{"type":669,"value":3264}," is now ",{"type":656,"tag":674,"props":3266,"children":3268},{"className":3267},[],[3269],{"type":669,"value":3270},"ReplicasWizardRadar",{"type":669,"value":3272},", a black disc with line and sweep layers turning at 12 s and 6 s, and it's grafted into the replica PingListener as the branch had it. See ",{"type":656,"tag":683,"props":3274,"children":3275},{"href":3161},[3276],{"type":656,"tag":674,"props":3277,"children":3279},{"className":3278},[],[3280],{"type":669,"value":3168},{"type":669,"value":3282}," § The richer radar. Checked on :3000: both layers load and turn, and the console shows no errors.",{"project":9,"cycle":33,"dir":35,"title":36,"date":30,"lead":3284,"long":21,"ast":3285},"radar sizes",{"type":653,"children":3286},[3287],{"type":656,"tag":657,"props":3288,"children":3289},{},[3290],{"type":656,"tag":661,"props":3291,"children":3292},{},[3293,3298,3299,3304,3305,3311],{"type":656,"tag":665,"props":3294,"children":3295},{},[3296],{"type":669,"value":3297},"radar sizes (2026-10-27):",{"type":669,"value":1005},{"type":656,"tag":674,"props":3300,"children":3302},{"className":3301},[],[3303],{"type":669,"value":3270},{"type":669,"value":2302},{"type":656,"tag":674,"props":3306,"children":3308},{"className":3307},[],[3309],{"type":669,"value":3310},"size",{"type":669,"value":3312}," (px, default 38, as on the branch), and both layers fill the disc. The wizard-kit page's pieces section shows it at 38, 96, 160 and 280 px. The SVG layers stay crisp at 280.",{"project":9,"cycle":33,"dir":35,"title":36,"date":30,"lead":3314,"long":22,"ast":3315},"radar line colour",{"type":653,"children":3316},[3317],{"type":656,"tag":657,"props":3318,"children":3319},{},[3320],{"type":656,"tag":661,"props":3321,"children":3322},{},[3323,3328,3329,3334,3335,3341,3343,3349,3351,3357,3359,3365,3367,3373,3375,3381],{"type":656,"tag":665,"props":3324,"children":3325},{},[3326],{"type":669,"value":3327},"radar line colour (2026-10-27):",{"type":669,"value":1005},{"type":656,"tag":674,"props":3330,"children":3332},{"className":3331},[],[3333],{"type":669,"value":3270},{"type":669,"value":2302},{"type":656,"tag":674,"props":3336,"children":3338},{"className":3337},[],[3339],{"type":669,"value":3340},"lineColor",{"type":669,"value":3342}," (white, leaf, grape, grape-400 (added on request) or grey-500; default white, as on the branch). The two SVG layers are now inlined via ",{"type":656,"tag":674,"props":3344,"children":3346},{"className":3345},[],[3347],{"type":669,"value":3348},"?raw",{"type":669,"value":3350},", with ",{"type":656,"tag":674,"props":3352,"children":3354},{"className":3353},[],[3355],{"type":669,"value":3356},"#fff",{"type":669,"value":3358}," → ",{"type":656,"tag":674,"props":3360,"children":3362},{"className":3361},[],[3363],{"type":669,"value":3364},"currentColor",{"type":669,"value":3366}," and their ",{"type":656,"tag":674,"props":3368,"children":3370},{"className":3369},[],[3371],{"type":669,"value":3372},"cls-*",{"type":669,"value":3374}," classes prefixed per layer, because inline SVG ",{"type":656,"tag":674,"props":3376,"children":3378},{"className":3377},[],[3379],{"type":669,"value":3380},"\u003Cstyle>",{"type":669,"value":3382}," is document-global and the two files' classes collide. The grey rings (#545454) stay grey. There's a select for it on the wizard-kit radar card. On leaf and grape, a hairline seam sometimes shows at the sweep's edge. It's in the branch artwork, and white hides it.",{"project":9,"cycle":33,"dir":35,"title":36,"date":30,"lead":3384,"long":22,"ast":3385},"the tour layer, prototyped from c123",{"type":653,"children":3386},[3387],{"type":656,"tag":657,"props":3388,"children":3389},{},[3390],{"type":656,"tag":661,"props":3391,"children":3392},{},[3393,3398,3400,3405,3407,3413,3415,3420,3422,3430],{"type":656,"tag":665,"props":3394,"children":3395},{},[3396],{"type":669,"value":3397},"the tour layer, prototyped from c123 (2026-10-27):",{"type":669,"value":3399}," c123's addressable OWASP® tour needed a tour runtime before this cycle's Phase 1, so a working prototype is in the lab. Pages carry ",{"type":656,"tag":674,"props":3401,"children":3403},{"className":3402},[],[3404],{"type":669,"value":2854},{"type":669,"value":3406}," (and an optional ",{"type":656,"tag":674,"props":3408,"children":3410},{"className":3409},[],[3411],{"type":669,"value":3412},"data-qp-key",{"type":669,"value":3414}," for rows) and nothing else. ",{"type":656,"tag":674,"props":3416,"children":3418},{"className":3417},[],[3419],{"type":669,"value":1920},{"type":669,"value":3421}," is mounted once in a layout. The panel floats in its own dark-grape material, the ring and callouts follow targets by ID, and Examples float real components with example props over their live counterparts. Drills send a simulated violation through the alert path and are kept in the delivery log, never in findings. Content is data, and an adapter is the one seam to the app. ",{"type":656,"tag":683,"props":3423,"children":3424},{"href":1858},[3425],{"type":656,"tag":674,"props":3426,"children":3428},{"className":3427},[],[3429],{"type":669,"value":700},{"type":669,"value":3431}," has the protocol, the materials, the drill rules and six work packages (W1–W6), each with where to pick it up and what done looks like. It answers Objective 1's attach protocol in favour of a data attribute; Phase 1 should confirm that or replace it.",{"project":9,"cycle":24,"dir":26,"title":27,"date":30,"lead":2458,"long":21,"ast":3433},{"type":653,"children":3434},[3435],{"type":656,"tag":657,"props":3436,"children":3437},{},[3438],{"type":656,"tag":661,"props":3439,"children":3440},{},[3441,3445,3447,3453,3454,3460,3461,3467,3468,3474],{"type":656,"tag":665,"props":3442,"children":3443},{},[3444],{"type":669,"value":2471},{"type":669,"value":3446}," Stage 1 and Stage 2 written together from Mark's direction and the market-analyst brief, alongside c123 and c125. Nothing built yet. The tree already holds uncommitted lab edits in ",{"type":656,"tag":674,"props":3448,"children":3450},{"className":3449},[],[3451],{"type":669,"value":3452},"governance\u002Fmock\u002FBar.vue",{"type":669,"value":735},{"type":656,"tag":674,"props":3455,"children":3457},{"className":3456},[],[3458],{"type":669,"value":3459},"PublishTray.vue",{"type":669,"value":735},{"type":656,"tag":674,"props":3462,"children":3464},{"className":3463},[],[3465],{"type":669,"value":3466},"useGovernanceMock.ts",{"type":669,"value":1013},{"type":656,"tag":674,"props":3469,"children":3471},{"className":3470},[],[3472],{"type":669,"value":3473},"governance-parts.ts",{"type":669,"value":3475}," from an earlier session. Check whose they are before the first stop touches those files.",{"project":9,"cycle":24,"dir":26,"title":27,"date":30,"lead":2475,"long":21,"ast":3477},{"type":653,"children":3478},[3479],{"type":656,"tag":657,"props":3480,"children":3481},{},[3482],{"type":656,"tag":661,"props":3483,"children":3484},{},[3485,3489,3490,3496,3497,3503,3505,3511,3512,3518,3520,3526,3528,3534,3536,3542,3544,3549,3551,3556,3557,3563],{"type":656,"tag":665,"props":3486,"children":3487},{},[3488],{"type":669,"value":2488},{"type":669,"value":719},{"type":656,"tag":674,"props":3491,"children":3493},{"className":3492},[],[3494],{"type":669,"value":3495},"c126-before",{"type":669,"value":681},{"type":656,"tag":674,"props":3498,"children":3500},{"className":3499},[],[3501],{"type":669,"value":3502},"c126-before-policies",{"type":669,"value":3504}," (stop 1), ",{"type":656,"tag":674,"props":3506,"children":3508},{"className":3507},[],[3509],{"type":669,"value":3510},"-policy-detail",{"type":669,"value":1013},{"type":656,"tag":674,"props":3513,"children":3515},{"className":3514},[],[3516],{"type":669,"value":3517},"-policy-detail-adoption",{"type":669,"value":3519}," (stops 2–9, P-MCP), ",{"type":656,"tag":674,"props":3521,"children":3523},{"className":3522},[],[3524],{"type":669,"value":3525},"-policy-config",{"type":669,"value":3527}," (stop 10), ",{"type":656,"tag":674,"props":3529,"children":3531},{"className":3530},[],[3532],{"type":669,"value":3533},"-policy-config-history",{"type":669,"value":3535}," (stop 9\u002F10, C4) and ",{"type":656,"tag":674,"props":3537,"children":3539},{"className":3538},[],[3540],{"type":669,"value":3541},"-team-policies",{"type":669,"value":3543}," (stop 11), with ",{"type":656,"tag":674,"props":3545,"children":3547},{"className":3546},[],[3548],{"type":669,"value":2524},{"type":669,"value":3550}," renders, in ",{"type":656,"tag":674,"props":3552,"children":3554},{"className":3553},[],[3555],{"type":669,"value":2532},{"type":669,"value":2534},{"type":656,"tag":674,"props":3558,"children":3560},{"className":3559},[],[3561],{"type":669,"value":3562},"scripts\u002Fshot-programs\u002Fc126-before.json",{"type":669,"value":3564},". These are the lab as c121 left it, before any stop.",{"project":9,"cycle":24,"dir":26,"title":27,"date":30,"lead":2647,"long":22,"ast":3566},{"type":653,"children":3567},[3568],{"type":656,"tag":657,"props":3569,"children":3570},{},[3571],{"type":656,"tag":661,"props":3572,"children":3573},{},[3574,3578,3580,3584],{"type":656,"tag":665,"props":3575,"children":3576},{},[3577],{"type":669,"value":2660},{"type":669,"value":3579}," the pass runs ",{"type":656,"tag":665,"props":3581,"children":3582},{},[3583],{"type":669,"value":2667},{"type":669,"value":3585},", not stop by stop. Mark looks at each page whole and names what feels off or hasn't caught up to our understanding. The eleven aspects and C1–C7 become a cross-check after his read. The pages, in order: Policies listing, policy detail, Policy Config (draft, history, config file), team Policies. Illustrator exports follow his notes; they aren't prepared ahead.",{"project":9,"cycle":46,"dir":48,"title":49,"date":4,"lead":3587,"long":21,"ast":3588},"prep",{"type":653,"children":3589},[3590],{"type":656,"tag":657,"props":3591,"children":3592},{},[3593],{"type":656,"tag":661,"props":3594,"children":3595},{},[3596,3601,3602,3608,3610,3616,3617,3623,3625,3631,3633,3638],{"type":656,"tag":665,"props":3597,"children":3598},{},[3599],{"type":669,"value":3600},"prep (2026-10-26):",{"type":669,"value":1005},{"type":656,"tag":674,"props":3603,"children":3605},{"className":3604},[],[3606],{"type":669,"value":3607},"meeting-prep.html",{"type":669,"value":3609}," (also published as an Artifact), ",{"type":656,"tag":674,"props":3611,"children":3613},{"className":3612},[],[3614],{"type":669,"value":3615},"intents-redline.md",{"type":669,"value":1013},{"type":656,"tag":674,"props":3618,"children":3620},{"className":3619},[],[3621],{"type":669,"value":3622},"research\u002Fframeworks-dossier.md",{"type":669,"value":3624},", ahead of the session with Mark Peterson. See ",{"type":656,"tag":674,"props":3626,"children":3628},{"className":3627},[],[3629],{"type":669,"value":3630},"initial-prompt.md",{"type":669,"value":3632}," § What came back. ",{"type":656,"tag":674,"props":3634,"children":3636},{"className":3635},[],[3637],{"type":669,"value":3615},{"type":669,"value":3639}," became our own gap-check the same day: Peterson revises the intents himself, and we check his draft against its §5 and suggest only what's missing.",{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":2458,"long":21,"ast":3641},{"type":653,"children":3642},[3643],{"type":656,"tag":657,"props":3644,"children":3645},{},[3646],{"type":656,"tag":661,"props":3647,"children":3648},{},[3649,3654],{"type":656,"tag":665,"props":3650,"children":3651},{},[3652],{"type":669,"value":3653},"kick-off (2026-10-26):",{"type":669,"value":3655}," cycle opened with initial-prompt.md and plan.md, and D1–D4 ruled. c122 Phase 6 marked as moved. Uncommitted.",{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":3657,"long":22,"ast":3658},"design options",{"type":653,"children":3659},[3660],{"type":656,"tag":657,"props":3661,"children":3662},{},[3663],{"type":656,"tag":661,"props":3664,"children":3665},{},[3666,3671,3673,3679,3681,3687,3689,3702,3705,3707,3713,3715,3746,3749],{"type":656,"tag":665,"props":3667,"children":3668},{},[3669],{"type":669,"value":3670},"design options (2026-10-26):",{"type":669,"value":3672}," Mark: design it in ",{"type":656,"tag":674,"props":3674,"children":3676},{"className":3675},[],[3677],{"type":669,"value":3678},"\u002Fpages\u002F_meta",{"type":669,"value":3680}," with multiple options. One fixture, ",{"type":656,"tag":674,"props":3682,"children":3684},{"className":3683},[],[3685],{"type":669,"value":3686},"app\u002Fdata\u002Fcycle-stories-mock.ts",{"type":669,"value":3688},", built from real records:",{"type":656,"tag":657,"props":3690,"children":3691},{},[3692,3697],{"type":656,"tag":661,"props":3693,"children":3694},{},[3695],{"type":669,"value":3696},"c121 is rich: four advisor calls, 12 decisions linked to the observations behind them (cited or matched), and c114 → c121 capture pairs.",{"type":656,"tag":661,"props":3698,"children":3699},{},[3700],{"type":669,"value":3701},"c115 is minimal: Sarah's sketch → hero.",{"type":656,"tag":1179,"props":3703,"children":3704},{},[],{"type":669,"value":3706},"The c124 set is in the page registry and the ",{"type":656,"tag":674,"props":3708,"children":3710},{"className":3709},[],[3711],{"type":669,"value":3712},"_meta",{"type":669,"value":3714}," index:",{"type":656,"tag":657,"props":3716,"children":3717},{},[3718,3731,3736,3741],{"type":656,"tag":661,"props":3719,"children":3720},{},[3721,3723,3729],{"type":669,"value":3722},"the overview, ",{"type":656,"tag":674,"props":3724,"children":3726},{"className":3725},[],[3727],{"type":669,"value":3728},"\u002Fpages\u002F_meta\u002Fc124-cycle-stories",{"type":669,"value":3730},";",{"type":656,"tag":661,"props":3732,"children":3733},{},[3734],{"type":669,"value":3735},"cycle options A Editorial, B At a glance, C Pathways and D Before\u002Fafter;",{"type":656,"tag":661,"props":3737,"children":3738},{},[3739],{"type":669,"value":3740},"collaborator options A Profile + ledger and B Contribution trail;",{"type":656,"tag":661,"props":3742,"children":3743},{},[3744],{"type":669,"value":3745},"the collaborators index.",{"type":656,"tag":1179,"props":3747,"children":3748},{},[],{"type":669,"value":3750},"Uncommitted.",{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":3752,"long":22,"ast":3753},"pass 2",{"type":653,"children":3754},[3755],{"type":656,"tag":657,"props":3756,"children":3757},{},[3758],{"type":656,"tag":661,"props":3759,"children":3760},{},[3761,3766,3768,3771,3773,3778,3779,3785,3787,3821,3824,3826,3832,3833,3839,3840,3846,3848,3854],{"type":656,"tag":665,"props":3762,"children":3763},{},[3764],{"type":669,"value":3765},"pass 2 (2026-10-26):",{"type":669,"value":3767}," Mark walked A–D. He likes B (At a glance) and wants it second. Every cycle should open with a really simple summary of why and what resulted. What changed felt dense with all the images, so it should be told in simple words that guide you through the important changes. Pathways are worth keeping only if they're legible, and any option may lend parts.",{"type":656,"tag":1179,"props":3769,"children":3770},{},[],{"type":669,"value":3772},"New option ",{"type":656,"tag":665,"props":3774,"children":3775},{},[3776],{"type":669,"value":3777},"E Refined",{"type":669,"value":727},{"type":656,"tag":674,"props":3780,"children":3782},{"className":3781},[],[3783],{"type":669,"value":3784},"\u002Fpages\u002F_meta\u002Fc124-cycle-e-refined",{"type":669,"value":3786},"), in this order:",{"type":656,"tag":3788,"props":3789,"children":3790},"ol",{},[3791,3796,3801,3806,3811,3816],{"type":656,"tag":661,"props":3792,"children":3793},{},[3794],{"type":669,"value":3795},"In short: why and what happened, two plain sentences; the ELI5 sits behind \"Explain it like I'm new here\".",{"type":656,"tag":661,"props":3797,"children":3798},{},[3799],{"type":669,"value":3800},"B's at-a-glance band: counts and who helped, external first.",{"type":656,"tag":661,"props":3802,"children":3803},{},[3804],{"type":669,"value":3805},"What changed: the changes that matter most as a numbered list of plain sentences, then the rest under \"Also in this cycle\". Pictures show only on \"See it\" \u002F \"See before and after\".",{"type":656,"tag":661,"props":3807,"children":3808},{},[3809],{"type":669,"value":3810},"How we got here: one readable row per change, Someone said → We decided → So now, with cited \u002F matched marks.",{"type":656,"tag":661,"props":3812,"children":3813},{},[3814],{"type":669,"value":3815},"Thanks to.",{"type":656,"tag":661,"props":3817,"children":3818},{},[3819],{"type":669,"value":3820},"The full record, folded.",{"type":656,"tag":1179,"props":3822,"children":3823},{},[],{"type":669,"value":3825},"The fixture gained ",{"type":656,"tag":674,"props":3827,"children":3829},{"className":3828},[],[3830],{"type":669,"value":3831},"summary",{"type":669,"value":735},{"type":656,"tag":674,"props":3834,"children":3836},{"className":3835},[],[3837],{"type":669,"value":3838},"outcome.step",{"type":669,"value":1013},{"type":656,"tag":674,"props":3841,"children":3843},{"className":3842},[],[3844],{"type":669,"value":3845},"outcome.major",{"type":669,"value":3847},", plus a ",{"type":656,"tag":674,"props":3849,"children":3851},{"className":3850},[],[3852],{"type":669,"value":3853},"pathFor()",{"type":669,"value":3855}," helper. The A–D strips link to E, and the overview leads with E. Uncommitted.",{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":3857,"long":21,"ast":3858},"deployed",{"type":653,"children":3859},[3860],{"type":656,"tag":657,"props":3861,"children":3862},{},[3863],{"type":656,"tag":661,"props":3864,"children":3865},{},[3866,3871,3873,3879,3881,3887,3889,3894,3896,3901],{"type":656,"tag":665,"props":3867,"children":3868},{},[3869],{"type":669,"value":3870},"deployed (2026-10-26):",{"type":669,"value":3872}," options A–E and the collaborator pages committed ",{"type":656,"tag":674,"props":3874,"children":3876},{"className":3875},[],[3877],{"type":669,"value":3878},"8c595fa5be",{"type":669,"value":3880}," (temp index; the foreign staged deletion and the Cost Center registry hunk left out), deployed ",{"type":656,"tag":674,"props":3882,"children":3884},{"className":3883},[],[3885],{"type":669,"value":3886},"904a382aca",{"type":669,"value":3888},", and live on design-f39 (",{"type":656,"tag":674,"props":3890,"children":3892},{"className":3891},[],[3893],{"type":669,"value":2422},{"type":669,"value":3895}," shows ",{"type":656,"tag":674,"props":3897,"children":3899},{"className":3898},[],[3900],{"type":669,"value":3878},{"type":669,"value":3902},").",{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":3904,"long":22,"ast":3905},"images",{"type":653,"children":3906},[3907],{"type":656,"tag":657,"props":3908,"children":3909},{},[3910],{"type":656,"tag":661,"props":3911,"children":3912},{},[3913,3918,3920,3923,3925,3930,3932,3937,3939,3944,3946,3985,3988,3990,4015,4018,4019,4025,4026,4032,4033,4039],{"type":656,"tag":665,"props":3914,"children":3915},{},[3916],{"type":669,"value":3917},"images (2026-10-26):",{"type":669,"value":3919}," Mark: find a hero before → after for each cycle; where none exists, use early → final, so every story still gets an image; and keep every image reachable.",{"type":656,"tag":1179,"props":3921,"children":3922},{},[],{"type":669,"value":3924},"Rule: a ",{"type":656,"tag":665,"props":3926,"children":3927},{},[3928],{"type":669,"value":3929},"before → after",{"type":669,"value":3931}," pair is the surface before this cycle touched it against after. Failing that, ",{"type":656,"tag":665,"props":3933,"children":3934},{},[3935],{"type":669,"value":3936},"early → final",{"type":669,"value":3938}," is the cycle's own first frame against its last. Otherwise the outcome is ",{"type":656,"tag":665,"props":3940,"children":3941},{},[3942],{"type":669,"value":3943},"new in this cycle",{"type":669,"value":3945},", with its final image.",{"type":656,"tag":657,"props":3947,"children":3948},{},[3949,3975],{"type":656,"tag":661,"props":3950,"children":3951},{},[3952,3957,3959,3965,3967,3973],{"type":656,"tag":665,"props":3953,"children":3954},{},[3955],{"type":669,"value":3956},"c121:",{"type":669,"value":3958}," policy page, findings and adoption are before → after (c114 → c121). Teams (plain table → posture bar) and the shared draft (named drafts with approval → one draft) are early → final, from c121's ",{"type":656,"tag":674,"props":3960,"children":3962},{"className":3961},[],[3963],{"type":669,"value":3964},"00-*",{"type":669,"value":3966}," step shots, now copied to ",{"type":656,"tag":674,"props":3968,"children":3970},{"className":3969},[],[3971],{"type":669,"value":3972},"public\u002Fcycles\u002Fdesign\u002Fc121-steps\u002F",{"type":669,"value":3974},". Change impact and propagation are new.",{"type":656,"tag":661,"props":3976,"children":3977},{},[3978,3983],{"type":656,"tag":665,"props":3979,"children":3980},{},[3981],{"type":669,"value":3982},"c115:",{"type":669,"value":3984}," the hero is Sarah's sketch → the published hero.",{"type":656,"tag":1179,"props":3986,"children":3987},{},[],{"type":669,"value":3989},"E now shows:",{"type":656,"tag":657,"props":3991,"children":3992},{},[3993,3998,4003],{"type":656,"tag":661,"props":3994,"children":3995},{},[3996],{"type":669,"value":3997},"the hero pair under In short;",{"type":656,"tag":661,"props":3999,"children":4000},{},[4001],{"type":669,"value":4002},"a small labelled pair on each top change;",{"type":656,"tag":661,"props":4004,"children":4005},{},[4006,4008,4013],{"type":669,"value":4007},"an ",{"type":656,"tag":665,"props":4009,"children":4010},{},[4011],{"type":669,"value":4012},"All images",{"type":669,"value":4014}," section, with every pair, then everything captured (c121's 28 manifest captures; c115's sketches, hero, listing and live article), all stepping through one lightbox.",{"type":656,"tag":1179,"props":4016,"children":4017},{},[],{"type":669,"value":3825},{"type":656,"tag":674,"props":4020,"children":4022},{"className":4021},[],[4023],{"type":669,"value":4024},"pairKind",{"type":669,"value":735},{"type":656,"tag":674,"props":4027,"children":4029},{"className":4028},[],[4030],{"type":669,"value":4031},"story.hero",{"type":669,"value":1013},{"type":656,"tag":674,"props":4034,"children":4036},{"className":4035},[],[4037],{"type":669,"value":4038},"story.captures",{"type":669,"value":751},{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":4041,"long":21,"ast":4042},"image pass deployed",{"type":653,"children":4043},[4044],{"type":656,"tag":657,"props":4045,"children":4046},{},[4047],{"type":656,"tag":661,"props":4048,"children":4049},{},[4050,4055,4057,4063],{"type":656,"tag":665,"props":4051,"children":4052},{},[4053],{"type":669,"value":4054},"image pass deployed (2026-10-26):",{"type":669,"value":4056}," committed ",{"type":656,"tag":674,"props":4058,"children":4060},{"className":4059},[],[4061],{"type":669,"value":4062},"a2c3e5d70d",{"type":669,"value":4064}," and live on design-f39.",{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":4066,"long":22,"ast":4067},"definition + survey",{"type":653,"children":4068},[4069],{"type":656,"tag":657,"props":4070,"children":4071},{},[4072],{"type":656,"tag":661,"props":4073,"children":4074},{},[4075,4080,4082],{"type":656,"tag":665,"props":4076,"children":4077},{},[4078],{"type":669,"value":4079},"definition + survey (2026-10-26):",{"type":669,"value":4081}," Mark: how does E fit today's cycle page (define that first), and how do the last two dozen cycles fit the structure?\n",{"type":656,"tag":657,"props":4083,"children":4084},{},[4085,4111,4152,4178,4195],{"type":656,"tag":661,"props":4086,"children":4087},{},[4088,4093,4095,4101,4103,4109],{"type":656,"tag":665,"props":4089,"children":4090},{},[4091],{"type":669,"value":4092},"Definition",{"type":669,"value":4094},", proposed in plan.md \"Where the story lives\" and waiting on Mark: one cycle, two views, same address. Story (E) becomes the default at ",{"type":656,"tag":674,"props":4096,"children":4098},{"className":4097},[],[4099],{"type":669,"value":4100},"\u002Fcycles\u002F\u003Cproject>\u002F\u003Cid>",{"type":669,"value":4102},"; today's page becomes Record at ",{"type":656,"tag":674,"props":4104,"children":4106},{"className":4105},[],[4107],{"type":669,"value":4108},"…\u002Frecord",{"type":669,"value":4110},"; a Story · Record · Report strip sits under a shared header; thin cycles fall through to Record.",{"type":656,"tag":661,"props":4112,"children":4113},{},[4114,4119,4121,4127,4129,4135,4137,4143,4145,4151],{"type":656,"tag":665,"props":4115,"children":4116},{},[4117],{"type":669,"value":4118},"Survey:",{"type":669,"value":4120}," four parallel drafts of c100–c123 (22 new; c115 and c121 are the pilots) as ",{"type":656,"tag":674,"props":4122,"children":4124},{"className":4123},[],[4125],{"type":669,"value":4126},"app\u002Fdata\u002Fcycle-stories-survey\u002F\u003Cid>.json",{"type":669,"value":4128},", in E's shape plus a ",{"type":656,"tag":674,"props":4130,"children":4132},{"className":4131},[],[4133],{"type":669,"value":4134},"survey",{"type":669,"value":4136}," block (strength, story line, hero found, gaps). They merge into the fixture through ",{"type":656,"tag":674,"props":4138,"children":4140},{"className":4139},[],[4141],{"type":669,"value":4142},"import.meta.glob",{"type":669,"value":4144},". New hero frames for c114 and c118 were copied to ",{"type":656,"tag":674,"props":4146,"children":4148},{"className":4147},[],[4149],{"type":669,"value":4150},"public\u002Fcycles\u002Fdesign\u002F\u003Cid>-steps\u002F",{"type":669,"value":751},{"type":656,"tag":661,"props":4153,"children":4154},{},[4155,4160],{"type":656,"tag":665,"props":4156,"children":4157},{},[4158],{"type":669,"value":4159},"Result:",{"type":656,"tag":657,"props":4161,"children":4162},{},[4163,4168,4173],{"type":656,"tag":661,"props":4164,"children":4165},{},[4166],{"type":669,"value":4167},"strength: 7 strong, 13 good, 4 thin;",{"type":656,"tag":661,"props":4169,"children":4170},{},[4171],{"type":669,"value":4172},"hero: 11 before → after, 4 early → final, 1 new only, 8 told in words (c101, c105, c111, c112, c113, c117, c120, c123);",{"type":656,"tag":661,"props":4174,"children":4175},{},[4176],{"type":669,"value":4177},"9 of 24 credit someone outside Qpoint (Mark Peterson, Phil Chen, AMZ, Sarah).",{"type":656,"tag":661,"props":4179,"children":4180},{},[4181,4186,4187,4193],{"type":656,"tag":665,"props":4182,"children":4183},{},[4184],{"type":669,"value":4185},"Shown on",{"type":669,"value":1005},{"type":656,"tag":674,"props":4188,"children":4190},{"className":4189},[],[4191],{"type":669,"value":4192},"\u002Fpages\u002F_meta\u002Fc124-story-survey",{"type":669,"value":4194},", with cards, filters and the definition up top. E gains a picker over all 24.",{"type":656,"tag":661,"props":4196,"children":4197},{},[4198],{"type":669,"value":3750},{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":4200,"long":22,"ast":4201},"D5 (Mark, : stories open when you click a cycle.",{"type":653,"children":4202},[4203],{"type":656,"tag":657,"props":4204,"children":4205},{},[4206],{"type":656,"tag":661,"props":4207,"children":4208},{},[4209,4214,4216],{"type":656,"tag":665,"props":4210,"children":4211},{},[4212],{"type":669,"value":4213},"D5 (Mark, 2026-10-26): stories open when you click a cycle.",{"type":669,"value":4215}," The Story · Record split is adopted and built:\n",{"type":656,"tag":657,"props":4217,"children":4218},{},[4219,4259,4277,4282,4300,4312,4324],{"type":656,"tag":661,"props":4220,"children":4221},{},[4222,4227,4229,4235,4237,4242,4244,4250,4252,4258],{"type":656,"tag":674,"props":4223,"children":4225},{"className":4224},[],[4226],{"type":669,"value":4100},{"type":669,"value":4228}," renders ",{"type":656,"tag":674,"props":4230,"children":4232},{"className":4231},[],[4233],{"type":669,"value":4234},"CyclesStoryView",{"type":669,"value":4236}," (E, extracted from the ",{"type":656,"tag":674,"props":4238,"children":4240},{"className":4239},[],[4241],{"type":669,"value":3712},{"type":669,"value":4243}," page into ",{"type":656,"tag":674,"props":4245,"children":4247},{"className":4246},[],[4248],{"type":669,"value":4249},"app\u002Fcomponents\u002Fcycles\u002FStoryView.vue",{"type":669,"value":4251},") whenever the cycle has a story, with Story · Record tabs (",{"type":656,"tag":674,"props":4253,"children":4255},{"className":4254},[],[4256],{"type":669,"value":4257},"CyclesViewTabs",{"type":669,"value":3902},{"type":656,"tag":661,"props":4260,"children":4261},{},[4262,4268,4270,4276],{"type":656,"tag":674,"props":4263,"children":4265},{"className":4264},[],[4266],{"type":669,"value":4267},"\u002Fcycles\u002F\u003Cproject>\u002F\u003Cid>\u002Frecord",{"type":669,"value":4269}," renders today's page, moved unchanged into ",{"type":656,"tag":674,"props":4271,"children":4273},{"className":4272},[],[4274],{"type":669,"value":4275},"CyclesRecordView",{"type":669,"value":751},{"type":656,"tag":661,"props":4278,"children":4279},{},[4280],{"type":669,"value":4281},"Cycles without a story (c1–c99, c124, sister projects) keep today's page at the same address, with no tabs.",{"type":656,"tag":661,"props":4283,"children":4284},{},[4285,4291,4292,4298],{"type":656,"tag":674,"props":4286,"children":4288},{"className":4287},[],[4289],{"type":669,"value":4290},"\u002Freport",{"type":669,"value":1013},{"type":656,"tag":674,"props":4293,"children":4295},{"className":4294},[],[4296],{"type":669,"value":4297},"\u002Fdoc",{"type":669,"value":4299}," are unchanged.",{"type":656,"tag":661,"props":4301,"children":4302},{},[4303,4305,4310],{"type":669,"value":4304},"The ",{"type":656,"tag":674,"props":4306,"children":4308},{"className":4307},[],[4309],{"type":669,"value":3712},{"type":669,"value":4311}," option E page and the survey now link to the real cycle pages.",{"type":656,"tag":661,"props":4313,"children":4314},{},[4315,4317,4322],{"type":669,"value":4316},"Collaborator pages stay in ",{"type":656,"tag":674,"props":4318,"children":4320},{"className":4319},[],[4321],{"type":669,"value":3712},{"type":669,"value":4323}," for now.",{"type":656,"tag":661,"props":4325,"children":4326},{},[4327],{"type":669,"value":3750},{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":3857,"long":21,"ast":4329},{"type":653,"children":4330},[4331],{"type":656,"tag":657,"props":4332,"children":4333},{},[4334],{"type":656,"tag":661,"props":4335,"children":4336},{},[4337,4341,4343,4349],{"type":656,"tag":665,"props":4338,"children":4339},{},[4340],{"type":669,"value":3870},{"type":669,"value":4342}," the cycle page and survey were committed ",{"type":656,"tag":674,"props":4344,"children":4346},{"className":4345},[],[4347],{"type":669,"value":4348},"45bc1a0c71",{"type":669,"value":4350}," and deployed. Live: c121 and c108 open on Story with tabs; c62 keeps today's page.",{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":4352,"long":22,"ast":4353},"earlier cycles + completion audit",{"type":653,"children":4354},[4355],{"type":656,"tag":657,"props":4356,"children":4357},{},[4358],{"type":656,"tag":661,"props":4359,"children":4360},{},[4361,4366,4368],{"type":656,"tag":665,"props":4362,"children":4363},{},[4364],{"type":669,"value":4365},"earlier cycles + completion audit (2026-10-26):",{"type":669,"value":4367}," Mark: start updating the previous cycles, and note which should be completed.\n",{"type":656,"tag":657,"props":4369,"children":4370},{},[4371,4404,4447,4457],{"type":656,"tag":661,"props":4372,"children":4373},{},[4374,4379,4381,4387,4389,4394,4396,4402],{"type":656,"tag":665,"props":4375,"children":4376},{},[4377],{"type":669,"value":4378},"Stories for c76–c99:",{"type":669,"value":4380}," 25 drafts, with c97's duplicate harness-chip folder as ",{"type":656,"tag":674,"props":4382,"children":4384},{"className":4383},[],[4385],{"type":669,"value":4386},"c97-harness-chip",{"type":669,"value":4388},". Strength: 6 strong, 14 good, 5 thin. Hero: 11 before → after, 7 early → final, 1 new, 6 words only. Outside credits in c78, c79, c81, c92 and c94. One new person, Kamal Nasser (c80's fix, from qcontrol PR #714). Hero frames copied to ",{"type":656,"tag":674,"props":4390,"children":4392},{"className":4391},[],[4393],{"type":669,"value":4150},{"type":669,"value":4395}," for c85, c87, c88, c91, c98 and c99. Every story now in ",{"type":656,"tag":674,"props":4397,"children":4399},{"className":4398},[],[4400],{"type":669,"value":4401},"app\u002Fdata\u002Fcycle-stories-survey\u002F",{"type":669,"value":4403}," (47 drafts + 2 pilots = 49) renders on its real cycle page.",{"type":656,"tag":661,"props":4405,"children":4406},{},[4407,4412,4413,4419,4421,4427,4429],{"type":656,"tag":665,"props":4408,"children":4409},{},[4410],{"type":669,"value":4411},"Completion audit",{"type":669,"value":727},{"type":656,"tag":674,"props":4414,"children":4416},{"className":4415},[],[4417],{"type":669,"value":4418},"completion-audit.md",{"type":669,"value":4420}," \u002F ",{"type":656,"tag":674,"props":4422,"children":4424},{"className":4423},[],[4425],{"type":669,"value":4426},".json",{"type":669,"value":4428},"), covering all 47 entries under Active in CYCLES.md:\n",{"type":656,"tag":657,"props":4430,"children":4431},{},[4432,4437,4442],{"type":656,"tag":661,"props":4433,"children":4434},{},[4435],{"type":669,"value":4436},"26 complete, 9 superseded and 2 abandoned: 37 should close;",{"type":656,"tag":661,"props":4438,"children":4439},{},[4440],{"type":669,"value":4441},"5 to park, 5 keep active.",{"type":656,"tag":661,"props":4443,"children":4444},{},[4445],{"type":669,"value":4446},"Hygiene findings: c97's duplicate number; c65 and c70 listed Active while their records say completed; orphans in neither index; never-committed c105 and c123; stale PICKUP notes.",{"type":656,"tag":661,"props":4448,"children":4449},{},[4450,4455],{"type":656,"tag":665,"props":4451,"children":4452},{},[4453],{"type":669,"value":4454},"Shown:",{"type":669,"value":4456}," each story carries a completion note (\"Looks done — ready to close\", plus what closing needs). The survey gains a \"Should close\" filter and the full audit table.",{"type":656,"tag":661,"props":4458,"children":4459},{},[4460],{"type":669,"value":4461},"Nothing has been moved in CYCLES.md or HISTORY.md: the verdicts wait on Mark. Uncommitted.",{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":4463,"long":22,"ast":4464},"survey view controls",{"type":653,"children":4465},[4466],{"type":656,"tag":657,"props":4467,"children":4468},{},[4469],{"type":656,"tag":661,"props":4470,"children":4471},{},[4472,4477,4479,4532,4535],{"type":656,"tag":665,"props":4473,"children":4474},{},[4475],{"type":669,"value":4476},"survey view controls (2026-10-26):",{"type":669,"value":4478}," Mark, while reviewing the audit: a way to toggle, sort and organize the cycles. The survey gets a sticky control bar, remembered per viewer in localStorage:",{"type":656,"tag":657,"props":4480,"children":4481},{},[4482,4492,4502,4512,4522],{"type":656,"tag":661,"props":4483,"children":4484},{},[4485,4490],{"type":656,"tag":665,"props":4486,"children":4487},{},[4488],{"type":669,"value":4489},"show:",{"type":669,"value":4491}," open and closed, plus a per-card hide for reviewed ones, with \"show \u002F reset\";",{"type":656,"tag":661,"props":4493,"children":4494},{},[4495,4500],{"type":656,"tag":665,"props":4496,"children":4497},{},[4498],{"type":669,"value":4499},"dim:",{"type":669,"value":4501}," closed, open, or all but should-close;",{"type":656,"tag":661,"props":4503,"children":4504},{},[4505,4510],{"type":656,"tag":665,"props":4506,"children":4507},{},[4508],{"type":669,"value":4509},"size:",{"type":669,"value":4511}," S, M or L;",{"type":656,"tag":661,"props":4513,"children":4514},{},[4515,4520],{"type":656,"tag":665,"props":4516,"children":4517},{},[4518],{"type":669,"value":4519},"sort:",{"type":669,"value":4521}," newest, open first, closed first;",{"type":656,"tag":661,"props":4523,"children":4524},{},[4525,4530],{"type":656,"tag":665,"props":4526,"children":4527},{},[4528],{"type":669,"value":4529},"group by:",{"type":669,"value":4531}," week or month the cycle was opened, closed (\"Still open\" first), or was open during (a cycle appears in every week it ran).",{"type":656,"tag":1179,"props":4533,"children":4534},{},[],{"type":669,"value":4536},"\"Open during\" shows 33 cycles open in the week of Oct 26, which is the stale-active list the audit is closing. Uncommitted.",{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":4538,"long":22,"ast":4539},"all cycles drafted",{"type":653,"children":4540},[4541],{"type":656,"tag":657,"props":4542,"children":4543},{},[4544],{"type":656,"tag":661,"props":4545,"children":4546},{},[4547,4552,4554],{"type":656,"tag":665,"props":4548,"children":4549},{},[4550],{"type":669,"value":4551},"all cycles drafted (2026-10-26):",{"type":669,"value":4553}," Mark: keep going down the list until all are done, then commit.\n",{"type":656,"tag":657,"props":4555,"children":4556},{},[4557,4562,4580,4603,4650],{"type":656,"tag":661,"props":4558,"children":4559},{},[4560],{"type":669,"value":4561},"c1–c75 were drafted from one shared brief by six parallel agents. With c76–c123, every design cycle now has a story: 122 drafts plus the 2 pilots. c124 itself keeps today's page.",{"type":656,"tag":661,"props":4563,"children":4564},{},[4565,4567],{"type":669,"value":4566},"Totals:\n",{"type":656,"tag":657,"props":4568,"children":4569},{},[4570,4575],{"type":656,"tag":661,"props":4571,"children":4572},{},[4573],{"type":669,"value":4574},"strength: 16 strong, 58 good, 50 thin;",{"type":656,"tag":661,"props":4576,"children":4577},{},[4578],{"type":669,"value":4579},"hero: 29 before → after, 23 early → final, 35 new only, 37 told in words.",{"type":656,"tag":661,"props":4581,"children":4582},{},[4583,4585],{"type":669,"value":4584},"New people:\n",{"type":656,"tag":657,"props":4586,"children":4587},{},[4588,4593,4598],{"type":656,"tag":661,"props":4589,"children":4590},{},[4591],{"type":669,"value":4592},"Cam Esdaile (Cisco), the first build partner, cited in c55;",{"type":656,"tag":661,"props":4594,"children":4595},{},[4596],{"type":669,"value":4597},"Jon Friesen (qcontrol owner), name matched from commit authors;",{"type":656,"tag":661,"props":4599,"children":4600},{},[4601],{"type":669,"value":4602},"Kamal Nasser (c80's fix).",{"type":656,"tag":661,"props":4604,"children":4605},{},[4606,4608],{"type":669,"value":4607},"Early-cycle notes for review:\n",{"type":656,"tag":657,"props":4609,"children":4610},{},[4611,4616,4621,4640,4645],{"type":656,"tag":661,"props":4612,"children":4613},{},[4614],{"type":669,"value":4615},"Most early heroes are the 2026-08-15 backfill captures, filed by filename prefix.",{"type":656,"tag":661,"props":4617,"children":4618},{},[4619],{"type":669,"value":4620},"The policy-card cycles (c15, c19–c22) pair bob-wire's March designs with the built parts.",{"type":656,"tag":661,"props":4622,"children":4623},{},[4624,4630,4632,4638],{"type":656,"tag":674,"props":4625,"children":4627},{"className":4626},[],[4628],{"type":669,"value":4629},"c7-method.png",{"type":669,"value":4631}," holds the pre-c120 ",{"type":656,"tag":674,"props":4633,"children":4635},{"className":4634},[],[4636],{"type":669,"value":4637},"\u002Fmethod",{"type":669,"value":4639}," text, a true \"before\" for c120.",{"type":656,"tag":661,"props":4641,"children":4642},{},[4643],{"type":669,"value":4644},"Several records conflict with HISTORY.md (c10, c22, c50).",{"type":656,"tag":661,"props":4646,"children":4647},{},[4648],{"type":669,"value":4649},"c14 (a lone PDF) and c73\u002Fc74\u002Fc75 need rulings.",{"type":656,"tag":661,"props":4651,"children":4652},{},[4653,4655,4661],{"type":669,"value":4654},"Every story renders on ",{"type":656,"tag":674,"props":4656,"children":4658},{"className":4657},[],[4659],{"type":669,"value":4660},"\u002Fcycles\u002Fdesign\u002F\u003Cid>",{"type":669,"value":751},{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":4663,"long":22,"ast":4664},"views",{"type":653,"children":4665},[4666],{"type":656,"tag":657,"props":4667,"children":4668},{},[4669],{"type":656,"tag":661,"props":4670,"children":4671},{},[4672,4677,4679,4684,4686],{"type":656,"tag":665,"props":4673,"children":4674},{},[4675],{"type":669,"value":4676},"views (2026-10-26):",{"type":669,"value":4678}," Mark asked to size, fade and show cycles by tag. A first pass built a rules table, one row per tag with show \u002F opacity \u002F size, presets and a set-all row. Mark: \"we went off the rails a bit\". What he wants is a simple view. The survey's Show \u002F Dim controls became one ",{"type":656,"tag":665,"props":4680,"children":4681},{},[4682],{"type":669,"value":4683},"View",{"type":669,"value":4685}," picker:\n",{"type":656,"tag":657,"props":4687,"children":4688},{},[4689,4694,4699,4704,4709],{"type":656,"tag":661,"props":4690,"children":4691},{},[4692],{"type":669,"value":4693},"All, Open, Archived, Opened · 2 weeks, Closed · 2 weeks;",{"type":656,"tag":661,"props":4695,"children":4696},{},[4697],{"type":669,"value":4698},"\"2 weeks\" means the 14 days before the latest date in the data;",{"type":656,"tag":661,"props":4700,"children":4701},{},[4702],{"type":669,"value":4703},"a view sets the result structure. Matches are micro cards (image, id, title) at full opacity. Everything else is smaller than micro (a thumbnail and id) at 50% opacity, and comes back to full on hover.",{"type":656,"tag":661,"props":4705,"children":4706},{},[4707],{"type":669,"value":4708},"Under All, the S \u002F M \u002F L size control still applies.",{"type":656,"tag":661,"props":4710,"children":4711},{},[4712],{"type":669,"value":4713},"Kept per viewer in localStorage. Uncommitted.",{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":4715,"long":22,"ast":4716},"cycle explorer",{"type":653,"children":4717},[4718],{"type":656,"tag":657,"props":4719,"children":4720},{},[4721],{"type":656,"tag":661,"props":4722,"children":4723},{},[4724,4729,4731],{"type":656,"tag":665,"props":4725,"children":4726},{},[4727],{"type":669,"value":4728},"cycle explorer (2026-10-26):",{"type":669,"value":4730}," Mark: the survey's View UI \"almost needs its own page\". Keep the current cycles directory and link from it to a new explorer.\n",{"type":656,"tag":657,"props":4732,"children":4733},{},[4734,4762,4786,4799],{"type":656,"tag":661,"props":4735,"children":4736},{},[4737,4739,4745,4746,4752,4754,4760],{"type":669,"value":4738},"The survey's filter, View, size, sort, group and card grid moved into ",{"type":656,"tag":674,"props":4740,"children":4742},{"className":4741},[],[4743],{"type":669,"value":4744},"CyclesExplorer",{"type":669,"value":727},{"type":656,"tag":674,"props":4747,"children":4749},{"className":4748},[],[4750],{"type":669,"value":4751},"app\u002Fcomponents\u002Fcycles\u002FExplorer.vue",{"type":669,"value":4753},"). Rows come from a shared ",{"type":656,"tag":674,"props":4755,"children":4757},{"className":4756},[],[4758],{"type":669,"value":4759},"storyRows()",{"type":669,"value":4761}," in the fixture.",{"type":656,"tag":661,"props":4763,"children":4764},{},[4765,4767,4776,4778,4784],{"type":669,"value":4766},"It renders on a new page, ",{"type":656,"tag":665,"props":4768,"children":4769},{},[4770],{"type":656,"tag":674,"props":4771,"children":4773},{"className":4772},[],[4774],{"type":669,"value":4775},"\u002Fcycles\u002Fexplorer",{"type":669,"value":4777},", linked first in the ",{"type":656,"tag":674,"props":4779,"children":4781},{"className":4780},[],[4782],{"type":669,"value":4783},"\u002Fcycles",{"type":669,"value":4785}," intro (\"Cycle explorer →\"). The c124 survey uses the same component above its audit table.",{"type":656,"tag":661,"props":4787,"children":4788},{},[4789,4791,4797],{"type":669,"value":4790},"The view is remembered under ",{"type":656,"tag":674,"props":4792,"children":4794},{"className":4793},[],[4795],{"type":669,"value":4796},"cycles-explorer-view",{"type":669,"value":4798},", falling back to the survey's old key.",{"type":656,"tag":661,"props":4800,"children":4801},{},[4802],{"type":669,"value":3750},{"project":9,"cycle":40,"dir":42,"title":43,"date":4,"lead":4804,"long":22,"ast":4805},"every project, and pickups",{"type":653,"children":4806},[4807],{"type":656,"tag":657,"props":4808,"children":4809},{},[4810],{"type":656,"tag":661,"props":4811,"children":4812},{},[4813,4818,4820],{"type":656,"tag":665,"props":4814,"children":4815},{},[4816],{"type":669,"value":4817},"every project, and pickups (2026-10-26):",{"type":669,"value":4819}," Mark: create stories for all the cycles, even short ones waiting to be picked up.\n",{"type":656,"tag":657,"props":4821,"children":4822},{},[4823,4833,4866,4902,4948,4958],{"type":656,"tag":661,"props":4824,"children":4825},{},[4826,4831],{"type":656,"tag":665,"props":4827,"children":4828},{},[4829],{"type":669,"value":4830},"Every design cycle",{"type":669,"value":4832}," already had a story except c124. c124 now has its own, with three captures: the record as the page → the story, and the explorer.",{"type":656,"tag":661,"props":4834,"children":4835},{},[4836,4841,4843],{"type":656,"tag":665,"props":4837,"children":4838},{},[4839],{"type":669,"value":4840},"The 89 sister-project cycles",{"type":669,"value":4842}," were drafted by seven parallel agents from a shared brief. They cover:\n",{"type":656,"tag":657,"props":4844,"children":4845},{},[4846,4851,4856,4861],{"type":656,"tag":661,"props":4847,"children":4848},{},[4849],{"type":669,"value":4850},"qmap 28, qflow 13, bob-wire 22 and market-analyst 12;",{"type":656,"tag":661,"props":4852,"children":4853},{},[4854],{"type":669,"value":4855},"qpixel 5, www 6 and app 3.",{"type":656,"tag":661,"props":4857,"children":4858},{},[4859],{"type":669,"value":4860},"Strength: 2 strong, 47 good, 40 thin.",{"type":656,"tag":661,"props":4862,"children":4863},{},[4864],{"type":669,"value":4865},"Hero: 13 before → after, 21 early → final, 24 new, 31 told in words.",{"type":656,"tag":661,"props":4867,"children":4868},{},[4869,4874,4876,4882,4884],{"type":656,"tag":665,"props":4870,"children":4871},{},[4872],{"type":669,"value":4873},"Pickup:",{"type":669,"value":4875}," a new story field ",{"type":656,"tag":674,"props":4877,"children":4879},{"className":4878},[],[4880],{"type":669,"value":4881},"{ next, waitingOn, since }",{"type":669,"value":4883}," holds the next step, what it waits on and the last activity.\n",{"type":656,"tag":657,"props":4885,"children":4886},{},[4887,4892,4897],{"type":656,"tag":661,"props":4888,"children":4889},{},[4890],{"type":669,"value":4891},"Every open cycle has one: 51 design (added by an eighth agent), 48 sister, plus the c115 and c121 pilots.",{"type":656,"tag":661,"props":4893,"children":4894},{},[4895],{"type":669,"value":4896},"The story page shows it as \"Waiting to be picked up\".",{"type":656,"tag":661,"props":4898,"children":4899},{},[4900],{"type":669,"value":4901},"Explorer cards show it as \"Next:\".",{"type":656,"tag":661,"props":4903,"children":4904},{},[4905,4910,4912,4917,4919,4925,4927,4933,4935],{"type":656,"tag":665,"props":4906,"children":4907},{},[4908],{"type":669,"value":4909},"Keys:",{"type":669,"value":4911}," stories are keyed by project, so design stays ",{"type":656,"tag":674,"props":4913,"children":4915},{"className":4914},[],[4916],{"type":669,"value":613},{"type":669,"value":4918}," and sister projects become ",{"type":656,"tag":674,"props":4920,"children":4922},{"className":4921},[],[4923],{"type":669,"value":4924},"qmap\u002Fc4",{"type":669,"value":4926},". Their drafts sit in ",{"type":656,"tag":674,"props":4928,"children":4930},{"className":4929},[],[4931],{"type":669,"value":4932},"app\u002Fdata\u002Fcycle-stories-survey\u002F\u003Cproject>\u002F",{"type":669,"value":4934},".\n",{"type":656,"tag":657,"props":4936,"children":4937},{},[4938],{"type":656,"tag":661,"props":4939,"children":4940},{},[4941,4946],{"type":656,"tag":674,"props":4942,"children":4944},{"className":4943},[],[4945],{"type":669,"value":4100},{"type":669,"value":4947}," opens on the story for every project, with Story · Record tabs.",{"type":656,"tag":661,"props":4949,"children":4950},{},[4951,4956],{"type":656,"tag":665,"props":4952,"children":4953},{},[4954],{"type":669,"value":4955},"The explorer",{"type":669,"value":4957}," gains a project picker (All projects, Design 125, Qmap 28 …), 214 cards in all. It sorts by the date a cycle opened, and labels sister cards \"qmap c4\". The survey stays design-only.",{"type":656,"tag":661,"props":4959,"children":4960},{},[4961,4966,4968,4974],{"type":656,"tag":665,"props":4962,"children":4963},{},[4964],{"type":669,"value":4965},"Review:",{"type":669,"value":4967}," the sister-project review items (outside credits, closes, uncommitted work, bad captures) are in ",{"type":656,"tag":674,"props":4969,"children":4971},{"className":4970},[],[4972],{"type":669,"value":4973},"review-list.md",{"type":669,"value":4975}," §8.",{"project":102,"cycle":104,"dir":106,"title":107,"date":4,"lead":4977,"long":22,"ast":4978},"session-decisions thread",{"type":653,"children":4979},[4980],{"type":656,"tag":657,"props":4981,"children":4982},{},[4983],{"type":656,"tag":661,"props":4984,"children":4985},{},[4986,4991,4993,4999,5001,5007,5008],{"type":656,"tag":665,"props":4987,"children":4988},{},[4989],{"type":669,"value":4990},"session-decisions thread (2026-10-26):",{"type":669,"value":4992}," Mark asked for the latest product meetings, extracted, with their decisions written into the results sections of the design cycles that already carry the work. Another agent is redesigning the cycle pages, so this thread supplies the content and its intent, not the layout. Prompt: ",{"type":656,"tag":674,"props":4994,"children":4996},{"className":4995},[],[4997],{"type":669,"value":4998},"session-decisions-prompt.md",{"type":669,"value":5000},"; hand-off note: ",{"type":656,"tag":674,"props":5002,"children":5004},{"className":5003},[],[5005],{"type":669,"value":5006},"session-decisions-handoff.md",{"type":669,"value":4934},{"type":656,"tag":657,"props":5009,"children":5010},{},[5011,5045,5071,5081,5098,5108,5134],{"type":656,"tag":661,"props":5012,"children":5013},{},[5014,5019,5021,5027,5029,5035,5037,5043],{"type":656,"tag":665,"props":5015,"children":5016},{},[5017],{"type":669,"value":5018},"Fetched",{"type":669,"value":5020}," Wednesday Oct 21 (",{"type":656,"tag":674,"props":5022,"children":5024},{"className":5023},[],[5025],{"type":669,"value":5026},"5c8785e2",{"type":669,"value":5028},") and Friday Oct 23 (",{"type":656,"tag":674,"props":5030,"children":5032},{"className":5031},[],[5033],{"type":669,"value":5034},"5b4bae13",{"type":669,"value":5036},") by ",{"type":656,"tag":674,"props":5038,"children":5040},{"className":5039},[],[5041],{"type":669,"value":5042},"--uuid",{"type":669,"value":5044},". Today's 2026-10-26 session (frameworks) is later today and not yet fetched.",{"type":656,"tag":661,"props":5046,"children":5047},{},[5048,5053,5055,5061,5063,5069],{"type":656,"tag":665,"props":5049,"children":5050},{},[5051],{"type":669,"value":5052},"Triage:",{"type":669,"value":5054}," both declared ciso-advisory × roadmap-planning, as before. The ",{"type":656,"tag":674,"props":5056,"children":5058},{"className":5057},[],[5059],{"type":669,"value":5060},"design-session",{"type":669,"value":5062}," call type is still only planned. Shown mocks are declared as ",{"type":656,"tag":674,"props":5064,"children":5066},{"className":5065},[],[5067],{"type":669,"value":5068},"design\u002Fphase4\u002Fmock\u002F*",{"type":669,"value":5070},", the lab pages.",{"type":656,"tag":661,"props":5072,"children":5073},{},[5074,5079],{"type":656,"tag":665,"props":5075,"children":5076},{},[5077],{"type":669,"value":5078},"Extraction:",{"type":669,"value":5080}," both PASSED. Oct 21: 20 observations, 7 decisions, 3 todos, 6 ideas, 3 candidates. Oct 23: 20 observations, 7 decisions, 4 todos, 5 ideas, 2 candidates. The index now has 12 calls.",{"type":656,"tag":661,"props":5082,"children":5083},{},[5084,5089,5090,5096],{"type":656,"tag":665,"props":5085,"children":5086},{},[5087],{"type":669,"value":5088},"Standing:",{"type":669,"value":1005},{"type":656,"tag":674,"props":5091,"children":5093},{"className":5092},[],[5094],{"type":669,"value":5095},"fleet-scale-compliance-state",{"type":669,"value":5097}," moved observed → recurring (Moto + Zscaler). The cause is Mark Peterson's first-hand intern-laptops story on Oct 21, extracted as Moto evidence. It is the co-designer case the product-input plan (C) predicted, and it is left for Mark's review: 6 recurring \u002F 9 observed.",{"type":656,"tag":661,"props":5099,"children":5100},{},[5101,5106],{"type":656,"tag":665,"props":5102,"children":5103},{},[5104],{"type":669,"value":5105},"No new brief.",{"type":669,"value":5107}," Oct 21 went straight into design c121 from four other sources (Logseq, Rob's summary, intents PR #4, Mark Peterson's Slack), and the transcript agrees with them. The one place c121 differs is deliberate: it requires a reason when loosening, where the session asked only for a nudge. Oct 23 reviewed c121's lab and sent the next questions forward: frameworks, explicit vs implicit rules inside a policy, control vs policy, action types, a naming convention, and starter configs.",{"type":656,"tag":661,"props":5109,"children":5110},{},[5111,5116,5118,5124,5126,5132],{"type":656,"tag":665,"props":5112,"children":5113},{},[5114],{"type":669,"value":5115},"Design records:",{"type":669,"value":5117}," each of c114, c116, c118 and c121 gets a ",{"type":656,"tag":674,"props":5119,"children":5121},{"className":5120},[],[5122],{"type":669,"value":5123},"### Product-session decisions",{"type":669,"value":5125}," subsection under ",{"type":656,"tag":674,"props":5127,"children":5129},{"className":5128},[],[5130],{"type":669,"value":5131},"## Outcome",{"type":669,"value":5133},". Each has a provenance line, the story, and grouped entries with a status (ruled \u002F direction \u002F open \u002F idea \u002F superseded) and where the decision landed. c116 and c118 had no CYCLE.md, so one was written for each from their prompts and plans, marked as written after the fact.",{"type":656,"tag":661,"props":5135,"children":5136},{},[5137,5139,5145],{"type":669,"value":5138},"Found in passing: c114 ",{"type":656,"tag":674,"props":5140,"children":5142},{"className":5141},[],[5143],{"type":669,"value":5144},"object-model.md",{"type":669,"value":5146}," still describes the 2026-10-09 model, and c118's record steps R1, R2, R5 and R6 were never done.",{"project":102,"cycle":104,"dir":106,"title":107,"date":4,"lead":5148,"long":21,"ast":5149},"Oct 26 session + three briefs , committed as `58a661a`)",{"type":653,"children":5150},[5151],{"type":656,"tag":657,"props":5152,"children":5153},{},[5154],{"type":656,"tag":661,"props":5155,"children":5156},{},[5157,5170,5172,5178,5180,5186,5187,5193,5195,5201],{"type":656,"tag":665,"props":5158,"children":5159},{},[5160,5162,5168],{"type":669,"value":5161},"Oct 26 session + three briefs (2026-10-26, committed as ",{"type":656,"tag":674,"props":5163,"children":5165},{"className":5164},[],[5166],{"type":669,"value":5167},"58a661a",{"type":669,"value":5169},"):",{"type":669,"value":5171}," Frameworks and onboarding (",{"type":656,"tag":674,"props":5173,"children":5175},{"className":5174},[],[5176],{"type":669,"value":5177},"022c7156",{"type":669,"value":5179},"), ciso-advisory × roadmap-planning, no mocks shown (Mark Peterson shared outside references). Became briefs ",{"type":656,"tag":674,"props":5181,"children":5183},{"className":5182},[],[5184],{"type":669,"value":5185},"operations-wizard",{"type":669,"value":735},{"type":656,"tag":674,"props":5188,"children":5190},{"className":5189},[],[5191],{"type":669,"value":5192},"frameworks-cleanup",{"type":669,"value":5194}," (feeds design c123) and ",{"type":656,"tag":674,"props":5196,"children":5198},{"className":5197},[],[5199],{"type":669,"value":5200},"policies-final-pass",{"type":669,"value":5202},". No standing moves. The index had 13 calls.",[5204,5325,5330,5334,5344,5353,5357,5362],{"id":9,"label":10,"commits":5205},[5206,5208,5210,5213,5216,5219,5222,5225,5228,5231,5234,5237,5240,5242,5245,5248,5251,5254,5257,5260,5263,5266,5269,5272,5275,5278,5280,5282,5284,5286,5289,5292,5295,5298,5301,5304,5307,5310,5313,5315,5317,5319,5322],{"repo":9,"sha":1796,"date":17,"subject":5207,"pr":15},"c123 × c125: five product tours on real qdash pages, the MCP guide, and c127 Guide Chat captured",{"repo":9,"sha":1812,"date":17,"subject":5209,"pr":15},"c125 × c123: focus only what's specific — no whole-page highlights",{"repo":9,"sha":5211,"date":30,"subject":5212,"pr":15},"452a4807f3","c125 × c123: rings, callouts, Examples and the dim scroll with the page — no trailing, no snap",{"repo":9,"sha":5214,"date":30,"subject":5215,"pr":15},"85139eeeb9","c125 × c123: Fade focus — every other element fades, the focused one stays crisp, no scrim",{"repo":9,"sha":5217,"date":30,"subject":5218,"pr":15},"2b9c91bd78","c125 × c123: the tour can split the screen or float, and focus by ring or by dimming — both switchable from the panel",{"repo":9,"sha":5220,"date":30,"subject":5221,"pr":15},"6b9d353270","lab: cost center, c121\u002Fc115 illustrator files, brand sources photo swap, captures, cycle records (2026-10-27)",{"repo":9,"sha":5223,"date":30,"subject":5224,"pr":15},"54ae0f6e00","c123 × c125: walk the tour over the new pages — drills raise only what live settings raise, Examples mirror Home's cards, Home leads with attention, the close rings OWASP Agentic's row",{"repo":9,"sha":5226,"date":30,"subject":5227,"pr":15},"f52bbca394","c123 × c125: composed mocks for the tour — Home, Sources, the github MCP server, Integrations (WIP, before review)",{"repo":9,"sha":5229,"date":30,"subject":5230,"pr":15},"3420421a32","c123 × c125: the tour layer in the lab — data-qp-id targets, a floating panel, Examples and Drills; the addressable OWASP tour as data",{"repo":9,"sha":5232,"date":30,"subject":5233,"pr":15},"4d6c456e14","c123: the addressable tour drawn — route plus Watch and Tune for Source health and MCP on the concept canvas; v2 spec records what the artboards decided",{"repo":9,"sha":5235,"date":30,"subject":5236,"pr":15},"7d63386b51","c122: record the Sketches filter, ↑\u002F↓ preview, preview sizes, large sketch previews and deploy ba4ff7ce7a",{"repo":9,"sha":5238,"date":30,"subject":5239,"pr":15},"3aacc72e0b","c123: the addressable tour (v2) — five concern-led stops with Watch · Tune · Prove; Source health and MCP designed in full",{"repo":9,"sha":5241,"date":30,"subject":5239,"pr":15},"4c5d085ea5",{"repo":9,"sha":5243,"date":30,"subject":5244,"pr":15},"5ad025d62b","c123: record layer 0.9.36 (FrameworkIcon risk-management alias)",{"repo":9,"sha":5246,"date":30,"subject":5247,"pr":15},"33bd18a04b","c123: q-nuxt-layer 0.9.36 — NIST AI RMF takes the governance ribbon; FrameworkIcon demo shows the kind",{"repo":9,"sha":5249,"date":30,"subject":5250,"pr":15},"4d2c79faf1","c123: NIST AI RMF 1.0 joins the lab fixture",{"repo":9,"sha":5252,"date":30,"subject":5253,"pr":15},"9aab27c70e","c123: OWASP Agentic Top 10 read in full, licenses checked, tour designed, fourth v1 framework",{"repo":9,"sha":5255,"date":30,"subject":5256,"pr":15},"6d44fa9c64","c122: 1,600 px previews for the 120 sketches — drive-previews --large, srcset on \u002Flibrary",{"repo":9,"sha":5258,"date":30,"subject":5259,"pr":15},"9e218b6253","c125: grape-400 joins the radar line colours",{"repo":9,"sha":5261,"date":30,"subject":5262,"pr":15},"5651feb8b7","c125: radar line colour — white, leaf, grape, grey-500 — with a select on the wizard-kit radar card",{"repo":9,"sha":5264,"date":30,"subject":5265,"pr":15},"e02fbb5b77","c125: the mask-image radar at larger sizes on \u002Fpages\u002Fphase4\u002Fwizard-kit",{"repo":9,"sha":5267,"date":30,"subject":5268,"pr":15},"f88ad9227f","c125: the richer radar from app.qpoint.io origin\u002Fmask-image, grafted into the replica PingListener",{"repo":9,"sha":5270,"date":30,"subject":5271,"pr":15},"5e12ec76a5","c122: \u002Flibrary preview sizes (S\u002FM\u002FL\u002FXL) and a drag handle between the tree and the preview",{"repo":9,"sha":5273,"date":30,"subject":5274,"pr":15},"1ce48f3487","c122: \u002Flibrary ↑\u002F↓ preview the file they land on (selection follows focus in the tree)",{"repo":9,"sha":5276,"date":30,"subject":5277,"pr":15},"dc07c6b7f4","c125: app.qpoint.io's wizard kit documented, then replicated at \u002Fpages\u002Fphase4\u002Fwizard-kit",{"repo":9,"sha":5279,"date":30,"subject":5244,"pr":15},"5470d0617b",{"repo":9,"sha":5281,"date":30,"subject":5247,"pr":15},"636b174bb1",{"repo":9,"sha":5283,"date":30,"subject":5250,"pr":15},"f89a987750",{"repo":9,"sha":5285,"date":30,"subject":5253,"pr":15},"b8c5497d32",{"repo":9,"sha":5287,"date":30,"subject":5288,"pr":15},"e089de640d","c121: record layer 0.9.35 severity tags and Mark's 2026-10-23 lab pass in Key Changes",{"repo":9,"sha":5290,"date":30,"subject":5291,"pr":15},"7c804d9901","c121 lab pass: Policy Config submenu order, tray closes to a chip, ?dp stays on its page, mock bar folds its knobs",{"repo":9,"sha":5293,"date":30,"subject":5294,"pr":15},"fbd1eea0f8","c125 + c126 kick-off, before captures for c123\u002Fc125\u002Fc126",{"repo":9,"sha":5296,"date":30,"subject":5297,"pr":15},"a68b6a01ab","c123: frameworks prep and kick-off — meeting prep, framework dossier, intents gap-check, story to kicked-off",{"repo":9,"sha":5299,"date":4,"subject":5300,"pr":15},"2e878a5013","c124: fold the pickup into the ready-to-close note so open cycles show one box, not two",{"repo":9,"sha":5302,"date":4,"subject":5303,"pr":15},"01ad025066","c124: a story for every cycle across all eight projects, pickups for open ones, the cycle explorer",{"repo":9,"sha":5305,"date":4,"subject":5306,"pr":15},"27b0bb9b0b","c124: link the review list without .md, so the static build prerenders it",{"repo":9,"sha":5308,"date":4,"subject":5309,"pr":15},"0209b6eeb0","c124: review list — closing rulings, outside credits to confirm, people, images, records that disagree, data fixes",{"repo":9,"sha":5311,"date":4,"subject":5312,"pr":15},"4a4caf1167","c124: a story for every design cycle (c1–c123), completion audit, survey view controls",{"repo":9,"sha":4348,"date":4,"subject":5314,"pr":15},"c124: clicking a cycle opens its story — Story · Record tabs, and 24 drafted stories",{"repo":9,"sha":4062,"date":4,"subject":5316,"pr":15},"c124: hero before → after (or early → final) per story, and All images",{"repo":9,"sha":3878,"date":4,"subject":5318,"pr":15},"c124: cycle stories — design options A–E + collaborator pages in \u002Fpages\u002F_meta",{"repo":9,"sha":5320,"date":4,"subject":5321,"pr":15},"4c346be613","cycles: c116 and c118 to HISTORY; c114 and c121 board status refreshed",{"repo":9,"sha":5323,"date":4,"subject":5324,"pr":15},"f9fa35e0ab","c114\u002Fc116\u002Fc118\u002Fc121: product-session decisions in each cycle's Outcome",{"id":420,"label":421,"commits":5326},[5327],{"repo":420,"sha":5328,"date":30,"subject":5329,"pr":15},"e6251fa","deps: q-nuxt-layer 0.9.36 (FrameworkIcon risk-management alias)",{"id":309,"label":310,"commits":5331},[5332],{"repo":309,"sha":5333,"date":30,"subject":5329,"pr":15},"b3634ac",{"id":102,"label":103,"commits":5335},[5336,5338,5341],{"repo":102,"sha":5167,"date":4,"subject":5337,"pr":15},"Product session Oct 26 extracted; briefs for operations wizard, frameworks, policies",{"repo":102,"sha":5339,"date":4,"subject":5340,"pr":15},"f7d2bb3","cycles: c12 board status (product sessions through Oct 23)",{"repo":102,"sha":5342,"date":4,"subject":5343,"pr":15},"92110c9","Product sessions Oct 21\u002F23 extracted; decisions recorded in design cycle outcomes",{"id":576,"label":577,"commits":5345},[5346,5349],{"repo":576,"sha":5347,"date":5,"subject":5348,"pr":293},"a3c19b3","Home hero demo videos, platform copy, docs install page, and nav cleanup (#81)",{"repo":576,"sha":5350,"date":5351,"subject":5352,"pr":319},"6a68760","2026-10-30","bumps zod to 4.6.7 + serialize-javascript for security alerts (#80)",{"id":637,"label":638,"commits":5354},[5355],{"repo":637,"sha":5356,"date":30,"subject":5329,"pr":15},"15cda0b",{"id":5358,"label":5358,"commits":5359},"qcontrol",[5360],{"repo":5358,"sha":5361,"date":30,"subject":5329,"pr":15},"28182424c",{"id":5363,"label":5364,"commits":5365},"layer","q-nuxt-layer",[5366],{"repo":5363,"sha":5367,"date":30,"subject":5368,"pr":15},"93da51d","v0.9.36: FrameworkIcon — a risk-management framework takes the governance ribbon, not the risk-taxonomy warn",[5370],{"tag":5371,"date":30,"subject":5368},"v0.9.36",[5373,5377,5380,5384,5387,5390,5393,5396,5399,5402,5405],{"date":17,"at":5374,"design":1796,"layer":5375,"subject":5376},"2026-10-29T22:27:05Z","0.9.36","deploy: design f351ccdf7c · layer 0.9.36 · 2026-10-29T22:27:05Z",{"date":30,"at":5378,"design":5255,"layer":5375,"subject":5379},"2026-10-27T17:41:53Z","deploy: design 6d44fa9c64 + 40 uncommitted · layer 0.9.36 · 2026-10-27T17:41:53Z",{"date":30,"at":5381,"design":5299,"layer":5382,"subject":5383},"2026-10-27T01:34:06Z","0.9.35","deploy: design 2e878a5013 + 44 uncommitted · layer 0.9.35 · 2026-10-27T01:34:06Z",{"date":4,"at":5385,"design":5302,"layer":5382,"subject":5386},"2026-10-26T23:08:47Z","deploy: design 01ad025066 + 44 uncommitted · layer 0.9.35 · 2026-10-26T23:08:47Z",{"date":4,"at":5388,"design":5305,"layer":5382,"subject":5389},"2026-10-26T20:48:46Z","deploy: design 27b0bb9b0b + 44 uncommitted · layer 0.9.35 · 2026-10-26T20:48:46Z",{"date":4,"at":5391,"design":5308,"layer":5382,"subject":5392},"2026-10-26T20:39:08Z","deploy: design 0209b6eeb0 + 44 uncommitted · layer 0.9.35 · 2026-10-26T20:39:08Z",{"date":4,"at":5394,"design":5311,"layer":5382,"subject":5395},"2026-10-26T20:27:14Z","deploy: design 4a4caf1167 + 44 uncommitted · layer 0.9.35 · 2026-10-26T20:27:14Z",{"date":4,"at":5397,"design":4348,"layer":5382,"subject":5398},"2026-10-26T19:33:10Z","deploy: design 45bc1a0c71 + 44 uncommitted · layer 0.9.35 · 2026-10-26T19:33:10Z",{"date":4,"at":5400,"design":4062,"layer":5382,"subject":5401},"2026-10-26T19:07:21Z","deploy: design a2c3e5d70d + 44 uncommitted · layer 0.9.35 · 2026-10-26T19:07:21Z",{"date":4,"at":5403,"design":3878,"layer":5382,"subject":5404},"2026-10-26T18:57:03Z","deploy: design 8c595fa5be + 44 uncommitted · layer 0.9.35 · 2026-10-26T18:57:03Z",{"date":4,"at":5406,"design":5320,"layer":5382,"subject":5407},"2026-10-26T18:33:05Z","deploy: design 4c346be613 + 46 uncommitted · layer 0.9.35 · 2026-10-26T18:33:05Z",[5409,5415,5420,5425,5430,5435,5440,5445,5450,5455,5463,5467,5471,5475,5479,5486,5489,5493,5502,5509,5515,5523,5529,5537,5547,5554,5560,5565,5575,5580,5587],{"project":9,"cycle":33,"src":5410,"route":5411,"caption":15,"capturedAt":5412,"subject":5413,"evolution":15,"seq":15,"thread":15,"variant":5414,"newThing":15,"moments":19,"subjectSince":17},"\u002Fcycles\u002Fdesign\u002Fc125-tour-panel-v4-tuned.png","\u002Fpages\u002Fphase4\u002Fmock\u002Finventory\u002Fsources?tour=owasp-agentic&step=s1-watch&tourLayout=split&tourFocus=dim&tourVariant=tuned","2026-10-29T18:31:50.935Z","page\u002Fphase4-tour-panel","v4-tuned",{"project":9,"cycle":33,"src":5416,"route":5417,"caption":15,"capturedAt":5418,"subject":5413,"evolution":15,"seq":15,"thread":15,"variant":5419,"newThing":15,"moments":19,"subjectSince":17},"\u002Fcycles\u002Fdesign\u002Fc125-tour-panel-v5-panel.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fhome?tour=common-risks&step=s1-drill&tourLayout=split&tourFocus=dim&tourVariant=panel","2026-10-29T18:31:43.656Z","v5-panel",{"project":9,"cycle":33,"src":5421,"route":5422,"caption":15,"capturedAt":5423,"subject":5413,"evolution":15,"seq":15,"thread":15,"variant":5424,"newThing":15,"moments":19,"subjectSince":17},"\u002Fcycles\u002Fdesign\u002Fc125-tour-v4-start-here-open.png","\u002Fpages\u002Fphase4\u002Fmock\u002Forganization\u002Fendpoints?tour=start-here&step=open&tourLayout=split&tourFocus=dim&tourVariant=tuned","2026-10-29T17:54:42.805Z","v4-start-here-open",{"project":9,"cycle":33,"src":5426,"route":5427,"caption":15,"capturedAt":5428,"subject":5413,"evolution":15,"seq":15,"thread":15,"variant":5429,"newThing":15,"moments":19,"subjectSince":17},"\u002Fcycles\u002Fdesign\u002Fc125-tour-panel-v4-examples-simulate.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fhome?tour=common-risks&step=s1-drill&tourLayout=split&tourFocus=dim&tourVariant=tuned","2026-10-29T17:54:28.668Z","v4-examples-simulate",{"project":9,"cycle":33,"src":5431,"route":5432,"caption":15,"capturedAt":5433,"subject":5413,"evolution":15,"seq":15,"thread":15,"variant":5434,"newThing":15,"moments":19,"subjectSince":17},"\u002Fcycles\u002Fdesign\u002Fc125-tour-panel-v4-examples-panel.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fhome?tour=common-risks&step=s1-drill&tourLayout=split&tourFocus=dim&tourVariant=tuned&tourExamples=panel","2026-10-29T17:21:21.126Z","v4-examples-panel",{"project":9,"cycle":33,"src":5436,"route":5437,"caption":15,"capturedAt":5438,"subject":5413,"evolution":15,"seq":15,"thread":15,"variant":5439,"newThing":15,"moments":19,"subjectSince":17},"\u002Fcycles\u002Fdesign\u002Fc125-tour-panel-v4-examples-page.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fhome?tour=common-risks&step=s1-drill&tourLayout=split&tourFocus=dim&tourVariant=tuned&tourExamples=page","2026-10-29T17:21:14.041Z","v4-examples-page",{"project":9,"cycle":33,"src":5441,"route":5442,"caption":15,"capturedAt":5443,"subject":5413,"evolution":15,"seq":15,"thread":15,"variant":5444,"newThing":15,"moments":19,"subjectSince":17},"\u002Fcycles\u002Fdesign\u002Fc125-tour-panel-v3-brief.png","\u002Fpages\u002Fphase4\u002Fmock\u002Finventory\u002Fsources?tour=owasp-agentic&step=s1-watch&tourLayout=split&tourFocus=ringdim&tourVariant=brief","2026-10-29T16:21:23.272Z","v3-brief",{"project":9,"cycle":33,"src":5446,"route":5447,"caption":15,"capturedAt":5448,"subject":5413,"evolution":15,"seq":15,"thread":15,"variant":5449,"newThing":15,"moments":19,"subjectSince":17},"\u002Fcycles\u002Fdesign\u002Fc125-tour-panel-v2-cyan.png","\u002Fpages\u002Fphase4\u002Fmock\u002Finventory\u002Fsources?tour=owasp-agentic&step=s1-watch&tourLayout=split&tourFocus=ringdim&tourVariant=cyan","2026-10-29T16:11:56.411Z","v2-cyan",{"project":9,"cycle":33,"src":5451,"route":5452,"caption":15,"capturedAt":5453,"subject":5413,"evolution":15,"seq":15,"thread":15,"variant":5454,"newThing":15,"moments":19,"subjectSince":17},"\u002Fcycles\u002Fdesign\u002Fc125-tour-panel-v1-grape.png","\u002Fpages\u002Fphase4\u002Fmock\u002Finventory\u002Fsources?tour=owasp-agentic&step=s1-watch&tourLayout=float&tourFocus=ring&tourVariant=grape","2026-10-29T16:11:49.202Z","v1-grape",{"project":9,"cycle":33,"src":5456,"route":3199,"caption":5457,"capturedAt":5458,"subject":5459,"evolution":15,"seq":84,"thread":5460,"variant":5461,"newThing":5462,"moments":19,"subjectSince":30},"\u002Fcycles\u002Fdesign\u002Fc125-replica-install-complete.png","Traffic detected: the radar turns to \"Qtap Online\", Continue appears, and the end step shows FinalStep","2026-10-27T16:38:34.837Z","page\u002Fwizard-kit","c125 — the app.qpoint.io wizard kit, replicated on the design site","install=complete","The app.qpoint.io linear wizard kit replicated on the design site (ReplicasWizard*, Sequin), copied not redesigned",{"project":9,"cycle":33,"src":5464,"route":3199,"caption":5465,"capturedAt":5458,"subject":5459,"evolution":15,"seq":75,"thread":5460,"variant":5466,"newThing":5462,"moments":19,"subjectSince":30},"\u002Fcycles\u002Fdesign\u002Fc125-replica-install-listening.png","Install shape, step 2: listener mode with block — Continue hidden while the radar waits for the first signal","install=listening",{"project":9,"cycle":33,"src":5468,"route":3199,"caption":5469,"capturedAt":5458,"subject":5459,"evolution":15,"seq":19,"thread":5460,"variant":5470,"newThing":5462,"moments":19,"subjectSince":30},"\u002Fcycles\u002Fdesign\u002Fc125-replica-steps-edu.png","Step C: EduHarness with its edu slot (instruction, h1, p, tip, caution)","tabs=C",{"project":9,"cycle":33,"src":5472,"route":3199,"caption":5473,"capturedAt":5458,"subject":5459,"evolution":15,"seq":60,"thread":5460,"variant":5474,"newThing":5462,"moments":19,"subjectSince":30},"\u002Fcycles\u002Fdesign\u002Fc125-replica-steps-linear.png","Linear mode: the title, Back, \"Next : Step C\" and Continue","linear=B",{"project":9,"cycle":33,"src":5476,"route":3199,"caption":5477,"capturedAt":5458,"subject":5459,"evolution":15,"seq":20,"thread":5460,"variant":5478,"newThing":5462,"moments":19,"subjectSince":30},"\u002Fcycles\u002Fdesign\u002Fc125-replica-wizard-kit.png","The replica page: Steps in tab mode (A–D), the install shape, the pieces alone","tabs=A",{"project":9,"cycle":33,"src":5480,"route":3156,"caption":5481,"capturedAt":5482,"subject":5483,"evolution":15,"seq":20,"thread":5484,"variant":5478,"newThing":5485,"moments":19,"subjectSince":30},"\u002Fcycles\u002Fdesign\u002Fc125-wizard-steps-tabs-a.png","WizardSteps with tabs: Step A → D across the top, the step title under them, Continue on the right","2026-10-27T16:25:29.934Z","component\u002Fwizard-steps","c125 — prior art: app.qpoint.io's linear wizard kit","Prior art: WizardSteps + Sequin, the linear wizard app.qpoint.io used for every complex selection routine",{"project":9,"cycle":33,"src":5487,"route":3156,"caption":5488,"capturedAt":5482,"subject":5483,"evolution":15,"seq":19,"thread":5484,"variant":5470,"newThing":5485,"moments":19,"subjectSince":30},"\u002Fcycles\u002Fdesign\u002Fc125-wizard-steps-tabs-c.png","Step C: WizardEduHarness puts the form on the left and the edu panel (hints, tips) on the right",{"project":9,"cycle":33,"src":5490,"route":3156,"caption":5491,"capturedAt":5482,"subject":5483,"evolution":15,"seq":60,"thread":5484,"variant":5492,"newThing":5485,"moments":19,"subjectSince":30},"\u002Fcycles\u002Fdesign\u002Fc125-wizard-steps-tabs-d.png","Step D, the last: Continue gives way to Submit, which submits the whole wizard","tabs=D",{"project":9,"cycle":24,"src":29,"route":5494,"caption":5495,"capturedAt":5496,"subject":5497,"evolution":5498,"seq":20,"thread":5499,"variant":5500,"newThing":5501,"moments":110,"subjectSince":83},"\u002Fpages\u002Fphase4\u002Fmock\u002Fpolicies?stage=established","Before (stop 1): the 'Control Center' listing under the Policies rail (C2, C5)","2026-10-27T15:52:59.691Z","page\u002Fpolicies","\u002Fcycles\u002Fevolution\u002Fpage\u002Fpolicies","c126 — before the policies final pass","stage=established","Before: the listing titled Control Center, with expanding rows, frameworks strip, Custom controls and Evidence packet (C2, C5)",{"project":9,"cycle":24,"src":5503,"route":5504,"caption":5505,"capturedAt":5496,"subject":5506,"evolution":5507,"seq":84,"thread":5499,"variant":5500,"newThing":5508,"moments":60,"subjectSince":59},"\u002Fcycles\u002Fdesign\u002Fc126-before-policy-config-history.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fpolicy-config\u002Fhistory?stage=established","Before (stop 9\u002F10): Policy Config history, which overlaps the policy's own History (C4)","page\u002Fconfig-history","\u002Fcycles\u002Fevolution\u002Fpage\u002Fconfig-history","Before: Policy Config history — one of the two histories (C4)",{"project":9,"cycle":24,"src":5510,"route":5511,"caption":5512,"capturedAt":5496,"subject":5513,"evolution":15,"seq":75,"thread":5499,"variant":5500,"newThing":5514,"moments":19,"subjectSince":30},"\u002Fcycles\u002Fdesign\u002Fc126-before-policy-config.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fpolicy-config?stage=established","Before (stop 10): the shared Policy Config draft","page\u002Fpolicy-config","Before: the Policy Config draft",{"project":9,"cycle":24,"src":5516,"route":5517,"caption":5518,"capturedAt":5496,"subject":5519,"evolution":5520,"seq":60,"thread":5499,"variant":5521,"newThing":5522,"moments":84,"subjectSince":162},"\u002Fcycles\u002Fdesign\u002Fc126-before-policy-detail-adoption.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fpolicy-detail?policyId=P-MCP&stage=adoption","Before: P-MCP in adoption — Observe with the Engineering pilot as an Enforce exception (P-new-2)","page\u002Fpolicy-detail","\u002Fcycles\u002Fevolution\u002Fpage\u002Fpolicy-detail","policyId=P-MCP&stage=adoption","Before: policy detail",{"project":9,"cycle":24,"src":5524,"route":5525,"caption":5526,"capturedAt":5496,"subject":5519,"evolution":5520,"seq":19,"thread":5499,"variant":5527,"newThing":5528,"moments":84,"subjectSince":162},"\u002Fcycles\u002Fdesign\u002Fc126-before-policy-detail.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fpolicy-detail?policyId=P-MCP&stage=established","Before (stops 2–9): P-MCP — the header strip and the sections below both edit (C1)","policyId=P-MCP&stage=established","Before: policy detail with mode, severity, frameworks and findings in both the header and the sections (C1)",{"project":9,"cycle":24,"src":5530,"route":5531,"caption":5532,"capturedAt":5496,"subject":5533,"evolution":5534,"seq":92,"thread":5499,"variant":5535,"newThing":5536,"moments":75,"subjectSince":109},"\u002Fcycles\u002Fdesign\u002Fc126-before-team-policies.png","\u002Fpages\u002Fphase4\u002Fmock\u002Forganization\u002Fteams\u002Fdetail?team=Engineering&stage=established","Before (stop 11): Engineering's team page and its Policies section (C3)","page\u002Fteam-detail","\u002Fcycles\u002Fevolution\u002Fpage\u002Fteam-detail","team=Engineering&stage=established","Before: team Policies re-hosting exceptions (C3)",{"project":9,"cycle":33,"src":38,"route":5538,"caption":5539,"capturedAt":5540,"subject":5541,"evolution":5542,"seq":19,"thread":5543,"variant":5544,"newThing":5545,"moments":92,"subjectSince":5546},"\u002Fpages\u002Fphase4\u002Fmock\u002Forganization\u002Fendpoints?stage=adoption","Before (J1–J2): endpoints in adoption — coverage shown, but no next step","2026-10-27T15:52:24.685Z","page\u002Fendpoints","\u002Fcycles\u002Fevolution\u002Fpage\u002Fendpoints","c125 — before the operations wizard","stage=adoption","Before: endpoints in adoption — J1\u002FJ2, coverage without a journey around it","2026-09-02",{"project":9,"cycle":33,"src":5548,"route":5549,"caption":5550,"capturedAt":5540,"subject":5551,"evolution":5552,"seq":75,"thread":5543,"variant":15,"newThing":5553,"moments":75,"subjectSince":83},"\u002Fcycles\u002Fdesign\u002Fc125-before-governance-model.png","\u002Fpages\u002Fphase4\u002Fgovernance-model","Before: the governance-model page — the docs each journey step links to","page\u002Fgovernance-model","\u002Fcycles\u002Fevolution\u002Fpage\u002Fgovernance-model","Before: the governance-model docs the journey steps will link to",{"project":9,"cycle":33,"src":5555,"route":5556,"caption":5557,"capturedAt":5540,"subject":5558,"evolution":15,"seq":20,"thread":5543,"variant":5544,"newThing":5559,"moments":19,"subjectSince":30},"\u002Fcycles\u002Fdesign\u002Fc125-before-home-adoption.png","\u002Fpages\u002Fphase4\u002Fmock?stage=adoption","Before: the lab's landing in adoption, with no guidance on what comes next","page\u002Fgovernance-home","Before: the lab with no help, markers or tour — where the journey would start",{"project":9,"cycle":33,"src":5561,"route":5562,"caption":5563,"capturedAt":5540,"subject":5497,"evolution":5498,"seq":60,"thread":5543,"variant":5544,"newThing":5564,"moments":110,"subjectSince":83},"\u002Fcycles\u002Fdesign\u002Fc125-before-policies-adoption.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fpolicies?stage=adoption","Before (J4–J6): Policies in adoption — the page help mode, markers and the tour will first attach to","Before: the likely demo page for help mode, markers and the first tour",{"project":9,"cycle":46,"src":5566,"route":5567,"caption":5568,"capturedAt":5569,"subject":5570,"evolution":5571,"seq":19,"thread":5572,"variant":5544,"newThing":5573,"moments":110,"subjectSince":5574},"\u002Fcycles\u002Fdesign\u002Fc123-before-compliance-adoption.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fcompliance?stage=adoption","Before (adoption): the same listing early in a customer's rollout","2026-10-27T15:52:08.597Z","page\u002Fcompliance","\u002Fcycles\u002Fevolution\u002Fpage\u002Fcompliance","c123 — before the frameworks cleanup","Before: Compliance & Frameworks","2026-08-18",{"project":9,"cycle":46,"src":5576,"route":5577,"caption":5578,"capturedAt":5569,"subject":5570,"evolution":5571,"seq":20,"thread":5572,"variant":5500,"newThing":5579,"moments":110,"subjectSince":5574},"\u002Fcycles\u002Fdesign\u002Fc123-before-compliance-established.png","\u002Fpages\u002Fphase4\u002Fmock\u002Fcompliance?stage=established","Before (established): the Active\u002FAvailable listing with a completeness %, and the why-trail evidence export (X1, X4, X5)","Before: Compliance & Frameworks as c114–c121 left it — Active\u002FAvailable listing, completeness %, evidence export",{"project":9,"cycle":46,"src":5581,"route":5582,"caption":5583,"capturedAt":5569,"subject":5584,"evolution":5585,"seq":60,"thread":5572,"variant":15,"newThing":5586,"moments":75,"subjectSince":83},"\u002Fcycles\u002Fdesign\u002Fc123-before-framework-detail.png","\u002Fpages\u002Fphase4\u002Fframework-detail","Before: framework detail as an uncomposed S5 record (X6)","page\u002Fframework-detail","\u002Fcycles\u002Fevolution\u002Fpage\u002Fframework-detail","Before: the S5 record — framework detail was never composed in the mock shell (X6)",{"project":9,"cycle":46,"src":5588,"route":5494,"caption":5589,"capturedAt":5569,"subject":5497,"evolution":5498,"seq":75,"thread":5572,"variant":5500,"newThing":5590,"moments":110,"subjectSince":83},"\u002Fcycles\u002Fdesign\u002Fc123-before-policies-frameworks-strip.png","Before: the 'Active Compliance frameworks' strip and Evidence packet on the Policies listing (X1, X4)","Before: the second activation surface — the Control Center frameworks strip on Policies (X1)",[5592,5595,5598],{"key":5593,"project":9,"cycle":33,"title":36,"count":312,"entries":413,"rep":5594,"newThing":5462},"design:c125",{"project":9,"cycle":33,"src":5451,"route":5452,"caption":15,"capturedAt":5453,"subject":5413,"evolution":15,"seq":15,"thread":15,"variant":5454,"newThing":15,"moments":19,"subjectSince":17},{"key":5596,"project":9,"cycle":46,"title":49,"count":84,"entries":141,"rep":5597,"newThing":5586},"design:c123",{"project":9,"cycle":46,"src":5581,"route":5582,"caption":5583,"capturedAt":5569,"subject":5584,"evolution":5585,"seq":60,"thread":5572,"variant":15,"newThing":5586,"moments":75,"subjectSince":83},{"key":5599,"project":9,"cycle":24,"title":27,"count":110,"entries":75,"rep":5600,"newThing":5501},"design:c126",{"project":9,"cycle":24,"src":29,"route":5494,"caption":5495,"capturedAt":5496,"subject":5497,"evolution":5498,"seq":20,"thread":5499,"variant":5500,"newThing":5501,"moments":110,"subjectSince":83},[5602,5608,5613,5619,5625,5629,5633,5637,5641,5645,5650,5654,5659],{"id":5413,"kind":5603,"label":5604,"note":15,"cycles":5605,"count":131,"latest":5410,"moments":19,"since":17,"isNew":22,"evolution":5607},"page","Phase4 tour panel",[5606],{"project":9,"id":33},"\u002Fcycles\u002Fevolution\u002Fpage\u002Fphase4-tour-panel",{"id":5459,"kind":5603,"label":5609,"note":15,"cycles":5610,"count":92,"latest":5456,"moments":19,"since":30,"isNew":22,"evolution":5612},"Wizard kit",[5611],{"project":9,"id":33},"\u002Fcycles\u002Fevolution\u002Fpage\u002Fwizard-kit",{"id":5497,"kind":5603,"label":5614,"note":15,"cycles":5615,"count":75,"latest":29,"moments":110,"since":83,"isNew":21,"evolution":5498},"Policies",[5616,5617,5618],{"project":9,"id":24},{"project":9,"id":33},{"project":9,"id":46},{"id":5483,"kind":5620,"label":5621,"note":15,"cycles":5622,"count":75,"latest":5480,"moments":19,"since":30,"isNew":22,"evolution":5624},"component","Wizard steps",[5623],{"project":9,"id":33},"\u002Fcycles\u002Fevolution\u002Fcomponent\u002Fwizard-steps",{"id":5570,"kind":5603,"label":5626,"note":15,"cycles":5627,"count":60,"latest":5566,"moments":110,"since":5574,"isNew":21,"evolution":5571},"Compliance",[5628],{"project":9,"id":46},{"id":5519,"kind":5603,"label":5630,"note":15,"cycles":5631,"count":60,"latest":5516,"moments":84,"since":162,"isNew":21,"evolution":5520},"Policy detail",[5632],{"project":9,"id":24},{"id":5506,"kind":5603,"label":5634,"note":15,"cycles":5635,"count":19,"latest":5503,"moments":60,"since":59,"isNew":21,"evolution":5507},"Config history",[5636],{"project":9,"id":24},{"id":5541,"kind":5603,"label":5638,"note":15,"cycles":5639,"count":19,"latest":38,"moments":92,"since":5546,"isNew":21,"evolution":5542},"Endpoints",[5640],{"project":9,"id":33},{"id":5584,"kind":5603,"label":5642,"note":15,"cycles":5643,"count":19,"latest":5581,"moments":75,"since":83,"isNew":21,"evolution":5585},"Framework detail",[5644],{"project":9,"id":46},{"id":5558,"kind":5603,"label":5646,"note":15,"cycles":5647,"count":19,"latest":5555,"moments":19,"since":30,"isNew":22,"evolution":5649},"Governance home",[5648],{"project":9,"id":33},"\u002Fcycles\u002Fevolution\u002Fpage\u002Fgovernance-home",{"id":5551,"kind":5603,"label":5651,"note":15,"cycles":5652,"count":19,"latest":5548,"moments":75,"since":83,"isNew":21,"evolution":5552},"Governance model",[5653],{"project":9,"id":33},{"id":5513,"kind":5603,"label":5655,"note":15,"cycles":5656,"count":19,"latest":5510,"moments":19,"since":30,"isNew":22,"evolution":5658},"Policy config",[5657],{"project":9,"id":24},"\u002Fcycles\u002Fevolution\u002Fpage\u002Fpolicy-config",{"id":5533,"kind":5603,"label":5660,"note":15,"cycles":5661,"count":19,"latest":5530,"moments":75,"since":109,"isNew":21,"evolution":5534},"Team detail",[5662],{"project":9,"id":24},[],"2026-10-19","2026-11-02",1794599417698]