[{"data":1,"prerenderedAt":1496},["ShallowReactive",2],{"$fwgosM-CIkHFRQMPY_vqe87eoDUS5zqEyhHmZ1qAxgq0":3},{"from":4,"to":5,"cycles":6,"entries":495,"repos":1347,"releases":1479,"deploys":1488,"captures":1489,"clusters":1490,"subjects":1491,"notes":1492,"week":4,"prev":1494,"next":1495,"current":23},"2026-08-03","2026-08-09",{"started":7,"open":48,"closed":494},[8,25,34,41],{"project":9,"projectLabel":10,"id":11,"num":12,"dir":13,"title":14,"focus":15,"status":16,"thumbnail":17,"started":18,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":21,"quietWeeks":22,"stale":23,"active":24},"design","Design","c62",62,"c62.build-partner","build-partner","Build-partner portal — research, ideation, and a plan for a page that makes partners insiders","parked","\u002Fcycles\u002Fdesign\u002Fc62-arcade-organism-ideas.png","2026-08-08","record",null,1,0,false,true,{"project":9,"projectLabel":10,"id":26,"num":27,"dir":28,"title":29,"focus":30,"status":31,"thumbnail":32,"started":18,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":21,"quietWeeks":22,"stale":23,"active":24},"c61",61,"c61.integrations-teams","Integrations & Teams","Research and design enterprise-SaaS patterns for qdash teams and integrations pages","archived","\u002Fcycles\u002Fdesign\u002Fc61-ideas-v1.png","2026-08-15",{"project":9,"projectLabel":10,"id":35,"num":36,"dir":37,"title":38,"focus":39,"status":31,"thumbnail":20,"started":40,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":21,"quietWeeks":22,"stale":23,"active":24},"c53",53,"c53.agentic-workflows","Agentic Workflows","Formalize and modernize the Claude workflow tooling across the Qpoint project family","2026-08-06",{"project":9,"projectLabel":10,"id":42,"num":43,"dir":44,"title":45,"focus":46,"status":31,"thumbnail":20,"started":47,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":21,"quietWeeks":22,"stale":23,"active":24},"c60",60,"c60.inventory-depth","inventory-depth","_To be defined — see [initial-prompt.md](initial-prompt.md)._","2026-08-05",[49,59,68,75,83,91,99,107,116,123,133,143,150,161,168,175,181,190,198,204,213,216,219,226,231,236,240,247,253,258,268,273,278,284,291,298,306,313,320,328,334,341,346,352,358,364,371,376,384,391,398,406,411,417,422,427,434,438,443,447,452,456,462,469,475,479,482,489],{"project":9,"projectLabel":10,"id":50,"num":51,"dir":52,"title":53,"focus":54,"status":55,"thumbnail":56,"started":57,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":58,"quietWeeks":22,"stale":23,"active":24},"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",2,{"project":9,"projectLabel":10,"id":60,"num":61,"dir":62,"title":63,"focus":64,"status":31,"thumbnail":65,"started":66,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":67,"quietWeeks":22,"stale":23,"active":24},"c58",58,"c58.agent-mini-card","agent-mini-card","AgentMiniCard — compact agent summary card composing the AgentPawn, with mock page","\u002Farchive\u002F2026-q3\u002Fc58-agent-mini-cards.png","2026-07-26",3,{"project":9,"projectLabel":10,"id":69,"num":70,"dir":71,"title":72,"focus":73,"status":31,"thumbnail":74,"started":66,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":67,"quietWeeks":22,"stale":23,"active":24},"c57",57,"c57.pixel-pawns","pixel-pawns","Build the agent pawn state system from the first real Illustrator pawn art","\u002Fcycles\u002Fdesign\u002Fc57-agent-pawn.png",{"project":9,"projectLabel":10,"id":76,"num":77,"dir":78,"title":79,"focus":80,"status":31,"thumbnail":81,"started":82,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":67,"quietWeeks":22,"stale":23,"active":24},"c56",56,"c56.compliance-framework-pages","Compliance Framework Pages","Mock up two compliance framework pages from Figma designs","\u002Fcycles\u002Fdesign\u002Fc56-compliance.png","2026-07-25",{"project":9,"projectLabel":10,"id":84,"num":85,"dir":86,"title":87,"focus":88,"status":31,"thumbnail":89,"started":90,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":67,"quietWeeks":22,"stale":23,"active":24},"c54",54,"c54.policy-enforcement-page","Policy Enforcement Page","Design-site mock of the v2 Policy & Enforcement page from Figma — tabbed policy-control table built on UxTableList","\u002Fcycles\u002Fdesign\u002Fc54-policy-enforcement.png","2026-07-22",{"project":9,"projectLabel":10,"id":92,"num":93,"dir":94,"title":95,"focus":96,"status":31,"thumbnail":20,"started":97,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":98,"quietWeeks":22,"stale":23,"active":24},"c52",52,"c52.dark-mode-subtle","Dark Mode (Subtle) — Iteration & Theming","Build a dark-mode color system for the qcontrol app consolidation (qdash, qglass, Nuxt UI), with a design-app-based color picker and theme-file persistence for rapid iteration.","2026-07-16",4,{"project":9,"projectLabel":10,"id":100,"num":101,"dir":102,"title":103,"focus":104,"status":55,"thumbnail":105,"started":106,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":98,"quietWeeks":22,"stale":23,"active":24},"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":9,"projectLabel":10,"id":108,"num":109,"dir":110,"title":111,"focus":112,"status":31,"thumbnail":20,"started":113,"startedSource":19,"closed":114,"closedSource":19,"openWeeks":115,"quietWeeks":22,"stale":23,"active":24},"c49",49,"c49.cloudflare-deploy-fix","Fix the Cloudflare Pages Deploy","Make `push to main` reliably deploy the design site to Cloudflare Pages *(2026-09-25: reframed as \"make the build a manual local step\", see PICKUP.md)*","2026-06-11","2026-09-30",9,{"project":9,"projectLabel":10,"id":117,"num":118,"dir":119,"title":120,"focus":121,"status":31,"thumbnail":122,"started":113,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":115,"quietWeeks":22,"stale":23,"active":24},"c48",48,"c48.design-site-on-layer","Design Site on Layer","Close the layer gaps so the design site uses only q-nuxt-layer components for everything presentational","\u002Farchive\u002F2026-q3\u002Fc48-components-index.png",{"project":124,"projectLabel":125,"id":126,"num":127,"dir":128,"title":129,"focus":130,"status":131,"thumbnail":20,"started":132,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":58,"quietWeeks":58,"stale":23,"active":23},"bob-wire","Bob-Wire","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","active","2026-07-31",{"project":134,"projectLabel":135,"id":136,"num":137,"dir":138,"title":139,"focus":140,"status":131,"thumbnail":141,"started":142,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":58,"quietWeeks":58,"stale":23,"active":23},"qflow","Qflow","c12",12,"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":9,"projectLabel":10,"id":144,"num":145,"dir":146,"title":147,"focus":148,"status":16,"thumbnail":20,"started":149,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":67,"quietWeeks":22,"stale":23,"active":24},"c55",55,"c55.agent-market-definition","agent-market-definition","Align the qcontrol agent-monitoring dashboard to specific personas and find market alignment — hypothesis-first, validated against calls later.","2026-07-24",{"project":151,"projectLabel":152,"id":153,"num":154,"dir":155,"title":156,"focus":157,"status":16,"thumbnail":20,"started":158,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":159,"quietWeeks":160,"stale":23,"active":23},"market-analyst","Market Analyst","c7",7,"c7.avoma-notes","avoma-notes","Explore and integrate Avoma notes data into extraction pipeline and dashboard visualizations.","2026-02-25",24,20,{"project":151,"projectLabel":152,"id":162,"num":98,"dir":163,"title":164,"focus":165,"status":16,"thumbnail":20,"started":166,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":159,"quietWeeks":167,"stale":23,"active":23},"c4","c4.refinement","refinement","Refine how extracted data is displayed in the dashboard and improve extraction quality where gaps exist.","2026-02-24",23,{"project":151,"projectLabel":152,"id":169,"num":67,"dir":170,"title":171,"focus":172,"status":16,"thumbnail":20,"started":173,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":174,"quietWeeks":167,"stale":23,"active":23},"c3","c3.oauth","oauth","Add Google OAuth to restrict dashboard access to @qpoint.io team members.","2026-02-20",25,{"project":124,"projectLabel":125,"id":176,"num":177,"dir":178,"title":179,"focus":180,"status":131,"thumbnail":20,"started":149,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":67,"quietWeeks":67,"stale":24,"active":23},"c18",18,"c18.post-mortem-map","Post-Mortem Map","Post-mortem incident map — visualizing an incident that already occurred: the actors involved (user, agent, MCP servers, files, repos) and their state, on an incident page alongside traditional detail sections",{"project":124,"projectLabel":125,"id":182,"num":183,"dir":184,"title":185,"focus":20,"status":131,"thumbnail":186,"started":187,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":115,"quietWeeks":189,"stale":24,"active":23},"c15",15,"c15.agent-dashboard","Agent Dashboard","\u002Fcycles\u002Fbob-wire\u002Fc15-index.png","2026-06-09","git",8,{"project":124,"projectLabel":125,"id":191,"num":192,"dir":193,"title":194,"focus":20,"status":131,"thumbnail":195,"started":196,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":197,"quietWeeks":189,"stale":24,"active":23},"c16",16,"c16.agent-control-plane","Agent Control Plane","\u002Fcycles\u002Fbob-wire\u002Fc16-control-plane-integrations.png","2026-06-04",10,{"project":9,"projectLabel":10,"id":199,"num":200,"dir":201,"title":202,"focus":20,"status":31,"thumbnail":20,"started":203,"startedSource":188,"closed":33,"closedSource":19,"openWeeks":137,"quietWeeks":189,"stale":24,"active":23},"c47",47,"c47.pixel-pawns","Pixel Pawns","2026-05-20",{"project":205,"projectLabel":206,"id":207,"num":208,"dir":209,"title":210,"focus":20,"status":131,"thumbnail":20,"started":211,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":212,"quietWeeks":197,"stale":24,"active":23},"www","www.qpoint.io","c6",6,"c6.combined-index","Combined Index Page","2026-05-27",11,{"project":205,"projectLabel":206,"id":162,"num":98,"dir":214,"title":215,"focus":20,"status":131,"thumbnail":20,"started":211,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":212,"quietWeeks":197,"stale":24,"active":23},"c4.case-studies","AI Agent Incident Case Studies",{"project":205,"projectLabel":206,"id":169,"num":67,"dir":217,"title":218,"focus":20,"status":131,"thumbnail":20,"started":211,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":212,"quietWeeks":197,"stale":24,"active":23},"c3.the-problem-page","The Problem Page + PocketOS Case Study",{"project":205,"projectLabel":206,"id":220,"num":221,"dir":222,"title":223,"focus":224,"status":131,"thumbnail":20,"started":225,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":137,"quietWeeks":197,"stale":24,"active":23},"c5",5,"c5.cookie-consent-audit","Cookie Consent Audit & Fix","Audit and fix cookie consent persistence so decisions survive deploys","2026-05-21",{"project":9,"projectLabel":10,"id":227,"num":228,"dir":229,"title":230,"focus":20,"status":31,"thumbnail":20,"started":203,"startedSource":188,"closed":33,"closedSource":19,"openWeeks":137,"quietWeeks":212,"stale":24,"active":23},"c46",46,"c46.brochure-dark-mode","Brochure Site Dark Mode Definition",{"project":9,"projectLabel":10,"id":232,"num":233,"dir":234,"title":235,"focus":20,"status":31,"thumbnail":20,"started":203,"startedSource":188,"closed":33,"closedSource":19,"openWeeks":137,"quietWeeks":212,"stale":24,"active":23},"c45",45,"c45.ai-agent-policy-pages","AI Agent Policy Pages",{"project":205,"projectLabel":206,"id":237,"num":58,"dir":238,"title":239,"focus":20,"status":131,"thumbnail":20,"started":203,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":137,"quietWeeks":212,"stale":24,"active":23},"c2","c2.brochure-site-q2","Brochure Site Q2 Redesign",{"project":205,"projectLabel":206,"id":241,"num":21,"dir":242,"title":243,"focus":244,"status":131,"thumbnail":20,"started":245,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":246,"quietWeeks":212,"stale":24,"active":23},"c1","c1.q-nuxt-layer-integration","Q Nuxt Layer Integration","Complete q-nuxt-layer integration for www.qpoint.io and deploy","2026-05-11",13,{"project":124,"projectLabel":125,"id":248,"num":249,"dir":250,"title":251,"focus":20,"status":131,"thumbnail":252,"started":245,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":246,"quietWeeks":137,"stale":24,"active":23},"c14",14,"c14.qcontrol-brochure-site","QControl Brochure Site","\u002Fcycles\u002Fbob-wire\u002Fc14-index.png",{"project":124,"projectLabel":125,"id":254,"num":246,"dir":255,"title":256,"focus":20,"status":131,"thumbnail":257,"started":245,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":246,"quietWeeks":137,"stale":24,"active":23},"c13","c13.ai-agent-policies","AI Agent Policies","\u002Fcycles\u002Fbob-wire\u002Fc13-index.png",{"project":259,"projectLabel":260,"id":261,"num":262,"dir":263,"title":264,"focus":265,"status":31,"thumbnail":266,"started":267,"startedSource":19,"closed":33,"closedSource":188,"openWeeks":246,"quietWeeks":246,"stale":24,"active":23},"qmap","Qmap","c28",28,"c28.live-qcontrol-stream","live-qcontrol-stream","Live qcontrol event stream → qmap visualization via SSE bridge","\u002Fcycles\u002Fqmap\u002Fc28-dataflows.png","2026-05-13",{"project":124,"projectLabel":125,"id":136,"num":137,"dir":269,"title":270,"focus":20,"status":131,"thumbnail":271,"started":272,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":192,"quietWeeks":246,"stale":24,"active":23},"c12.inventory-deep-dive","Inventory Deep Dive","\u002Fcycles\u002Fbob-wire\u002Fc12-index.png","2026-04-24",{"project":124,"projectLabel":125,"id":274,"num":212,"dir":275,"title":276,"focus":20,"status":131,"thumbnail":20,"started":277,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":192,"quietWeeks":246,"stale":24,"active":23},"c11","c11.pixel-character-system","Pixel Character System","2026-04-23",{"project":124,"projectLabel":125,"id":279,"num":197,"dir":280,"title":281,"focus":20,"status":131,"thumbnail":282,"started":283,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":192,"quietWeeks":246,"stale":24,"active":23},"c10","c10.security-overview-benchmark","Security Overview Benchmark","\u002Fcycles\u002Fbob-wire\u002Fc10-index.png","2026-04-22",{"project":9,"projectLabel":10,"id":285,"num":286,"dir":287,"title":288,"focus":289,"status":55,"thumbnail":20,"started":290,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":192,"quietWeeks":246,"stale":24,"active":23},"c44",44,"c44.figma-ai-dashboard-redesign","Figma AI Dashboard Redesign","Establish a clean Figma-first source of truth for the dashboard redesign by modeling a flexible visual component API, then use AI to accelerate exploration without polluting the design system","2026-04-21",{"project":9,"projectLabel":10,"id":292,"num":293,"dir":294,"title":295,"focus":296,"status":31,"thumbnail":20,"started":297,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":192,"quietWeeks":246,"stale":24,"active":23},"c43",43,"c43.ai-ecosystem-inventory-map","AI Ecosystem Inventory Map","Define the qmap implementation path for an inventory\u002Findex view of the company-wide AI ecosystem","2026-04-20",{"project":9,"projectLabel":10,"id":299,"num":300,"dir":301,"title":302,"focus":303,"status":55,"thumbnail":20,"started":304,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":305,"quietWeeks":246,"stale":24,"active":23},"c42",42,"c42.runtime-session-map-publishing","Runtime Session Map Publishing","Define the design-app-native publish path for the qmap runtime-session map without starting implementation before qmap is ready","2026-04-17",17,{"project":9,"projectLabel":10,"id":307,"num":308,"dir":309,"title":310,"focus":311,"status":55,"thumbnail":312,"started":304,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":305,"quietWeeks":246,"stale":24,"active":23},"c41",41,"c41.signal-column-flow","Signal Column Flow","Prototype a column-based evidence ladder that moves from noisy session signal to reduced entities, actions, and provisional outcomes","\u002Farchive\u002F2026-q3\u002Fc41-signal-column-flow.png",{"project":9,"projectLabel":10,"id":314,"num":315,"dir":316,"title":317,"focus":318,"status":31,"thumbnail":20,"started":319,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":305,"quietWeeks":246,"stale":24,"active":23},"c38",38,"c38.qcontrol-visibility-storytelling","qcontrol Visibility Storytelling","Design briefs for the trust, provenance, storytelling, and layered-visibility framing around qcontrol-driven visualizations","2026-04-16",{"project":259,"projectLabel":260,"id":321,"num":322,"dir":323,"title":324,"focus":325,"status":131,"thumbnail":326,"started":327,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":249,"quietWeeks":249,"stale":24,"active":23},"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",{"project":259,"projectLabel":260,"id":329,"num":174,"dir":330,"title":331,"focus":332,"status":131,"thumbnail":333,"started":290,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":192,"quietWeeks":249,"stale":24,"active":23},"c25","c25.ai-ecosystem-inventory-map","ai-ecosystem-inventory-map","Build a qmap inventory\u002Findex view of the company-wide AI ecosystem using deterministic synthetic data first","\u002Fcycles\u002Fqmap\u002Fc25-ai-ecosystem-inventory-map.png",{"project":259,"projectLabel":260,"id":335,"num":336,"dir":337,"title":338,"focus":339,"status":131,"thumbnail":20,"started":340,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":183,"quietWeeks":183,"stale":24,"active":23},"c26",26,"c26.flatland-view","flatland-view","Add a `flatland` view (topdown camera + pitched 3D models) for VOX\u002FOBJ-backed actors","2026-04-28",{"project":124,"projectLabel":125,"id":342,"num":115,"dir":343,"title":344,"focus":20,"status":131,"thumbnail":345,"started":297,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":192,"quietWeeks":183,"stale":24,"active":23},"c9","c9.meaning-layer-dashboard","Meaning-Layer Dashboard","\u002Fcycles\u002Fbob-wire\u002Fc9-index.png",{"project":259,"projectLabel":260,"id":347,"num":159,"dir":348,"title":349,"focus":350,"status":131,"thumbnail":351,"started":304,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":305,"quietWeeks":183,"stale":24,"active":23},"c24","c24.synthetic-live-session-replay","synthetic-live-session-replay","Build a deterministic synthetic replay path for live-feeling qmap sessions","\u002Fcycles\u002Fqmap\u002Fc24-complete.png",{"project":259,"projectLabel":260,"id":353,"num":167,"dir":354,"title":355,"focus":356,"status":131,"thumbnail":357,"started":304,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":305,"quietWeeks":183,"stale":24,"active":23},"c23","c23.custom-obj-models","custom-obj-models","Validate import, normalization, and rendering of custom `.obj` actor models in qmap","\u002Fcycles\u002Fqmap\u002Fc23-cowboy.png",{"project":9,"projectLabel":10,"id":359,"num":360,"dir":361,"title":362,"focus":20,"status":31,"thumbnail":363,"started":319,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":305,"quietWeeks":192,"stale":24,"active":23},"c40",40,"c40.qpixel-library","Qpixel Library","\u002Farchive\u002F2026-q3\u002Fc40-qpixel-editor.png",{"project":9,"projectLabel":10,"id":365,"num":366,"dir":367,"title":368,"focus":369,"status":31,"thumbnail":370,"started":319,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":305,"quietWeeks":192,"stale":24,"active":23},"c39",39,"c39.timeline-visualization","Timeline Visualization","Horizontal timeline system for artifacts, history, and curated milestones across the design site","\u002Farchive\u002F2026-q3\u002Fc39-timeline.png",{"project":9,"projectLabel":10,"id":372,"num":373,"dir":374,"title":375,"focus":20,"status":31,"thumbnail":20,"started":319,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":305,"quietWeeks":192,"stale":24,"active":23},"c37",37,"c37.qcontrol-file-debug","qcontrol File Event Debug",{"project":259,"projectLabel":260,"id":377,"num":378,"dir":379,"title":380,"focus":381,"status":131,"thumbnail":382,"started":383,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":305,"quietWeeks":192,"stale":24,"active":23},"c22",22,"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":9,"projectLabel":10,"id":385,"num":386,"dir":387,"title":388,"focus":389,"status":31,"thumbnail":20,"started":390,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":127,"quietWeeks":192,"stale":24,"active":23},"c33",33,"c33.ai-ecosystem-visualizations","ai-ecosystem-visualizations","Visual experiments expressing the AI agent monitoring dataset for security teams","2026-04-03",{"project":259,"projectLabel":260,"id":392,"num":393,"dir":394,"title":395,"focus":396,"status":131,"thumbnail":397,"started":390,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":127,"quietWeeks":192,"stale":24,"active":23},"c21",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",{"project":259,"projectLabel":260,"id":399,"num":160,"dir":400,"title":401,"focus":402,"status":403,"thumbnail":404,"started":405,"startedSource":19,"closed":33,"closedSource":188,"openWeeks":127,"quietWeeks":192,"stale":24,"active":23},"c20","c20.dataflow-arrows","Dataflow Arrows","Directional arrow indicators on dataflow lines","unlisted","\u002Fcycles\u002Fqmap\u002Fc20-arrows-distributed.png","2026-03-30",{"project":259,"projectLabel":260,"id":126,"num":127,"dir":407,"title":408,"focus":409,"status":403,"thumbnail":410,"started":405,"startedSource":19,"closed":33,"closedSource":188,"openWeeks":127,"quietWeeks":192,"stale":24,"active":23},"c19.data-flow","Data Flow","QMapDataflow wrapper with config-driven props and tag-based context grouping","\u002Fcycles\u002Fqmap\u002Fc19-data-flow.png",{"project":259,"projectLabel":260,"id":176,"num":177,"dir":412,"title":413,"focus":414,"status":403,"thumbnail":415,"started":416,"startedSource":19,"closed":33,"closedSource":188,"openWeeks":160,"quietWeeks":192,"stale":24,"active":23},"c18.control-components","Control Components","Schema-driven configurator for runtime property control","\u002Fcycles\u002Fqmap\u002Fc18-airy-stage.png","2026-03-24",{"project":134,"projectLabel":135,"id":274,"num":212,"dir":418,"title":419,"focus":420,"status":31,"thumbnail":421,"started":390,"startedSource":19,"closed":33,"closedSource":188,"openWeeks":127,"quietWeeks":177,"stale":24,"active":23},"c11.ai-ecosystem","AI Ecosystem","PixiJS experiments expressing the AI agent monitoring dataset for security teams","\u002Fcycles\u002Fqflow\u002Fc11-ai-ecosystem.png",{"project":124,"projectLabel":125,"id":162,"num":98,"dir":423,"title":424,"focus":20,"status":131,"thumbnail":425,"started":426,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":127,"quietWeeks":177,"stale":24,"active":23},"c4.aii-agents-entity","AI Agents Entity","\u002Fcycles\u002Fbob-wire\u002Fc4-agent-sessions.png","2026-04-01",{"project":259,"projectLabel":260,"id":428,"num":305,"dir":429,"title":430,"focus":431,"status":403,"thumbnail":432,"started":433,"startedSource":19,"closed":33,"closedSource":188,"openWeeks":160,"quietWeeks":127,"stale":24,"active":23},"c17","c17.dataflow-detail","Dataflow Detail","Single dataflow detail view with per-actor context toggling","\u002Fcycles\u002Fqmap\u002Fc17-checkout-stripe.png","2026-03-23",{"project":134,"projectLabel":135,"id":279,"num":197,"dir":435,"title":436,"focus":20,"status":131,"thumbnail":437,"started":433,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":160,"quietWeeks":127,"stale":24,"active":23},"c10.real-data","Real Data","\u002Fcycles\u002Fqflow\u002Fc10-devtools-iso.png",{"project":134,"projectLabel":135,"id":439,"num":189,"dir":440,"title":441,"focus":20,"status":131,"thumbnail":442,"started":433,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":160,"quietWeeks":127,"stale":24,"active":23},"c8","c8.label-controls","label controls","\u002Fcycles\u002Fqflow\u002Fc8-bottom-warm.png",{"project":124,"projectLabel":125,"id":169,"num":67,"dir":444,"title":445,"focus":20,"status":131,"thumbnail":446,"started":433,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":160,"quietWeeks":127,"stale":24,"active":23},"c3.dataflows","Dataflows","\u002Fcycles\u002Fbob-wire\u002Fc3-dataflows-overview.png",{"project":9,"projectLabel":10,"id":321,"num":322,"dir":448,"title":449,"focus":450,"status":31,"thumbnail":20,"started":451,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":393,"quietWeeks":127,"stale":24,"active":23},"c27.publishing","Publishing","Publish four internal projects to Cloudflare Pages","2026-03-16",{"project":134,"projectLabel":135,"id":342,"num":115,"dir":453,"title":454,"focus":455,"status":131,"thumbnail":20,"started":451,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":393,"quietWeeks":127,"stale":24,"active":23},"c9.dev-tools-integration","c9 · dev-tools-integration","Integrate qflow with qtap dev-tools in app.qpoint.io — qflow as bird's-eye view, dev-tools as detail inspector, fed by live production SSE traffic.",{"project":124,"projectLabel":125,"id":241,"num":21,"dir":457,"title":458,"focus":459,"status":131,"thumbnail":460,"started":461,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":167,"quietWeeks":127,"stale":24,"active":23},"c1.situation-room","Situation Room","Situation Room wireframe — problem-space command center for data governance","\u002Fcycles\u002Fbob-wire\u002Fc1-index.png","2026-03-03",{"project":9,"projectLabel":10,"id":463,"num":464,"dir":465,"title":466,"focus":20,"status":31,"thumbnail":467,"started":468,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":393,"quietWeeks":160,"stale":24,"active":23},"c32",32,"c32.security-policy-pages","Security Policy Pages","\u002Fcycles\u002Fdesign\u002Fc32-policy-detail.png","2026-03-19",{"project":9,"projectLabel":10,"id":470,"num":471,"dir":472,"title":473,"focus":20,"status":31,"thumbnail":474,"started":468,"startedSource":19,"closed":33,"closedSource":19,"openWeeks":393,"quietWeeks":160,"stale":24,"active":23},"c31",31,"c31.page-mocks","Page Mocks","\u002Fcycles\u002Fdesign\u002Fc31-security-overview.png",{"project":9,"projectLabel":10,"id":428,"num":305,"dir":476,"title":477,"focus":20,"status":31,"thumbnail":20,"started":478,"startedSource":188,"closed":33,"closedSource":19,"openWeeks":378,"quietWeeks":393,"stale":24,"active":23},"c17.design-cleanup","Applying Design to the Design Site","2026-03-13",{"project":9,"projectLabel":10,"id":439,"num":189,"dir":480,"title":481,"focus":20,"status":131,"thumbnail":20,"started":478,"startedSource":188,"closed":20,"closedSource":20,"openWeeks":378,"quietWeeks":393,"stale":24,"active":23},"c8.sharing-design-philosophy","Sharing Design Philosophy",{"project":483,"projectLabel":484,"id":237,"num":58,"dir":485,"title":486,"focus":487,"status":131,"thumbnail":20,"started":488,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":167,"quietWeeks":393,"stale":24,"active":23},"app","app.qpoint.io","c2.mcp-apps","MCP Apps","Add AI assistant UI to app.qpoint.io with shared Vue components usable as MCP Apps","2026-03-05",{"project":483,"projectLabel":484,"id":241,"num":21,"dir":490,"title":491,"focus":492,"status":131,"thumbnail":20,"started":493,"startedSource":19,"closed":20,"closedSource":20,"openWeeks":174,"quietWeeks":393,"stale":24,"active":23},"c1.documentation-cleanup","documentation-cleanup","Improve component documentation quality with better examples and human-AI collaborative workflow","2026-02-19",[],[496,552,576,600,611,840,851,1036,1158,1191,1276],{"project":9,"cycle":26,"dir":28,"title":29,"date":18,"lead":497,"long":24,"ast":498},"Research",{"type":499,"children":500},"root",[501],{"type":502,"tag":503,"props":504,"children":505},"element","ul",{},[506],{"type":502,"tag":507,"props":508,"children":509},"li",{},[510,517,519,526,528,534,536,542,544,550],{"type":502,"tag":511,"props":512,"children":513},"strong",{},[514],{"type":515,"value":516},"text","Research (2026-08-08):",{"type":515,"value":518}," ",{"type":502,"tag":520,"props":521,"children":523},"code",{"className":522},[],[524],{"type":515,"value":525},"research.md",{"type":515,"value":527}," — current-state read of both qdash pages, ranked JTBD per page (grounded in c55 personas), qdash punch list (drift-report items, not fixed here), and a comparable-trends digest. Companion docs ",{"type":502,"tag":520,"props":529,"children":531},{"className":530},[],[532],{"type":515,"value":533},"research-teams.md",{"type":515,"value":535}," + ",{"type":502,"tag":520,"props":537,"children":539},{"className":538},[],[540],{"type":515,"value":541},"research-integrations.md",{"type":515,"value":543}," cover ~20 products across dev-infra \u002F security-observability \u002F enterprise-IT tiers; 15 verified screengrabs in ",{"type":502,"tag":520,"props":545,"children":547},{"className":546},[],[548],{"type":515,"value":549},"research\u002F",{"type":515,"value":551}," with source attribution. Standout findings: Okta\u002FLinear JIT provisioning + Snyk's auth-method column as the mental model for invite-less observed identities; Datadog's Detected\u002FMissing-Data states and the near-universal absence of a test-send affordance on the integrations side.",{"project":9,"cycle":26,"dir":28,"title":29,"date":18,"lead":553,"long":24,"ast":554},"teams-ideas",{"type":499,"children":555},[556],{"type":502,"tag":503,"props":557,"children":558},{},[559],{"type":502,"tag":507,"props":560,"children":561},{},[562,567,568,574],{"type":502,"tag":511,"props":563,"children":564},{},[565],{"type":515,"value":566},"teams-ideas (2026-08-08):",{"type":515,"value":518},{"type":502,"tag":520,"props":569,"children":571},{"className":570},[],[572],{"type":515,"value":573},"\u002Fpages\u002Fteams-ideas",{"type":515,"value":575}," — four concepts: (1) one risk story per row (8 cols → 5, verb deep-links), (2) teams as the unit (cards + promoted unassigned bucket), (3) the mapping workspace (queue\u002Fevidence\u002Fsuggestions\u002Fbulk assign, SCIM-projected banner), (4) SCIM-day members & roles (projected). Meridian numbers extended: $1,034\u002F30d attributed + $306 unattributed (23%), priya 2.4× user spend median, Payments 2.7× team token median.",{"project":9,"cycle":26,"dir":28,"title":29,"date":18,"lead":577,"long":24,"ast":578},"integrations-ideas",{"type":499,"children":579},[580],{"type":502,"tag":503,"props":581,"children":582},{},[583],{"type":502,"tag":507,"props":584,"children":585},{},[586,591,592,598],{"type":502,"tag":511,"props":587,"children":588},{},[589],{"type":515,"value":590},"integrations-ideas (2026-08-08):",{"type":515,"value":518},{"type":502,"tag":520,"props":593,"children":595},{"className":594},[],[596],{"type":515,"value":597},"\u002Fpages\u002Fintegrations-ideas",{"type":515,"value":599}," — four concepts: (1) honest directory + loopback ledger (\"0 bytes — verified, not promised\"; kills the PagerDuty\u002FSlack live-and-projected contradiction), (2) connector shelf (filterable grid, request tile), (3) severity-major routing console (test-send, disable path, replayed \"would have fired\" strip), (4) projected→live connect flow (credentials → scope → verify, health states, projected · dry-run · live lifecycle ribbon).",{"project":9,"cycle":11,"dir":13,"title":14,"date":18,"lead":20,"long":23,"ast":601},{"type":499,"children":602},[603],{"type":502,"tag":503,"props":604,"children":605},{},[606],{"type":502,"tag":507,"props":607,"children":608},{},[609],{"type":515,"value":610},"Phase-0 decisions recorded (2026-08-08): mock-first placement, focused transparency, explore both shared + per-partner surfaces",{"project":9,"cycle":50,"dir":52,"title":53,"date":612,"lead":613,"long":24,"ast":614},"2026-08-07","Iteration 8 , v2 refined + shipped to qcontrol)",{"type":499,"children":615},[616],{"type":502,"tag":503,"props":617,"children":618},{},[619],{"type":502,"tag":507,"props":620,"children":621},{},[622,627,629,635,637,643,645,651,653,658,660,666,668,674,676,689,691,697,699,705,707,713,715,721,723,729,731,736,737,743,745,751,753,758,760,766,768,774,776,782,784,790,792,798,800,806,808,814,816,822,824,830,832,838],{"type":502,"tag":511,"props":623,"children":624},{},[625],{"type":515,"value":626},"Iteration 8 (2026-08-07, v2 refined + shipped to qcontrol):",{"type":515,"value":628}," the v2 mock iterated with Mark to its final form — Recent Sessions restyled as a SurfacePanel (compact ranked rows: run id + model + when, status pill + cost, token bar), captions dropped across all panels, row caps at 7, and the header simplified per the comp: pawn + name · Security Score (",{"type":502,"tag":520,"props":630,"children":632},{"className":631},[],[633],{"type":515,"value":634},"DataSmile",{"type":515,"value":636},", per-agent score) · Spend · stroke ",{"type":502,"tag":520,"props":638,"children":640},{"className":639},[],[641],{"type":515,"value":642},"UxButton",{"type":515,"value":644}," \"View Full Agent Details\"; the old identity strip became a Metadata column beside sessions. Two gotchas logged to memory along the way: ",{"type":502,"tag":520,"props":646,"children":648},{"className":647},[],[649],{"type":515,"value":650},"divide-*",{"type":515,"value":652}," containers hijack direct children's border colors (the grey stroke-button bug), and the close affordance moved out of ExpandRow. ",{"type":502,"tag":511,"props":654,"children":655},{},[656],{"type":515,"value":657},"Close X redesign (layer API):",{"type":515,"value":659}," the sticky viewport-anchored X is gone; ",{"type":502,"tag":520,"props":661,"children":663},{"className":662},[],[664],{"type":515,"value":665},"UxTableListExpandSection",{"type":515,"value":667}," now renders a card-anchored X only when an ",{"type":502,"tag":520,"props":669,"children":671},{"className":670},[],[672],{"type":515,"value":673},"@close",{"type":515,"value":675}," listener is attached, and ",{"type":502,"tag":511,"props":677,"children":678},{},[679,681,687],{"type":515,"value":680},"ExpandRow wraps its ",{"type":502,"tag":520,"props":682,"children":684},{"className":683},[],[685],{"type":515,"value":686},"#details",{"type":515,"value":688}," slot in one ExpandSection by default",{"type":515,"value":690}," (same chrome as DataTable's old hand-rolled wrapper, now with the X) — a ",{"type":502,"tag":520,"props":692,"children":694},{"className":693},[],[695],{"type":515,"value":696},"bare",{"type":515,"value":698}," prop opts out for sectioned stacks, the details slot scope provides ",{"type":502,"tag":520,"props":700,"children":702},{"className":701},[],[703],{"type":515,"value":704},"close",{"type":515,"value":706},", and ",{"type":502,"tag":520,"props":708,"children":710},{"className":709},[],[711],{"type":515,"value":712},"open()\u002Fclose()",{"type":515,"value":714}," are exposed for template refs (the mock's programmatic-click hack retired). ",{"type":502,"tag":520,"props":716,"children":718},{"className":717},[],[719],{"type":515,"value":720},"DataTable",{"type":515,"value":722}," dropped its wrapper and gained ",{"type":502,"tag":520,"props":724,"children":726},{"className":725},[],[727],{"type":515,"value":728},"bareDetails",{"type":515,"value":730}," + close forwarding. ",{"type":502,"tag":511,"props":732,"children":733},{},[734],{"type":515,"value":735},"Extraction:",{"type":515,"value":518},{"type":502,"tag":520,"props":738,"children":740},{"className":739},[],[741],{"type":515,"value":742},"DataSurfacePanel",{"type":515,"value":744}," (",{"type":502,"tag":520,"props":746,"children":748},{"className":747},[],[749],{"type":515,"value":750},"data\u002FSurfacePanel.vue",{"type":515,"value":752},", from the byte-diffable replica; grid template moved to inline style per the layer's no-arbitrary-classes rule) — both local copies deleted, all design + qdash usage sites swapped, demo + registry entry added. ",{"type":502,"tag":511,"props":754,"children":755},{},[756],{"type":515,"value":757},"qcontrol port (Stage B):",{"type":515,"value":759}," new ",{"type":502,"tag":520,"props":761,"children":763},{"className":762},[],[764],{"type":515,"value":765},"qdash ui\u002Fapp\u002Fcomponents\u002Finventory\u002FAgentCard.vue",{"type":515,"value":767}," — the three-section card wired to real data (roster row renders the header instantly; lazy ",{"type":502,"tag":520,"props":769,"children":771},{"className":770},[],[772],{"type":515,"value":773},"\u002Fapi\u002Fagent",{"type":515,"value":775}," fetch feeds metadata, quota bar + governance denied-count (kept from the old expand per Mark), rich sessions with running\u002Fok\u002Ferror pills, and the four Surface panels with drill-down + listing links, oauth-pending joined by server name). Replaces ",{"type":502,"tag":520,"props":777,"children":779},{"className":778},[],[780],{"type":515,"value":781},"AgentExpand.vue",{"type":515,"value":783}," on ",{"type":502,"tag":520,"props":785,"children":787},{"className":786},[],[788],{"type":515,"value":789},"\u002Finventory",{"type":515,"value":791}," and ",{"type":502,"tag":520,"props":793,"children":795},{"className":794},[],[796],{"type":515,"value":797},"AgentExpandDetail",{"type":515,"value":799}," on machine detail (Teams keeps the interim card until its redesign). Opportunistic fixes: ",{"type":502,"tag":520,"props":801,"children":803},{"className":802},[],[804],{"type":515,"value":805},"PawnAgent",{"type":515,"value":807}," → ",{"type":502,"tag":520,"props":809,"children":811},{"className":810},[],[812],{"type":515,"value":813},"AgentPawn",{"type":515,"value":815}," on agent detail (component never resolved — pawn was invisible in prod), ",{"type":502,"tag":520,"props":817,"children":819},{"className":818},[],[820],{"type":515,"value":821},"EXPAND_CAP",{"type":515,"value":823}," 15 → 50 TODO, dead ",{"type":502,"tag":520,"props":825,"children":827},{"className":826},[],[828],{"type":515,"value":829},"SurfaceMore.vue",{"type":515,"value":831}," deleted. All 133 qdash vitest tests pass; Vite transforms clean. Ships as layer v0.9.6 (with Mark's UxButton ",{"type":502,"tag":520,"props":833,"children":835},{"className":834},[],[836],{"type":515,"value":837},"size",{"type":515,"value":839}," + grape-600 default and the AgentPawn zzz tweak) + a qdash dist rebuild.",{"project":9,"cycle":35,"dir":37,"title":38,"date":40,"lead":20,"long":23,"ast":841},{"type":499,"children":842},[843],{"type":502,"tag":503,"props":844,"children":845},{},[846],{"type":502,"tag":507,"props":847,"children":848},{},[849],{"type":515,"value":850},"2026-08-06 — Stage 1 capture only; parked by design.",{"project":9,"cycle":50,"dir":52,"title":53,"date":40,"lead":852,"long":24,"ast":853},"Iteration 7 , the designed expand-row)",{"type":499,"children":854},[855],{"type":502,"tag":503,"props":856,"children":857},{},[858],{"type":502,"tag":507,"props":859,"children":860},{},[861,866,867,873,875,881,883,889,891,897,899,904,906,912,914,920,922,928,930,936,938,943,944,950,952,958,960,966,968,974,976,981,983,988,990,996,998,1004,1006,1011,1013,1018,1020,1026,1028,1034],{"type":502,"tag":511,"props":862,"children":863},{},[864],{"type":515,"value":865},"Iteration 7 (2026-08-06, the designed expand-row):",{"type":515,"value":518},{"type":502,"tag":520,"props":868,"children":870},{"className":869},[],[871],{"type":515,"value":872},"\u002Fpages\u002Finventory-agent-expand",{"type":515,"value":874}," — the designed agent expand-row from Mark's designer comp, the deliverable ",{"type":502,"tag":520,"props":876,"children":878},{"className":877},[],[879],{"type":515,"value":880},"design-brief.md",{"type":515,"value":882}," queued when it marked qdash's expand panel INTERIM. A 4-row mini ledger (row cells verbatim from ledger-v2) whose expand card composes: AgentPawn + name header with the AgentInline sub-line scaled up, the agent-detail identity strip (User \u002F Credential \u002F Host \u002F Terminal ",{"type":502,"tag":520,"props":884,"children":886},{"className":885},[],[887],{"type":515,"value":888},"DataIdentityItem",{"type":515,"value":890},"s + Organization \u002F Account IDs) with dashed ",{"type":502,"tag":520,"props":892,"children":894},{"className":893},[],[895],{"type":515,"value":896},"staged",{"type":515,"value":898}," pills on the two Tier-3 fields, a deliberately blank Quick Overview (comp annotates \"Leave blank, TBD\"), a Recent Sessions mini-table, and ",{"type":502,"tag":511,"props":900,"children":901},{},[902],{"type":515,"value":903},"four agent-scoped Surface panels copied from qcontrol's live \u002Finventory",{"type":515,"value":905}," — ",{"type":502,"tag":520,"props":907,"children":909},{"className":908},[],[910],{"type":515,"value":911},"app\u002Fcomponents\u002Finventory\u002FSurfacePanel.vue",{"type":515,"value":913}," is a byte-diffable replica of qdash's ",{"type":502,"tag":520,"props":915,"children":917},{"className":916},[],[918],{"type":515,"value":919},"components\u002Finventory\u002FSurfacePanel.vue",{"type":515,"value":921}," (only ",{"type":502,"tag":520,"props":923,"children":925},{"className":924},[],[926],{"type":515,"value":927},"pct",{"type":515,"value":929}," inlined), kept 1:1 for the eventual layer extraction. Featured row (samir's sparse brand-new install, per the comp) auto-opens on load; priya's row carries 12 tool rows so the Tools panel demos ",{"type":502,"tag":520,"props":931,"children":933},{"className":932},[],[934],{"type":515,"value":935},"UxShowMore",{"type":515,"value":937}," overflow. Cross-foot rule: row Sessions\u002FMCP\u002FTools counts equal the card's workspace-runs total and panel row counts. ",{"type":502,"tag":511,"props":939,"children":940},{},[941],{"type":515,"value":942},"Layer gaps logged:",{"type":515,"value":518},{"type":502,"tag":520,"props":945,"children":947},{"className":946},[],[948],{"type":515,"value":949},"UxTableListExpandRow",{"type":515,"value":951},"'s ",{"type":502,"tag":520,"props":953,"children":955},{"className":954},[],[956],{"type":515,"value":957},"isOpen",{"type":515,"value":959}," prop is dead (shadowed by a local ref — no declarative default-open; the mock simulates a click), and the layer has no ",{"type":502,"tag":520,"props":961,"children":963},{"className":962},[],[964],{"type":515,"value":965},"github",{"type":515,"value":967}," icon (qdash-only), so workspace rows all use ",{"type":502,"tag":520,"props":969,"children":971},{"className":970},[],[972],{"type":515,"value":973},"folder",{"type":515,"value":975},". ",{"type":502,"tag":511,"props":977,"children":978},{},[979],{"type":515,"value":980},"Flagged for Mark:",{"type":515,"value":982}," posture vocabulary divergence — the comp says \"Standard\" (qdash's danger_level word) where the c59 ledgers say \"Healthy\"; the page shows both. ",{"type":502,"tag":511,"props":984,"children":985},{},[986],{"type":515,"value":987},"Addendum:",{"type":515,"value":989}," SurfacePanel gained a ",{"type":502,"tag":520,"props":991,"children":993},{"className":992},[],[994],{"type":515,"value":995},"compact",{"type":515,"value":997}," mode (Mark's ask: no border, no padding, tighter leading, smaller fonts — one type notch down across title\u002Fcaption\u002Fheaders\u002Frows; ",{"type":502,"tag":520,"props":999,"children":1001},{"className":1000},[],[1002],{"type":515,"value":1003},"#row",{"type":515,"value":1005}," now passes ",{"type":502,"tag":520,"props":1007,"children":1009},{"className":1008},[],[1010],{"type":515,"value":995},{"type":515,"value":1012}," so consumer cells can adapt their padding\u002Fpills). Applied as an identical additive diff to ",{"type":502,"tag":511,"props":1014,"children":1015},{},[1016],{"type":515,"value":1017},"both copies",{"type":515,"value":1019}," (design replica + qdash's original, default ",{"type":502,"tag":520,"props":1021,"children":1023},{"className":1022},[],[1024],{"type":515,"value":1025},"false",{"type":515,"value":1027}," so qdash pages are untouched) to preserve diffability; the expand card's four Surface panels now render compact, and the Quick Overview \u002F Recent Sessions row was made non-responsive (always ",{"type":502,"tag":520,"props":1029,"children":1031},{"className":1030},[],[1032],{"type":515,"value":1033},"[2fr_3fr]",{"type":515,"value":1035},") after review.",{"project":9,"cycle":50,"dir":52,"title":53,"date":40,"lead":1037,"long":24,"ast":1038},"Iteration 7 addendum , sectioned expand row)",{"type":499,"children":1039},[1040],{"type":502,"tag":503,"props":1041,"children":1042},{},[1043],{"type":502,"tag":507,"props":1044,"children":1045},{},[1046,1051,1053,1059,1061,1066,1067,1073,1075,1081,1083,1088,1089,1094,1096,1102,1104,1110,1112,1118,1120,1126,1128,1134,1136,1140,1142,1148,1150,1156],{"type":502,"tag":511,"props":1047,"children":1048},{},[1049],{"type":515,"value":1050},"Iteration 7 addendum (2026-08-06, sectioned expand row):",{"type":515,"value":1052}," Mark's stacked-cards comp executed per ",{"type":502,"tag":520,"props":1054,"children":1056},{"className":1055},[],[1057],{"type":515,"value":1058},"expand-row-sections-plan.md",{"type":515,"value":1060}," — new layer component ",{"type":502,"tag":520,"props":1062,"children":1064},{"className":1063},[],[1065],{"type":515,"value":665},{"type":515,"value":744},{"type":502,"tag":520,"props":1068,"children":1070},{"className":1069},[],[1071],{"type":515,"value":1072},"ux\u002Ftable-list\u002FExpandSection.vue",{"type":515,"value":1074},"): a borderless white section card (",{"type":502,"tag":520,"props":1076,"children":1078},{"className":1077},[],[1079],{"type":515,"value":1080},"rounded-12 bg-surface p-6 shadow-lg",{"type":515,"value":1082},", no props, default slot) for stacking inside an ",{"type":502,"tag":520,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":515,"value":949},{"type":515,"value":518},{"type":502,"tag":520,"props":1090,"children":1092},{"className":1091},[],[1093],{"type":515,"value":686},{"type":515,"value":1095}," well; the consumer owns stack spacing (",{"type":502,"tag":520,"props":1097,"children":1099},{"className":1098},[],[1100],{"type":515,"value":1101},"space-y-4",{"type":515,"value":1103},") so the well tint shows through the gaps. Close stays the ExpandRow's sticky X (no per-section X). New evaluation page ",{"type":502,"tag":520,"props":1105,"children":1107},{"className":1106},[],[1108],{"type":515,"value":1109},"\u002Fpages\u002Finventory-agent-expand-v2",{"type":515,"value":1111}," — the agent-expand mock rebuilt as three sections (header+identity · Quick Overview\u002FRecent Sessions · Surface), the original single-card page kept untouched for side-by-side comparison; both registered in ",{"type":502,"tag":520,"props":1113,"children":1115},{"className":1114},[],[1116],{"type":515,"value":1117},"page-registry.ts",{"type":515,"value":1119},". Documented: ",{"type":502,"tag":520,"props":1121,"children":1123},{"className":1122},[],[1124],{"type":515,"value":1125},"_demos\u002FUxTableListExpandSection.vue",{"type":515,"value":1127}," + registry entry (table group). Headless-verified 11\u002F11 (3 borderless 24px-pad cards, 16px tinted gaps, X collapses, compact-panel invariants, ",{"type":502,"tag":520,"props":1129,"children":1131},{"className":1130},[],[1132],{"type":515,"value":1133},"Show all 12",{"type":515,"value":1135}," toggle, clean console). ",{"type":502,"tag":511,"props":1137,"children":1138},{},[1139],{"type":515,"value":980},{"type":515,"value":1141}," the ExpandRow X abuts section 1's right edge in the ",{"type":502,"tag":520,"props":1143,"children":1145},{"className":1144},[],[1146],{"type":515,"value":1147},"px-8",{"type":515,"value":1149}," gutter (dx 0) rather than sitting inside the card padding as the comp draws — same geometry as the single-card page; moving it means touching ExpandRow's ",{"type":502,"tag":520,"props":1151,"children":1153},{"className":1152},[],[1154],{"type":515,"value":1155},"right-14",{"type":515,"value":1157},", which qdash consumes. Joins the pending layer release (with NavJumpPills, AgentInline, UxShowMore, UxPixelArt, the SurfacePanel-era compact props).",{"project":9,"cycle":50,"dir":52,"title":53,"date":4,"lead":1159,"long":24,"ast":1160},"Iteration 5 , the primary slot)",{"type":499,"children":1161},[1162],{"type":502,"tag":503,"props":1163,"children":1164},{},[1165],{"type":502,"tag":507,"props":1166,"children":1167},{},[1168,1173,1175,1181,1183,1189],{"type":502,"tag":511,"props":1169,"children":1170},{},[1171],{"type":515,"value":1172},"Iteration 5 (2026-08-03, the primary slot):",{"type":515,"value":1174}," analysis of the v2 overview against the fleet-lens questions — the band answers coverage (#2) and risk (#4) but never presence (#1, \"alive right now\"), and \"34 of 39 installs\" beside \"34 monitored\" agents leaves the page's noun ambiguous. Four concepts appended to ",{"type":502,"tag":520,"props":1176,"children":1178},{"className":1177},[],[1179],{"type":515,"value":1180},"\u002Fpages\u002Finventory-overview-ideas",{"type":515,"value":1182}," as a Round 2 (smoke-checked, 200): (4) presence hero — 34-agent count + state-segmented bar in the coverage bar's visual language (AgentInline vocabulary; 20 active · 10 idle · 2 stopped · 2 errored, per-segment hover for who); (5) presence funnel — 39 installs → 34 monitored → 31 seen 7d → 20 active now, a dormancy step that breaks the unrealistic 34-installs = 34-agents coincidence; (6) shadow-first exception — the five named unmonitored chips with onboard → promoted to the hero, the % demoted to sub-line; (7) recommended composition — hero + funnel sub-line, coverage relabeled \"Install coverage\" + at-risk demoted into v2's deliberately-empty right side, v2 footprint strip verbatim. Backing roster of 34 cross-foots per-machine monitored counts and harness totals (CC 20 · Codex 6 · Cursor 6 · Gemini 2). Caveat carried from ",{"type":502,"tag":520,"props":1184,"children":1186},{"className":1185},[],[1187],{"type":515,"value":1188},"buildability.md",{"type":515,"value":1190},": presence states are category C (running\u002Fstopped + derivable errored\u002Fidle today) — the hero makes that bet prominent by design.",{"project":9,"cycle":50,"dir":52,"title":53,"date":4,"lead":1192,"long":24,"ast":1193},"Iteration 6 , Mark's review of Round 2)",{"type":499,"children":1194},[1195],{"type":502,"tag":503,"props":1196,"children":1197},{},[1198],{"type":502,"tag":507,"props":1199,"children":1200},{},[1201,1206,1208,1213,1215,1221,1223,1228,1230,1235,1237,1242,1244,1250,1252,1258,1260,1266,1268,1274],{"type":502,"tag":511,"props":1202,"children":1203},{},[1204],{"type":515,"value":1205},"Iteration 6 (2026-08-03, Mark's review of Round 2):",{"type":515,"value":1207}," Idea 7 refined into ",{"type":502,"tag":511,"props":1209,"children":1210},{},[1211],{"type":515,"value":1212},"Idea 7b \"Uniform tiles\"",{"type":515,"value":1214}," (7 preserved as-built): the 44\u002F36 hero-vs-secondary size split read as misalignment, so all three tiles share ",{"type":502,"tag":520,"props":1216,"children":1218},{"className":1217},[],[1219],{"type":515,"value":1220},":size=44",{"type":515,"value":1222}," and one sub-item rhythm (number → h-4 bar row → text-12 caption; At-risk's caption sits on the bar line). Verbiage: coverage tile relabeled ",{"type":502,"tag":511,"props":1224,"children":1225},{},[1226],{"type":515,"value":1227},"\"Visibility - what is monitored\"",{"type":515,"value":1229}," (the do-we-have-eyes-on-it word; plain hyphen), its caption switched to the Agents-legend totals style (swatch dot + bold count: ● 34 monitored · ● 5 shadow); funnel chain moved to a caption beneath the box; secondaries left-aligned (a floor-alignment experiment was tried and reverted). ",{"type":502,"tag":511,"props":1231,"children":1232},{},[1233],{"type":515,"value":1234},"At-risk renumbered fleet-wide 5 → 4 (2 critical + 2 at-risk)",{"type":515,"value":1236}," on the active pages (ledger-v2 + all overview-ideas tiles + the Idea-1 spark) — the double-5 next to \"5 shadow\" manufactured a redundancy read; the two are different axes (posture of the monitored vs installs unseen), and 7b's At-risk label now says so: ",{"type":502,"tag":511,"props":1238,"children":1239},{},[1240],{"type":515,"value":1241},"\"At-risk - agent posture\"",{"type":515,"value":1243},". Shadow stays amber, not red: red = confirmed bad (critical\u002Ferrored), amber = unknown\u002Fattention — consistent with every c59 shadow surface. Archived pages (roster, ledger v1\u002Fv3) keep the old 5 as historical snapshots. Also fixed while reviewing: ",{"type":502,"tag":520,"props":1245,"children":1247},{"className":1246},[],[1248],{"type":515,"value":1249},"SparkChartOld.vue",{"type":515,"value":1251},"'s un-scoped ",{"type":502,"tag":520,"props":1253,"children":1255},{"className":1254},[],[1256],{"type":515,"value":1257},"polygon, polyline { v-bind(...) }",{"type":515,"value":1259}," style block leaked document-wide and turned every hand-rolled spark solid black (fill collapsed to the SVG default outside the component); scoped it plus ",{"type":502,"tag":520,"props":1261,"children":1263},{"className":1262},[],[1264],{"type":515,"value":1265},"Trend.vue",{"type":515,"value":1267},"\u002F",{"type":502,"tag":520,"props":1269,"children":1271},{"className":1270},[],[1272],{"type":515,"value":1273},"TrendDirection.vue",{"type":515,"value":1275}," — gotcha added to memory.",{"project":9,"cycle":50,"dir":52,"title":53,"date":4,"lead":1277,"long":24,"ast":1278},"Iteration 6 addendum",{"type":499,"children":1279},[1280],{"type":502,"tag":503,"props":1281,"children":1282},{},[1283],{"type":502,"tag":507,"props":1284,"children":1285},{},[1286,1291,1293,1299,1301,1306,1308,1314,1316,1325,1327,1333,1334,1345],{"type":502,"tag":511,"props":1287,"children":1288},{},[1289],{"type":515,"value":1290},"Iteration 6 addendum (2026-08-03):",{"type":515,"value":1292}," layer additions from the round — ",{"type":502,"tag":520,"props":1294,"children":1296},{"className":1295},[],[1297],{"type":515,"value":1298},"DataMetric_Base",{"type":515,"value":1300}," gained a ",{"type":502,"tag":511,"props":1302,"children":1303},{},[1304],{"type":515,"value":1305},"default slot",{"type":515,"value":1307}," (content renders inside the inline-block root so the label hairline spans it; documented in the demo + registry), and ",{"type":502,"tag":520,"props":1309,"children":1311},{"className":1310},[],[1312],{"type":515,"value":1313},"DataMetricValue",{"type":515,"value":1315}," got ",{"type":502,"tag":511,"props":1317,"children":1318},{},[1319],{"type":502,"tag":520,"props":1320,"children":1322},{"className":1321},[],[1323],{"type":515,"value":1324},"line-height: 1.05",{"type":515,"value":1326}," on both value and unit (display-numeral leading: the inherited 1.5 reserved ~22px of dead air under 44px values, and the unit's taller line box misaligned tiles with units). 7b also lost its vertical separators and widened to ",{"type":502,"tag":520,"props":1328,"children":1330},{"className":1329},[],[1331],{"type":515,"value":1332},"gap-x-20",{"type":515,"value":975},{"type":502,"tag":511,"props":1335,"children":1336},{},[1337,1339],{"type":515,"value":1338},"The finished 7b band was then applied to ",{"type":502,"tag":520,"props":1340,"children":1342},{"className":1341},[],[1343],{"type":515,"value":1344},"\u002Fpages\u002Finventory-ledger-v2",{"type":515,"value":1346}," as its overview (34-agent roster + presence helpers copied over, funnel caption beneath the box, provenance comment updated) — the ledger mock now leads with presence. Both layer changes ride the pending release.",[1348,1401,1405,1409,1413,1432],{"id":9,"label":10,"commits":1349},[1350,1353,1356,1359,1362,1365,1368,1371,1374,1377,1380,1383,1386,1389,1392,1395,1398],{"repo":9,"sha":1351,"date":612,"subject":1352,"pr":20},"912c6456b2","c59\u002Fc60: agent-detail-v2 — combined header mock (pawn + score + cost + metadata toggle)",{"repo":9,"sha":1354,"date":612,"subject":1355,"pr":20},"ecca933ce3","c59 iteration 7+8: agent expand-row mocks, expand-section close redesign, DataSurfacePanel",{"repo":9,"sha":1357,"date":40,"subject":1358,"pr":20},"a3d15d3659","components: registry + page-registry catch-up across c48–c60, gap-pass demos",{"repo":9,"sha":1360,"date":40,"subject":1361,"pr":20},"04c45e7d6f","c59\u002Fc60: inventory — ledger\u002Froster\u002Ffleet-overview mocks, NavJumpPills + inline entity demos",{"repo":9,"sha":1363,"date":40,"subject":1364,"pr":20},"e94180714d","c58: agent mini card — AgentMiniCard\u002FAgentInputBubble demos + four-state mock page",{"repo":9,"sha":1366,"date":40,"subject":1367,"pr":20},"54e3fa684a","c57: pixel pawns — AgentPawn state system, AgentBinary, UxPixelArt demos",{"repo":9,"sha":1369,"date":40,"subject":1370,"pr":20},"88d7dc29bb","c56: compliance framework pages — compliance mock + ComplianceFrameworkIcon demo",{"repo":9,"sha":1372,"date":40,"subject":1373,"pr":20},"5f583dc763","c55: agent market definition — page × persona analysis, cycle docs",{"repo":9,"sha":1375,"date":40,"subject":1376,"pr":20},"a28be02c25","c54: policy enforcement page — v1\u002Fv2 mocks, policy cell suite demos, UxTabGroup",{"repo":9,"sha":1378,"date":40,"subject":1379,"pr":20},"faf2625d2e","c53: agentic workflows — initial prompt (parked)",{"repo":9,"sha":1381,"date":40,"subject":1382,"pr":20},"0f9083cefd","c52: dark mode (subtle) — live theme editor, theme picker, file-backed themes",{"repo":9,"sha":1384,"date":40,"subject":1385,"pr":20},"9181f7a029","c51: app consolidation — \u002Flayer\u002Fconsolidation-gaps page with qdash\u002Fqglass replicas",{"repo":9,"sha":1387,"date":40,"subject":1388,"pr":20},"7fa8fe07f2","c50: agent details page — full page mock plus DataCard\u002FDataDonutChart\u002FDataSmile demos",{"repo":9,"sha":1390,"date":40,"subject":1391,"pr":20},"b8926acd15","c49: cloudflare deploy fix — cycle docs (root-cause writeup, blocked on CF secrets)",{"repo":9,"sha":1393,"date":40,"subject":1394,"pr":20},"9d4171bff8","c48: design site on layer — swap local components for layer primitives, semantic token sweep",{"repo":9,"sha":1396,"date":40,"subject":1397,"pr":20},"1c40124c21","components: document UxShowMore (capped-list overflow control, layer 0.9.5)",{"repo":9,"sha":1399,"date":4,"subject":1400,"pr":20},"2ef6b8a396","bump @qpoint-io\u002Fq-nuxt-layer lockfile pin to 0.9.3",{"id":134,"label":135,"commits":1402},[1403],{"repo":134,"sha":1404,"date":4,"subject":1400,"pr":20},"44f6216",{"id":124,"label":125,"commits":1406},[1407],{"repo":124,"sha":1408,"date":4,"subject":1400,"pr":20},"b2d5d6d",{"id":483,"label":484,"commits":1410},[1411],{"repo":483,"sha":1412,"date":4,"subject":1400,"pr":20},"dd0f802",{"id":1414,"label":1414,"commits":1415},"qcontrol",[1416,1420,1424,1428],{"repo":1414,"sha":1417,"date":612,"subject":1418,"pr":1419},"afc8e8277","Initial Dashboard MVP (#642)",642,{"repo":1414,"sha":1421,"date":612,"subject":1422,"pr":1423},"292b3d9d0","Introduce first-class tap modes (#646)",646,{"repo":1414,"sha":1425,"date":40,"subject":1426,"pr":1427},"e3e402828","Add script for linux dev setup (#645)",645,{"repo":1414,"sha":1429,"date":40,"subject":1430,"pr":1431},"1f4922480","Unify monitor event delivery (#639)",639,{"id":1433,"label":1434,"commits":1435},"layer","q-nuxt-layer",[1436,1439,1442,1445,1448,1451,1454,1457,1460,1463,1466,1469,1472,1476],{"repo":1433,"sha":1437,"date":612,"subject":1438,"pr":20},"ce4492f","v0.9.6: expand-row section chrome + DataSurfacePanel (c59\u002Fc60), with migration notes",{"repo":1433,"sha":1440,"date":612,"subject":1441,"pr":20},"d932d74","c59\u002Fc60 expand-row port: section-card close chrome, DataSurfacePanel, UxButton size",{"repo":1433,"sha":1443,"date":40,"subject":1444,"pr":20},"c44f5f0","AgentPawn\u002FAgentInline: remove provider face-logo overlay",{"repo":1433,"sha":1446,"date":40,"subject":1447,"pr":20},"0e79b31","PercentBar compact mode + IdentityItem type notch (c59 expand card)",{"repo":1433,"sha":1449,"date":40,"subject":1450,"pr":20},"aec3512","UxTableListExpandSection: borderless section card for expand-row wells",{"repo":1433,"sha":1452,"date":40,"subject":1453,"pr":20},"6bee688","v0.9.5: UxShowMore — canonical capped-list overflow control",{"repo":1433,"sha":1455,"date":40,"subject":1456,"pr":20},"d1ef085","v0.9.4: NavJumpPills, brand-logo icon tier, DataTable limit+footer, folder\u002Fendpoint icons",{"repo":1433,"sha":1458,"date":40,"subject":1459,"pr":20},"57edfe1","icons: add folder (workspace\u002Fdir mark, stroke themes via currentColor)",{"repo":1433,"sha":1461,"date":47,"subject":1462,"pr":20},"f995047","NavJumpPills: grape-300 border while any section is active",{"repo":1433,"sha":1464,"date":47,"subject":1465,"pr":20},"95ae97d","ExpandRow: keep the close X inside the visible scrollport",{"repo":1433,"sha":1467,"date":47,"subject":1468,"pr":20},"78c00fd","UxIcon: resolve third-party brand logos as an icon tier",{"repo":1433,"sha":1470,"date":47,"subject":1471,"pr":20},"6e233c1","DataTable: add limit prop + footer slot for capped tables",{"repo":1433,"sha":1473,"date":1474,"subject":1475,"pr":20},"188985b","2026-08-04","updated icons and added endpoint icons",{"repo":1433,"sha":1477,"date":4,"subject":1478,"pr":20},"0f9a0d6","v0.9.3: UxPixelArt themed pixel-art renderer + endpoint pawn family",[1480,1482,1484,1486],{"tag":1481,"date":612,"subject":1438},"v0.9.6",{"tag":1483,"date":40,"subject":1453},"v0.9.5",{"tag":1485,"date":40,"subject":1456},"v0.9.4",{"tag":1487,"date":4,"subject":1478},"v0.9.3",[],[],[],[],[1493],"Deploys come from this checkout's deploy-branch reflog, which starts 2026-10-16.","2026-07-27","2026-08-10",1794599492304]