[{"data":1,"prerenderedAt":2018},["ShallowReactive",2],{"cycle-doc-bob-wire-c15-initial-plan.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":20},{"id":5,"title":6},"c15","Agent Dashboard",{"id":8,"label":9},"bob-wire","Bob-Wire","initial-plan.md","c15 — Initial Plan: Agent Dashboard",[13,14,15,16,17,18,19],"Context","Phase 1 — Analysis ✅ (complete)","Phase 2 — Wireframing: explore fixes (for the second agent)","Phase 3 — Mockups (for the second agent)","Build order","Verification","Open questions for the requester",{"type":21,"children":22},"root",[23,70,127,139,143,149,193,201,246,249,254,269,277,311,314,319,374,381,444,477,483,491,530,545,581,595,631,645,689,703,739,762,768,788,794,966,969,974,1025,1031,1050,1102,1112,1125,1130,1378,1388,1497,1516,1522,1534,1614,1620,1786,1789,1794,1802,1874,1910,1915,1995,2000],{"type":24,"tag":25,"props":26,"children":27},"element","p",{},[28,31,43,45,51,53,63,65],{"type":29,"value":30},"text","This is the executable master plan for the c15 cycle, produced from\n",{"type":24,"tag":32,"props":33,"children":35},"a",{"href":34},"\u002Fcycles\u002Fbob-wire\u002Fc15\u002Fdoc\u002Finitial-prompt",[36],{"type":24,"tag":37,"props":38,"children":40},"code",{"className":39},[],[41],{"type":29,"value":42},"initial-prompt.md",{"type":29,"value":44},". ",{"type":24,"tag":46,"props":47,"children":48},"strong",{},[49],{"type":29,"value":50},"Phase 1 is complete",{"type":29,"value":52}," (see\n",{"type":24,"tag":32,"props":54,"children":56},{"href":55},"\u002Fcycles\u002Fbob-wire\u002Fc15\u002Fdoc\u002Fphase1-analysis",[57],{"type":24,"tag":37,"props":58,"children":60},{"className":59},[],[61],{"type":29,"value":62},"phase1-analysis.md",{"type":29,"value":64},"). ",{"type":24,"tag":46,"props":66,"children":67},{},[68],{"type":29,"value":69},"Phases 2 and 3 are laid out here for a\nsecond agent to execute:",{"type":24,"tag":71,"props":72,"children":73},"ul",{},[74,93],{"type":24,"tag":75,"props":76,"children":77},"li",{},[78,83,85,91],{"type":24,"tag":46,"props":79,"children":80},{},[81],{"type":29,"value":82},"Phase 2 — Wireframing:",{"type":29,"value":84}," a divergent lo-fi pass that explores alternative ",{"type":24,"tag":86,"props":87,"children":88},"em",{},[89],{"type":29,"value":90},"fixes",{"type":29,"value":92}," to\nthe Phase 1 deficits (both net-new governance pages and in-place reframes).",{"type":24,"tag":75,"props":94,"children":95},{},[96,101,103,109,111,117,119,125],{"type":24,"tag":46,"props":97,"children":98},{},[99],{"type":29,"value":100},"Phase 3 — Mockups:",{"type":29,"value":102}," the winning wireframe directions graduate to hi-fi — ",{"type":24,"tag":37,"props":104,"children":106},{"className":105},[],[107],{"type":29,"value":108},"m1",{"type":29,"value":110},"\nconstrained to existing ",{"type":24,"tag":37,"props":112,"children":114},{"className":113},[],[115],{"type":29,"value":116},"..\u002Fq-nuxt-layer",{"type":29,"value":118}," components, ",{"type":24,"tag":37,"props":120,"children":122},{"className":121},[],[123],{"type":29,"value":124},"m2",{"type":29,"value":126}," unconstrained.",{"type":24,"tag":25,"props":128,"children":129},{},[130,132,137],{"type":29,"value":131},"Both phases are scoped ",{"type":24,"tag":86,"props":133,"children":134},{},[135],{"type":29,"value":136},"from",{"type":29,"value":138}," the Phase 1 findings.",{"type":24,"tag":140,"props":141,"children":142},"hr",{},[],{"type":24,"tag":144,"props":145,"children":147},"h2",{"id":146},"context",[148],{"type":29,"value":13},{"type":24,"tag":25,"props":150,"children":151},{},[152,154,159,161,167,169,175,177,184,186,191],{"type":29,"value":153},"Qpoint is shifting toward ",{"type":24,"tag":46,"props":155,"children":156},{},[157],{"type":29,"value":158},"agent governance",{"type":29,"value":160},". The existing product wireframe (",{"type":24,"tag":37,"props":162,"children":164},{"className":163},[],[165],{"type":29,"value":166},"wf1",{"type":29,"value":168},", in\n",{"type":24,"tag":37,"props":170,"children":172},{"className":171},[],[173],{"type":29,"value":174},"..\u002Fapp.qpoint.io",{"type":29,"value":176},", ",{"type":24,"tag":32,"props":178,"children":182},{"href":179,"rel":180},"http:\u002F\u002Flocalhost:7878\u002F",[181],"nofollow",[183],{"type":29,"value":179},{"type":29,"value":185},") is a ~45-page API\u002Ftraffic observability app\nwith only an emerging agent angle (MCP clients, dataset views, proxy egress control). The\ncycle re-evaluates that app through an agent-governance lens for three mandate-owners —\n",{"type":24,"tag":46,"props":187,"children":188},{},[189],{"type":29,"value":190},"Security, Finance, Executive",{"type":29,"value":192}," — and then mocks up a stronger version.",{"type":24,"tag":25,"props":194,"children":195},{},[196],{"type":24,"tag":46,"props":197,"children":198},{},[199],{"type":29,"value":200},"Headline conclusions from Phase 1 (drive Phase 2):",{"type":24,"tag":71,"props":202,"children":203},{},[204,214,224,234],{"type":24,"tag":75,"props":205,"children":206},{},[207,212],{"type":24,"tag":46,"props":208,"children":209},{},[210],{"type":29,"value":211},"Security",{"type":29,"value":213}," is structurally well-served but speaks \"traffic\u002FPII,\" not \"agents\u002FLLMs.\"",{"type":24,"tag":75,"props":215,"children":216},{},[217,222],{"type":24,"tag":46,"props":218,"children":219},{},[220],{"type":29,"value":221},"Finance is unserved",{"type":29,"value":223}," — the app measures bytes, never tokens or dollars. Biggest gap.",{"type":24,"tag":75,"props":225,"children":226},{},[227,232],{"type":24,"tag":46,"props":228,"children":229},{},[230],{"type":29,"value":231},"Executive",{"type":29,"value":233}," value is scattered across operator pages; no board-level posture surface.",{"type":24,"tag":75,"props":235,"children":236},{},[237,239,244],{"type":29,"value":238},"The app is ",{"type":24,"tag":46,"props":240,"children":241},{},[242],{"type":29,"value":243},"missing six net-new exec\u002Ffinance pages",{"type":29,"value":245},"; the top three close the mandate.",{"type":24,"tag":140,"props":247,"children":248},{},[],{"type":24,"tag":144,"props":250,"children":252},{"id":251},"phase-1-analysis-complete",[253],{"type":29,"value":14},{"type":24,"tag":25,"props":255,"children":256},{},[257,259,267],{"type":29,"value":258},"Delivered: ",{"type":24,"tag":32,"props":260,"children":261},{"href":55},[262],{"type":24,"tag":37,"props":263,"children":265},{"className":264},[],[266],{"type":29,"value":62},{"type":29,"value":268}," — per-page evaluation (purpose +\nSecurity\u002FFinance\u002FExecutive 0–5 scores + opportunities for all ~45 pages), per-persona\nevaluation, additional-personas recommendation, and the net-new exec\u002Ffinance page gaps.",{"type":24,"tag":25,"props":270,"children":271},{},[272],{"type":24,"tag":46,"props":273,"children":274},{},[275],{"type":29,"value":276},"Carry-forward decisions for Phase 2:",{"type":24,"tag":71,"props":278,"children":279},{},[280,299],{"type":24,"tag":75,"props":281,"children":282},{},[283,285,290,292,297],{"type":29,"value":284},"Keep ",{"type":24,"tag":46,"props":286,"children":287},{},[288],{"type":29,"value":289},"Security \u002F Finance \u002F Executive",{"type":29,"value":291}," as headline stakeholder columns; ",{"type":24,"tag":46,"props":293,"children":294},{},[295],{"type":29,"value":296},"add\nEngineering\u002FPlatform and Compliance\u002FPrivacy",{"type":29,"value":298}," as secondary columns (they own real pages\nand the pivot raises their importance).",{"type":24,"tag":75,"props":300,"children":301},{},[302,304,309],{"type":29,"value":303},"The structural fix that lifts the whole app: an ",{"type":24,"tag":46,"props":305,"children":306},{},[307],{"type":29,"value":308},"agent \u002F model \u002F identity dimension",{"type":29,"value":310},"\n(vs. today's Vendor\u002FClient\u002FEndpoint pivot). Carry this into every mockup.",{"type":24,"tag":140,"props":312,"children":313},{},[],{"type":24,"tag":144,"props":315,"children":317},{"id":316},"phase-2-wireframing-explore-fixes-for-the-second-agent",[318],{"type":29,"value":15},{"type":24,"tag":25,"props":320,"children":321},{},[322,324,329,331,335,337,342,344,349,351,356,358,364,366,372],{"type":29,"value":323},"A ",{"type":24,"tag":46,"props":325,"children":326},{},[327],{"type":29,"value":328},"divergent",{"type":29,"value":330}," lo-fi pass that explores alternative ",{"type":24,"tag":86,"props":332,"children":333},{},[334],{"type":29,"value":90},{"type":29,"value":336}," to the Phase 1 deficits before\ncommitting to hi-fi. Covers ",{"type":24,"tag":46,"props":338,"children":339},{},[340],{"type":29,"value":341},"both",{"type":29,"value":343}," net-new governance pages and in-place reframes of the\nhighest-value existing pages. Each ",{"type":24,"tag":86,"props":345,"children":346},{},[347],{"type":29,"value":348},"problem",{"type":29,"value":350}," gets ",{"type":24,"tag":46,"props":352,"children":353},{},[354],{"type":29,"value":355},"2–3 divergent wireframe directions",{"type":29,"value":357}," to\ncompare; the winning direction per problem graduates to the Phase 3 mockups. Lo-fi ",{"type":24,"tag":37,"props":359,"children":361},{"className":360},[],[362],{"type":29,"value":363},"Wire*",{"type":29,"value":365},"\ncomponents, grey aesthetic, ",{"type":24,"tag":37,"props":367,"children":369},{"className":368},[],[370],{"type":29,"value":371},"definePageMeta({ layout: 'wireframe' })",{"type":29,"value":373},".",{"type":24,"tag":375,"props":376,"children":378},"h3",{"id":377},"p1-resolved-direction-d-persona-partitioned",[379],{"type":29,"value":380},"P1 — RESOLVED → Direction D (persona-partitioned)",{"type":24,"tag":25,"props":382,"children":383},{},[384,386,392,394,400,402,408,409,415,416,422,423,428,430,435,437,442],{"type":29,"value":385},"P1 explored four IA bets (feature ",{"type":24,"tag":37,"props":387,"children":389},{"className":388},[],[390],{"type":29,"value":391},"governance-ia-v1",{"type":29,"value":393},": ",{"type":24,"tag":37,"props":395,"children":397},{"className":396},[],[398],{"type":29,"value":399},"dedicated-section",{"type":29,"value":401},",\n",{"type":24,"tag":37,"props":403,"children":405},{"className":404},[],[406],{"type":29,"value":407},"dashboard-reframe",{"type":29,"value":176},{"type":24,"tag":37,"props":410,"children":412},{"className":411},[],[413],{"type":29,"value":414},"lens-overlay",{"type":29,"value":176},{"type":24,"tag":37,"props":417,"children":419},{"className":418},[],[420],{"type":29,"value":421},"persona-partitioned",{"type":29,"value":64},{"type":24,"tag":46,"props":424,"children":425},{},[426],{"type":29,"value":427},"Decision: Direction D —\npersona-partitioned",{"type":29,"value":429},", with ",{"type":24,"tag":46,"props":431,"children":432},{},[433],{"type":29,"value":434},"all five seats first-class",{"type":29,"value":436}," (Security, Finance, Executive,\nEngineering, Compliance) and ",{"type":24,"tag":46,"props":438,"children":439},{},[440],{"type":29,"value":441},"pure-D landings",{"type":29,"value":443}," (each seat = an at-a-glance strip + a flat\ngrid of its page-cards; content duplicated across seats where a page serves more than one).",{"type":24,"tag":25,"props":445,"children":446},{},[447,452,454,459,461,467,469,475],{"type":24,"tag":46,"props":448,"children":449},{},[450],{"type":29,"value":451},"Consequence for P2–P5:",{"type":29,"value":453}," the deep pages below are no longer organized by feature — they\nbecome the ",{"type":24,"tag":46,"props":455,"children":456},{},[457],{"type":29,"value":458},"deep pages of the persona app",{"type":29,"value":460}," (new feature ",{"type":24,"tag":37,"props":462,"children":464},{"className":463},[],[465],{"type":29,"value":466},"persona-app-v1",{"type":29,"value":468},"), reachable from\nthe seat that owns them and re-used (duplicated) across seats per the matrix in\n",{"type":24,"tag":37,"props":470,"children":472},{"className":471},[],[473],{"type":29,"value":474},"persona-partitioned.vue",{"type":29,"value":476},". The persona app shell switches seats client-side; deep pages\ncarry a persona breadcrumb + back-to-seat link.",{"type":24,"tag":375,"props":478,"children":480},{"id":479},"problems-now-persona-app-deep-pages-candidate-divergent-directions",[481],{"type":29,"value":482},"Problems (now persona-app deep pages) & candidate divergent directions",{"type":24,"tag":25,"props":484,"children":485},{},[486],{"type":24,"tag":46,"props":487,"children":488},{},[489],{"type":29,"value":490},"P1 — Where does governance live? (IA \u002F structural — do first; it frames the rest)",{"type":24,"tag":71,"props":492,"children":493},{},[494,506,518],{"type":24,"tag":75,"props":495,"children":496},{},[497,499,504],{"type":29,"value":498},"(a) ",{"type":24,"tag":46,"props":500,"children":501},{},[502],{"type":29,"value":503},"Dedicated section",{"type":29,"value":505}," — a new top-level \"Agent Governance\" area with its own pages.",{"type":24,"tag":75,"props":507,"children":508},{},[509,511,516],{"type":29,"value":510},"(b) ",{"type":24,"tag":46,"props":512,"children":513},{},[514],{"type":29,"value":515},"Dashboard reframe",{"type":29,"value":517}," — recast the existing overview into three stakeholder lanes\n(Egress \u002F Spend \u002F Posture); governance becomes the home, not a sub-section.",{"type":24,"tag":75,"props":519,"children":520},{},[521,523,528],{"type":29,"value":522},"(c) ",{"type":24,"tag":46,"props":524,"children":525},{},[526],{"type":29,"value":527},"Governance lens overlay",{"type":29,"value":529}," — a toggle that re-pivots existing traffic\u002Finventory pages\nby agent and overlays posture\u002Fspend; no new section (minimal-change direction).",{"type":24,"tag":25,"props":531,"children":532},{},[533,538,540],{"type":24,"tag":46,"props":534,"children":535},{},[536],{"type":29,"value":537},"P2 — Executive posture",{"type":29,"value":539}," ",{"type":24,"tag":86,"props":541,"children":542},{},[543],{"type":29,"value":544},"(net-new: Posture Board; folds in the Risk Register)",{"type":24,"tag":71,"props":546,"children":547},{},[548,559,570],{"type":24,"tag":75,"props":549,"children":550},{},[551,552,557],{"type":29,"value":498},{"type":24,"tag":46,"props":553,"children":554},{},[555],{"type":29,"value":556},"Governance-index scorecard",{"type":29,"value":558}," — one headline score + drill-down, board-deck style.",{"type":24,"tag":75,"props":560,"children":561},{},[562,563,568],{"type":29,"value":510},{"type":24,"tag":46,"props":564,"children":565},{},[566],{"type":29,"value":567},"Coverage & risk control-tower",{"type":29,"value":569}," — health dials + open findings + egress stance.",{"type":24,"tag":75,"props":571,"children":572},{},[573,574,579],{"type":29,"value":522},{"type":24,"tag":46,"props":575,"children":576},{},[577],{"type":29,"value":578},"State-of-governance report",{"type":29,"value":580}," — narrative sections + trends, exportable board report.",{"type":24,"tag":25,"props":582,"children":583},{},[584,589,590],{"type":24,"tag":46,"props":585,"children":586},{},[587],{"type":29,"value":588},"P3 — Finance spend",{"type":29,"value":539},{"type":24,"tag":86,"props":591,"children":592},{},[593],{"type":29,"value":594},"(net-new Spend Report + bytes→token\u002F$ reframe)",{"type":24,"tag":71,"props":596,"children":597},{},[598,609,620],{"type":24,"tag":75,"props":599,"children":600},{},[601,602,607],{"type":29,"value":498},{"type":24,"tag":46,"props":603,"children":604},{},[605],{"type":29,"value":606},"Spend-by-agent ledger",{"type":29,"value":608}," — table-first chargeback view.",{"type":24,"tag":75,"props":610,"children":611},{},[612,613,618],{"type":29,"value":510},{"type":24,"tag":46,"props":614,"children":615},{},[616],{"type":29,"value":617},"Spend-by-vendor breakdown",{"type":29,"value":619}," — budget burn by LLM provider.",{"type":24,"tag":75,"props":621,"children":622},{},[623,624,629],{"type":29,"value":522},{"type":24,"tag":46,"props":625,"children":626},{},[627],{"type":29,"value":628},"Budget & forecast",{"type":29,"value":630}," — trend + burn-down + per-agent spend ceilings\u002Falerts.",{"type":24,"tag":25,"props":632,"children":633},{},[634,639,640],{"type":24,"tag":46,"props":635,"children":636},{},[637],{"type":29,"value":638},"P4 — Agent identity",{"type":29,"value":539},{"type":24,"tag":86,"props":641,"children":642},{},[643],{"type":29,"value":644},"(net-new Registry + agent dimension on analytics)",{"type":24,"tag":71,"props":646,"children":647},{},[648,659,670],{"type":24,"tag":75,"props":649,"children":650},{},[651,652,657],{"type":29,"value":498},{"type":24,"tag":46,"props":653,"children":654},{},[655],{"type":29,"value":656},"Agent registry",{"type":29,"value":658}," — list of every agent (owner, model, creds, scope, risk, spend).",{"type":24,"tag":75,"props":660,"children":661},{},[662,663,668],{"type":29,"value":510},{"type":24,"tag":46,"props":664,"children":665},{},[666],{"type":29,"value":667},"Agent profile",{"type":29,"value":669}," — one agent's full story (egress, data, spend, policy) + thin index.",{"type":24,"tag":75,"props":671,"children":672},{},[673,674,679,681,687],{"type":29,"value":522},{"type":24,"tag":46,"props":675,"children":676},{},[677],{"type":29,"value":678},"Agent-dimension retrofit",{"type":29,"value":680}," — add \"by agent\" to the existing clients\u002Ftraffic pages\n(minimal-change direction; touches the shared ",{"type":24,"tag":37,"props":682,"children":684},{"className":683},[],[685],{"type":29,"value":686},"GroupBy.vue",{"type":29,"value":688}," pivot).",{"type":24,"tag":25,"props":690,"children":691},{},[692,697,698],{"type":24,"tag":46,"props":693,"children":694},{},[695],{"type":29,"value":696},"P5 — Egress & data control",{"type":29,"value":539},{"type":24,"tag":86,"props":699,"children":700},{},[701],{"type":29,"value":702},"(net-new Egress Matrix + Sensitive-Data→LLM flow)",{"type":24,"tag":71,"props":704,"children":705},{},[706,717,728],{"type":24,"tag":75,"props":707,"children":708},{},[709,710,715],{"type":29,"value":498},{"type":24,"tag":46,"props":711,"children":712},{},[713],{"type":29,"value":714},"Allow\u002Fdeny matrix",{"type":29,"value":716}," — agents × destinations grid, default-deny posture.",{"type":24,"tag":75,"props":718,"children":719},{},[720,721,726],{"type":29,"value":510},{"type":24,"tag":46,"props":722,"children":723},{},[724],{"type":29,"value":725},"Data-flow \u002F sankey",{"type":29,"value":727}," — agent→model sensitive-data flows, allowed\u002Fblocked overlay.",{"type":24,"tag":75,"props":729,"children":730},{},[731,732,737],{"type":29,"value":522},{"type":24,"tag":46,"props":733,"children":734},{},[735],{"type":29,"value":736},"Policy-pack list",{"type":29,"value":738}," — installable governance rule bundles + per-rule coverage.",{"type":24,"tag":740,"props":741,"children":742},"blockquote",{},[743],{"type":24,"tag":25,"props":744,"children":745},{},[746,748,753,755,760],{"type":29,"value":747},"Directions are starting points, not locked. ",{"type":24,"tag":46,"props":749,"children":750},{},[751],{"type":29,"value":752},"Confirm which problems to explore and how\nmany directions each",{"type":29,"value":754}," before building. ",{"type":24,"tag":46,"props":756,"children":757},{},[758],{"type":29,"value":759},"Recommended priority:",{"type":29,"value":761}," P1 first (it gates the\nrest), then P2–P4 (the three primary stakeholders), then P5.",{"type":24,"tag":375,"props":763,"children":765},{"id":764},"cheap-in-place-wins-no-wireframe-needed-call-out-as-direct-fixes-in-briefs",[766],{"type":29,"value":767},"Cheap in-place wins (no wireframe needed — call out as direct fixes in briefs)",{"type":24,"tag":25,"props":769,"children":770},{},[771,773,779,781,787],{"type":29,"value":772},"Re-enable the commented-out Sensitive-Data \u002F Last-Used columns; fill the ",{"type":24,"tag":37,"props":774,"children":776},{"className":775},[],[777],{"type":29,"value":778},"\u002Forgs\u002Fconfigure",{"type":29,"value":780},"\nCapabilities\u002FHosting stubs; make the adapter delete verified; add the MCP \"All-access\"\nwarning badge; add an agent option to ",{"type":24,"tag":37,"props":782,"children":784},{"className":783},[],[785],{"type":29,"value":786},"traffic\u002Fcomponents\u002Fusage\u002FGroupBy.vue",{"type":29,"value":373},{"type":24,"tag":375,"props":789,"children":791},{"id":790},"mechanics",[792],{"type":29,"value":793},"Mechanics",{"type":24,"tag":71,"props":795,"children":796},{},[797,836,882,916,948],{"type":24,"tag":75,"props":798,"children":799},{},[800,805,806,812,814,820,821,827,828,834],{"type":24,"tag":46,"props":801,"children":802},{},[803],{"type":29,"value":804},"Files:",{"type":29,"value":539},{"type":24,"tag":37,"props":807,"children":809},{"className":808},[],[810],{"type":29,"value":811},"app\u002Fpages\u002Fc15\u002Fwireframes\u002Fwf1\u002F\u003Cproblem>-v1\u002F\u003Cdirection>.vue",{"type":29,"value":813}," — one feature dir\nper problem, one page per divergent direction (e.g. ",{"type":24,"tag":37,"props":815,"children":817},{"className":816},[],[818],{"type":29,"value":819},"posture-board-v1\u002Fscorecard.vue",{"type":29,"value":401},{"type":24,"tag":37,"props":822,"children":824},{"className":823},[],[825],{"type":29,"value":826},"control-tower.vue",{"type":29,"value":176},{"type":24,"tag":37,"props":829,"children":831},{"className":830},[],[832],{"type":29,"value":833},"report.vue",{"type":29,"value":835},").",{"type":24,"tag":75,"props":837,"children":838},{},[839,844,846,856,858,864,866,872,874,880],{"type":24,"tag":37,"props":840,"children":842},{"className":841},[],[843],{"type":29,"value":371},{"type":29,"value":845},"; ",{"type":24,"tag":46,"props":847,"children":848},{},[849,854],{"type":24,"tag":37,"props":850,"children":852},{"className":851},[],[853],{"type":29,"value":363},{"type":29,"value":855}," components only",{"type":29,"value":857}," (grey borders,\ndashed placeholders, no shadows); ",{"type":24,"tag":37,"props":859,"children":861},{"className":860},[],[862],{"type":29,"value":863},"WireViewToggle",{"type":29,"value":865}," for in-page mode\u002Fsection switches;\nreference ",{"type":24,"tag":37,"props":867,"children":869},{"className":868},[],[870],{"type":29,"value":871},".claude\u002Fskills\u002Fvisualization-sketches.md",{"type":29,"value":873}," for the matrix \u002F sankey \u002F flow\nsketches (P5) and ",{"type":24,"tag":37,"props":875,"children":877},{"className":876},[],[878],{"type":29,"value":879},".claude\u002Fskills\u002Fwire-components.md",{"type":29,"value":881}," for primitives.",{"type":24,"tag":75,"props":883,"children":884},{},[885,890,892,898,900,906,908,914],{"type":24,"tag":46,"props":886,"children":887},{},[888],{"type":29,"value":889},"Briefs:",{"type":29,"value":891}," one goal-oriented brief per problem in ",{"type":24,"tag":37,"props":893,"children":895},{"className":894},[],[896],{"type":29,"value":897},"cycles\u002Fc15.agent-dashboard\u002Fbriefs\u002F",{"type":29,"value":899},"\n(via ",{"type":24,"tag":37,"props":901,"children":903},{"className":902},[],[904],{"type":29,"value":905},"\u002Fwrite-brief",{"type":29,"value":907},"), each naming the deficit it fixes, the stakeholders served, and the\nPhase 1 §-seed; generate with ",{"type":24,"tag":37,"props":909,"children":911},{"className":910},[],[912],{"type":29,"value":913},"\u002Fwireframe",{"type":29,"value":915}," (wireframe-builder, opus).",{"type":24,"tag":75,"props":917,"children":918},{},[919,924,925,931,932,938,940,946],{"type":24,"tag":46,"props":920,"children":921},{},[922],{"type":29,"value":923},"Registry:",{"type":29,"value":539},{"type":24,"tag":37,"props":926,"children":928},{"className":927},[],[929],{"type":29,"value":930},"type: 'wireframe'",{"type":29,"value":176},{"type":24,"tag":37,"props":933,"children":935},{"className":934},[],[936],{"type":29,"value":937},"iteration: 'wf1'",{"type":29,"value":939},"; add ",{"type":24,"tag":37,"props":941,"children":943},{"className":942},[],[944],{"type":29,"value":945},"app\u002Fpages\u002Fc15\u002Findex.vue",{"type":29,"value":947},"\ngallery listing the wireframe features.",{"type":24,"tag":75,"props":949,"children":950},{},[951,956,958,964],{"type":24,"tag":46,"props":952,"children":953},{},[954],{"type":29,"value":955},"Review & choose:",{"type":29,"value":957}," run ",{"type":24,"tag":37,"props":959,"children":961},{"className":960},[],[962],{"type":29,"value":963},"\u002Freview",{"type":29,"value":965}," per direction, then pick the winning direction per\nproblem to carry into Phase 3.",{"type":24,"tag":140,"props":967,"children":968},{},[],{"type":24,"tag":144,"props":970,"children":972},{"id":971},"phase-3-mockups-for-the-second-agent",[973],{"type":29,"value":16},{"type":24,"tag":25,"props":975,"children":976},{},[977,979,984,985,989,991,996,998,1003,1005,1009,1011,1016,1018,1023],{"type":29,"value":978},"Two hi-fi passes of the ",{"type":24,"tag":46,"props":980,"children":981},{},[982],{"type":29,"value":983},"winning Phase 2 wireframe directions",{"type":29,"value":44},{"type":24,"tag":46,"props":986,"children":987},{},[988],{"type":29,"value":108},{"type":29,"value":990}," uses ",{"type":24,"tag":86,"props":992,"children":993},{},[994],{"type":29,"value":995},"only",{"type":29,"value":997},"\nexisting ",{"type":24,"tag":37,"props":999,"children":1001},{"className":1000},[],[1002],{"type":29,"value":116},{"type":29,"value":1004}," components; ",{"type":24,"tag":46,"props":1006,"children":1007},{},[1008],{"type":29,"value":124},{"type":29,"value":1010}," is unconstrained and may invent components.\nThe point is a deliberate comparison: what the current design system ",{"type":24,"tag":86,"props":1012,"children":1013},{},[1014],{"type":29,"value":1015},"can",{"type":29,"value":1017}," express vs. what\nit ",{"type":24,"tag":86,"props":1019,"children":1020},{},[1021],{"type":29,"value":1022},"should",{"type":29,"value":1024}," be able to express.",{"type":24,"tag":375,"props":1026,"children":1028},{"id":1027},"page-set",[1029],{"type":29,"value":1030},"Page set",{"type":24,"tag":25,"props":1032,"children":1033},{},[1034,1036,1041,1043,1048],{"type":29,"value":1035},"The ",{"type":24,"tag":46,"props":1037,"children":1038},{},[1039],{"type":29,"value":1040},"chosen wireframe direction per problem",{"type":29,"value":1042}," from Phase 2 (which themselves came from\nPhase 1 §6). If Phase 2 is skipped or deferred, fall back to the ",{"type":24,"tag":46,"props":1044,"children":1045},{},[1046],{"type":29,"value":1047},"recommended lead set",{"type":29,"value":1049},":",{"type":24,"tag":1051,"props":1052,"children":1053},"ol",{},[1054,1070,1086],{"type":24,"tag":75,"props":1055,"children":1056},{},[1057,1062,1063,1068],{"type":24,"tag":46,"props":1058,"children":1059},{},[1060],{"type":29,"value":1061},"Agent Governance Posture Board",{"type":29,"value":539},{"type":24,"tag":86,"props":1064,"children":1065},{},[1066],{"type":29,"value":1067},"(Executive, Security)",{"type":29,"value":1069}," — governed-agent count,\ncoverage %, egress stance (default-deny on\u002Foff), open high-risk findings, a governance\nindex trended over time. The net-new executive overview the prompt asks about.",{"type":24,"tag":75,"props":1071,"children":1072},{},[1073,1078,1079,1084],{"type":24,"tag":46,"props":1074,"children":1075},{},[1076],{"type":29,"value":1077},"Agent Spend & Cost Report",{"type":29,"value":539},{"type":24,"tag":86,"props":1080,"children":1081},{},[1082],{"type":29,"value":1083},"(Finance, Executive)",{"type":29,"value":1085}," — token\u002F$ spend per agent per LLM\nvendor, budget burn, MoM trend, top cost drivers. Closes the Finance gap.",{"type":24,"tag":75,"props":1087,"children":1088},{},[1089,1094,1095,1100],{"type":24,"tag":46,"props":1090,"children":1091},{},[1092],{"type":29,"value":1093},"Agent Inventory \u002F Registry",{"type":29,"value":539},{"type":24,"tag":86,"props":1096,"children":1097},{},[1098],{"type":29,"value":1099},"(Security, Executive)",{"type":29,"value":1101}," — every agent as an identity:\nowner, model\u002Fruntime, credentials, data-scope, risk score, last seen, spend.",{"type":24,"tag":25,"props":1103,"children":1104},{},[1105,1110],{"type":24,"tag":46,"props":1106,"children":1107},{},[1108],{"type":29,"value":1109},"Strong follow-ons (build if scope allows):",{"type":29,"value":1111}," Sensitive-Data → LLM Flow; Agent Egress\nControl Matrix; Agent Risk Register \u002F board report.",{"type":24,"tag":375,"props":1113,"children":1115},{"id":1114},"m1-constrained-pass-existing-q-nuxt-layer-components-only",[1116,1118,1123],{"type":29,"value":1117},"m1 — constrained pass (existing ",{"type":24,"tag":37,"props":1119,"children":1121},{"className":1120},[],[1122],{"type":29,"value":116},{"type":29,"value":1124}," components only)",{"type":24,"tag":25,"props":1126,"children":1127},{},[1128],{"type":29,"value":1129},"Map each target page to the real catalog. Known-good building blocks:",{"type":24,"tag":71,"props":1131,"children":1132},{},[1133,1178,1224,1282,1306],{"type":24,"tag":75,"props":1134,"children":1135},{},[1136,1141,1142,1148,1149,1155,1157,1163,1164,1170,1171,1177],{"type":24,"tag":46,"props":1137,"children":1138},{},[1139],{"type":29,"value":1140},"KPIs \u002F metrics:",{"type":29,"value":539},{"type":24,"tag":37,"props":1143,"children":1145},{"className":1144},[],[1146],{"type":29,"value":1147},"DataStat",{"type":29,"value":176},{"type":24,"tag":37,"props":1150,"children":1152},{"className":1151},[],[1153],{"type":29,"value":1154},"DataMetric*",{"type":29,"value":1156}," (Base\u002FSimple\u002FCompact\u002FInlineTrend\u002FSpark),\n",{"type":24,"tag":37,"props":1158,"children":1160},{"className":1159},[],[1161],{"type":29,"value":1162},"DataKeyVal",{"type":29,"value":176},{"type":24,"tag":37,"props":1165,"children":1167},{"className":1166},[],[1168],{"type":29,"value":1169},"DataTrendDirection",{"type":29,"value":176},{"type":24,"tag":37,"props":1172,"children":1174},{"className":1173},[],[1175],{"type":29,"value":1176},"UxLabelText",{"type":29,"value":373},{"type":24,"tag":75,"props":1179,"children":1180},{},[1181,1186,1187,1193,1195,1201,1202,1208,1209,1215,1217,1223],{"type":24,"tag":46,"props":1182,"children":1183},{},[1184],{"type":29,"value":1185},"Trends \u002F charts:",{"type":29,"value":539},{"type":24,"tag":37,"props":1188,"children":1190},{"className":1189},[],[1191],{"type":29,"value":1192},"DataChartUI",{"type":29,"value":1194}," (Chart.js line\u002Fbar), ",{"type":24,"tag":37,"props":1196,"children":1198},{"className":1197},[],[1199],{"type":29,"value":1200},"DataSparkChart",{"type":29,"value":176},{"type":24,"tag":37,"props":1203,"children":1205},{"className":1204},[],[1206],{"type":29,"value":1207},"DataTimeline",{"type":29,"value":401},{"type":24,"tag":37,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":29,"value":1214},"DataPercentBar",{"type":29,"value":1216}," \u002F ",{"type":24,"tag":37,"props":1218,"children":1220},{"className":1219},[],[1221],{"type":29,"value":1222},"UxPercentBar",{"type":29,"value":373},{"type":24,"tag":75,"props":1225,"children":1226},{},[1227,1232,1233,1239,1240,1246,1247,1253,1254,1260,1261,1267,1268,1274,1275,1281],{"type":24,"tag":46,"props":1228,"children":1229},{},[1230],{"type":29,"value":1231},"Health \u002F risk:",{"type":29,"value":539},{"type":24,"tag":37,"props":1234,"children":1236},{"className":1235},[],[1237],{"type":29,"value":1238},"HealthDial",{"type":29,"value":176},{"type":24,"tag":37,"props":1241,"children":1243},{"className":1242},[],[1244],{"type":29,"value":1245},"HealthDialSummary",{"type":29,"value":176},{"type":24,"tag":37,"props":1248,"children":1250},{"className":1249},[],[1251],{"type":29,"value":1252},"HealthSummaryItem",{"type":29,"value":401},{"type":24,"tag":37,"props":1255,"children":1257},{"className":1256},[],[1258],{"type":29,"value":1259},"SecuritySeverity",{"type":29,"value":176},{"type":24,"tag":37,"props":1262,"children":1264},{"className":1263},[],[1265],{"type":29,"value":1266},"SecurityPolicyCard",{"type":29,"value":176},{"type":24,"tag":37,"props":1269,"children":1271},{"className":1270},[],[1272],{"type":29,"value":1273},"SecurityViolationsTable",{"type":29,"value":176},{"type":24,"tag":37,"props":1276,"children":1278},{"className":1277},[],[1279],{"type":29,"value":1280},"SecurityDataFlow",{"type":29,"value":373},{"type":24,"tag":75,"props":1283,"children":1284},{},[1285,1290,1291,1297,1299,1305],{"type":24,"tag":46,"props":1286,"children":1287},{},[1288],{"type":29,"value":1289},"Tables \u002F lists:",{"type":29,"value":539},{"type":24,"tag":37,"props":1292,"children":1294},{"className":1293},[],[1295],{"type":29,"value":1296},"UxTableList*",{"type":29,"value":1298}," (Index\u002FHeader\u002FColumnHeader\u002FSearch\u002FSorter\u002FToggleRow\u002F\nExpandRow\u002FTotals), ",{"type":24,"tag":37,"props":1300,"children":1302},{"className":1301},[],[1303],{"type":29,"value":1304},"UxListItem",{"type":29,"value":373},{"type":24,"tag":75,"props":1307,"children":1308},{},[1309,1314,1315,1321,1322,1328,1329,1335,1336,1342,1343,1349,1350,1356,1357,1363,1364,1370,1371,1377],{"type":24,"tag":46,"props":1310,"children":1311},{},[1312],{"type":29,"value":1313},"Layout \u002F chrome:",{"type":29,"value":539},{"type":24,"tag":37,"props":1316,"children":1318},{"className":1317},[],[1319],{"type":29,"value":1320},"LayoutGrid",{"type":29,"value":176},{"type":24,"tag":37,"props":1323,"children":1325},{"className":1324},[],[1326],{"type":29,"value":1327},"UxStretchBox",{"type":29,"value":176},{"type":24,"tag":37,"props":1330,"children":1332},{"className":1331},[],[1333],{"type":29,"value":1334},"UxHoverBox",{"type":29,"value":176},{"type":24,"tag":37,"props":1337,"children":1339},{"className":1338},[],[1340],{"type":29,"value":1341},"UxToggleCard",{"type":29,"value":401},{"type":24,"tag":37,"props":1344,"children":1346},{"className":1345},[],[1347],{"type":29,"value":1348},"UxBoxTag",{"type":29,"value":176},{"type":24,"tag":37,"props":1351,"children":1353},{"className":1352},[],[1354],{"type":29,"value":1355},"UxTag",{"type":29,"value":176},{"type":24,"tag":37,"props":1358,"children":1360},{"className":1359},[],[1361],{"type":29,"value":1362},"UxButton",{"type":29,"value":176},{"type":24,"tag":37,"props":1365,"children":1367},{"className":1366},[],[1368],{"type":29,"value":1369},"UxModal",{"type":29,"value":176},{"type":24,"tag":37,"props":1372,"children":1374},{"className":1373},[],[1375],{"type":29,"value":1376},"Icon*",{"type":29,"value":373},{"type":24,"tag":25,"props":1379,"children":1380},{},[1381,1386],{"type":24,"tag":46,"props":1382,"children":1383},{},[1384],{"type":29,"value":1385},"Log where existing components fall short",{"type":29,"value":1387}," (per the q-nuxt-layer audit) — this gap list\nis the seed for m2:",{"type":24,"tag":71,"props":1389,"children":1390},{},[1391,1403,1414,1431,1461,1479],{"type":24,"tag":75,"props":1392,"children":1393},{},[1394,1396,1401],{"type":29,"value":1395},"No ",{"type":24,"tag":46,"props":1397,"children":1398},{},[1399],{"type":29,"value":1400},"donut\u002Fpie or stacked",{"type":29,"value":1402}," charts (Spend breakdown by vendor\u002Fagent wants these).",{"type":24,"tag":75,"props":1404,"children":1405},{},[1406,1407,1412],{"type":29,"value":1395},{"type":24,"tag":46,"props":1408,"children":1409},{},[1410],{"type":29,"value":1411},"risk matrix \u002F 2D scatter",{"type":29,"value":1413}," (posture quadrant).",{"type":24,"tag":75,"props":1415,"children":1416},{},[1417,1418,1423,1425,1430],{"type":29,"value":1395},{"type":24,"tag":46,"props":1419,"children":1420},{},[1421],{"type":29,"value":1422},"filter \u002F faceted panel",{"type":29,"value":1424}," or ",{"type":24,"tag":46,"props":1426,"children":1427},{},[1428],{"type":29,"value":1429},"date-range picker",{"type":29,"value":373},{"type":24,"tag":75,"props":1432,"children":1433},{},[1434,1435,1440,1441,1446,1447,1452,1454,1459],{"type":29,"value":1395},{"type":24,"tag":46,"props":1436,"children":1437},{},[1438],{"type":29,"value":1439},"breadcrumb",{"type":29,"value":176},{"type":24,"tag":46,"props":1442,"children":1443},{},[1444],{"type":29,"value":1445},"tooltip\u002Fpopover",{"type":29,"value":176},{"type":24,"tag":46,"props":1448,"children":1449},{},[1450],{"type":29,"value":1451},"avatar group",{"type":29,"value":1453},", or ",{"type":24,"tag":46,"props":1455,"children":1456},{},[1457],{"type":29,"value":1458},"icon+text badge",{"type":29,"value":1460}," combo.",{"type":24,"tag":75,"props":1462,"children":1463},{},[1464,1465,1470,1472,1477],{"type":29,"value":1395},{"type":24,"tag":46,"props":1466,"children":1467},{},[1468],{"type":29,"value":1469},"dashboard card-grid",{"type":29,"value":1471}," with built-in header\u002Ftrend affordances (compose from\n",{"type":24,"tag":37,"props":1473,"children":1475},{"className":1474},[],[1476],{"type":29,"value":1327},{"type":29,"value":1478}," + metrics).",{"type":24,"tag":75,"props":1480,"children":1481},{},[1482,1488,1490,1495],{"type":24,"tag":37,"props":1483,"children":1485},{"className":1484},[],[1486],{"type":29,"value":1487},"UxTableList",{"type":29,"value":1489}," lacks ",{"type":24,"tag":46,"props":1491,"children":1492},{},[1493],{"type":29,"value":1494},"column freeze \u002F grouping \u002F virtual scroll",{"type":29,"value":1496}," for large inventories.",{"type":24,"tag":25,"props":1498,"children":1499},{},[1500,1502,1507,1509,1514],{"type":29,"value":1501},"Where m1 hits a gap, ",{"type":24,"tag":46,"props":1503,"children":1504},{},[1505],{"type":29,"value":1506},"make the honest compromise",{"type":29,"value":1508}," (e.g. a horizontal ",{"type":24,"tag":37,"props":1510,"children":1512},{"className":1511},[],[1513],{"type":29,"value":1214},{"type":29,"value":1515},"\nstack instead of a donut) and annotate it so m2 has a clear target.",{"type":24,"tag":375,"props":1517,"children":1519},{"id":1518},"m2-unconstrained-pass-best-component-for-each-job",[1520],{"type":29,"value":1521},"m2 — unconstrained pass (best component for each job)",{"type":24,"tag":25,"props":1523,"children":1524},{},[1525,1527,1532],{"type":29,"value":1526},"Re-mock the same pages choosing the ideal representation, inventing components where m1 had\nto compromise. ",{"type":24,"tag":46,"props":1528,"children":1529},{},[1530],{"type":29,"value":1531},"Propose each new component as a candidate addition to q-nuxt-layer",{"type":29,"value":1533}," (name",{"type":24,"tag":71,"props":1535,"children":1536},{},[1537],{"type":24,"tag":75,"props":1538,"children":1539},{},[1540,1542,1548,1549,1555,1556,1562,1563,1569,1570,1576,1577,1583,1584,1590,1591,1597,1599,1605,1606,1612],{"type":29,"value":1541},"one-line purpose + which m1 compromise it replaces), e.g.: ",{"type":24,"tag":37,"props":1543,"children":1545},{"className":1544},[],[1546],{"type":29,"value":1547},"DataDonut",{"type":29,"value":401},{"type":24,"tag":37,"props":1550,"children":1552},{"className":1551},[],[1553],{"type":29,"value":1554},"DataStackedBar",{"type":29,"value":176},{"type":24,"tag":37,"props":1557,"children":1559},{"className":1558},[],[1560],{"type":29,"value":1561},"RiskMatrix",{"type":29,"value":176},{"type":24,"tag":37,"props":1564,"children":1566},{"className":1565},[],[1567],{"type":29,"value":1568},"FilterPanel",{"type":29,"value":176},{"type":24,"tag":37,"props":1571,"children":1573},{"className":1572},[],[1574],{"type":29,"value":1575},"DateRangePicker",{"type":29,"value":176},{"type":24,"tag":37,"props":1578,"children":1580},{"className":1579},[],[1581],{"type":29,"value":1582},"AgentIdentityCard",{"type":29,"value":401},{"type":24,"tag":37,"props":1585,"children":1587},{"className":1586},[],[1588],{"type":29,"value":1589},"GovernanceScorecard",{"type":29,"value":176},{"type":24,"tag":37,"props":1592,"children":1594},{"className":1593},[],[1595],{"type":29,"value":1596},"EgressMatrix",{"type":29,"value":1598},". Keep the design-system aesthetic (grape primary,\nleaf success, grey; ",{"type":24,"tag":37,"props":1600,"children":1602},{"className":1601},[],[1603],{"type":29,"value":1604},"rounded-8\u002F12",{"type":29,"value":176},{"type":24,"tag":37,"props":1607,"children":1609},{"className":1608},[],[1610],{"type":29,"value":1611},"shadow-sm",{"type":29,"value":1613},") so the proposals read as native.",{"type":24,"tag":375,"props":1615,"children":1617},{"id":1616},"mechanics-per-bob-wire-conventions",[1618],{"type":29,"value":1619},"Mechanics (per bob-wire conventions)",{"type":24,"tag":71,"props":1621,"children":1622},{},[1623,1669,1695,1742,1759],{"type":24,"tag":75,"props":1624,"children":1625},{},[1626,1630,1631,1637,1639,1645,1647,1653,1654,1660,1661,1667],{"type":24,"tag":46,"props":1627,"children":1628},{},[1629],{"type":29,"value":804},{"type":29,"value":539},{"type":24,"tag":37,"props":1632,"children":1634},{"className":1633},[],[1635],{"type":29,"value":1636},"app\u002Fpages\u002Fc15\u002Fmockups\u002Fm1\u002F\u003Cfeature>-v1\u002F\u003Cpage>.vue",{"type":29,"value":1638}," and\n",{"type":24,"tag":37,"props":1640,"children":1642},{"className":1641},[],[1643],{"type":29,"value":1644},"app\u002Fpages\u002Fc15\u002Fmockups\u002Fm2\u002F\u003Cfeature>-v1\u002F\u003Cpage>.vue",{"type":29,"value":1646},". Suggested feature slugs:\n",{"type":24,"tag":37,"props":1648,"children":1650},{"className":1649},[],[1651],{"type":29,"value":1652},"posture-board-v1",{"type":29,"value":176},{"type":24,"tag":37,"props":1655,"children":1657},{"className":1656},[],[1658],{"type":29,"value":1659},"agent-spend-v1",{"type":29,"value":176},{"type":24,"tag":37,"props":1662,"children":1664},{"className":1663},[],[1665],{"type":29,"value":1666},"agent-inventory-v1",{"type":29,"value":1668}," (+ follow-ons).",{"type":24,"tag":75,"props":1670,"children":1671},{},[1672,1674,1680,1681,1686,1688,1693],{"type":29,"value":1673},"Each page: ",{"type":24,"tag":37,"props":1675,"children":1677},{"className":1676},[],[1678],{"type":29,"value":1679},"definePageMeta({ layout: 'mockup' })",{"type":29,"value":845},{"type":24,"tag":46,"props":1682,"children":1683},{},[1684],{"type":29,"value":1685},"real components only",{"type":29,"value":1687}," (no ",{"type":24,"tag":37,"props":1689,"children":1691},{"className":1690},[],[1692],{"type":29,"value":363},{"type":29,"value":1694},");\nrealistic placeholder data (named agents, real LLM vendors, plausible token\u002F$ figures); no\nAPI calls or real auth.",{"type":24,"tag":75,"props":1696,"children":1697},{},[1698,1702,1704,1710,1712,1718,1719,1725,1727,1733,1735,1740],{"type":24,"tag":46,"props":1699,"children":1700},{},[1701],{"type":29,"value":923},{"type":29,"value":1703}," add entries to ",{"type":24,"tag":37,"props":1705,"children":1707},{"className":1706},[],[1708],{"type":29,"value":1709},"app\u002Fdata\u002Fwireframe-registry.ts",{"type":29,"value":1711}," with ",{"type":24,"tag":37,"props":1713,"children":1715},{"className":1714},[],[1716],{"type":29,"value":1717},"type: 'mockup'",{"type":29,"value":1638},{"type":24,"tag":37,"props":1720,"children":1722},{"className":1721},[],[1723],{"type":29,"value":1724},"iteration: 'm1' | 'm2'",{"type":29,"value":1726},". Per project convention, when running mockup-builder agents in\nparallel they write ",{"type":24,"tag":37,"props":1728,"children":1730},{"className":1729},[],[1731],{"type":29,"value":1732},".vue",{"type":29,"value":1734}," only and ",{"type":24,"tag":46,"props":1736,"children":1737},{},[1738],{"type":29,"value":1739},"output registry entries in their report",{"type":29,"value":1741},"; the\norchestrator batches the registry edits after all runs complete.",{"type":24,"tag":75,"props":1743,"children":1744},{},[1745,1750,1752,1757],{"type":24,"tag":46,"props":1746,"children":1747},{},[1748],{"type":29,"value":1749},"Gallery:",{"type":29,"value":1751}," add ",{"type":24,"tag":37,"props":1753,"children":1755},{"className":1754},[],[1756],{"type":29,"value":945},{"type":29,"value":1758}," listing the c15 features (registry is flat; each\ncycle gallery lists its own).",{"type":24,"tag":75,"props":1760,"children":1761},{},[1762,1764,1770,1772,1778,1780,1785],{"type":29,"value":1763},"Use ",{"type":24,"tag":37,"props":1765,"children":1767},{"className":1766},[],[1768],{"type":29,"value":1769},"\u002Fmockup \u003Cbrief-or-description>",{"type":29,"value":1771}," (mockup-builder, opus) for generation; reference\n",{"type":24,"tag":37,"props":1773,"children":1775},{"className":1774},[],[1776],{"type":29,"value":1777},".claude\u002Fskills\u002Fux-components.md",{"type":29,"value":1779}," and ",{"type":24,"tag":37,"props":1781,"children":1783},{"className":1782},[],[1784],{"type":29,"value":871},{"type":29,"value":373},{"type":24,"tag":140,"props":1787,"children":1788},{},[],{"type":24,"tag":144,"props":1790,"children":1792},{"id":1791},"build-order",[1793],{"type":29,"value":17},{"type":24,"tag":25,"props":1795,"children":1796},{},[1797],{"type":24,"tag":46,"props":1798,"children":1799},{},[1800],{"type":29,"value":1801},"Phase 2 — wireframing",{"type":24,"tag":1051,"props":1803,"children":1804},{},[1805,1810,1829,1855],{"type":24,"tag":75,"props":1806,"children":1807},{},[1808],{"type":29,"value":1809},"Confirm which problems (P1–P5) to explore and how many directions each (default:\nP1 first, then P2–P4; ~2–3 directions per problem).",{"type":24,"tag":75,"props":1811,"children":1812},{},[1813,1815,1820,1822,1827],{"type":29,"value":1814},"Write one goal-oriented brief per problem in ",{"type":24,"tag":37,"props":1816,"children":1818},{"className":1817},[],[1819],{"type":29,"value":897},{"type":29,"value":1821}," (via\n",{"type":24,"tag":37,"props":1823,"children":1825},{"className":1824},[],[1826],{"type":29,"value":905},{"type":29,"value":1828},"), each naming the deficit, stakeholders, and Phase 1 §-seed.",{"type":24,"tag":75,"props":1830,"children":1831},{},[1832,1834,1839,1841,1846,1848,1854],{"type":29,"value":1833},"Build the divergent ",{"type":24,"tag":37,"props":1835,"children":1837},{"className":1836},[],[1838],{"type":29,"value":166},{"type":29,"value":1840}," wireframes (via ",{"type":24,"tag":37,"props":1842,"children":1844},{"className":1843},[],[1845],{"type":29,"value":913},{"type":29,"value":1847},"); batch the registry entries; add\n",{"type":24,"tag":37,"props":1849,"children":1851},{"className":1850},[],[1852],{"type":29,"value":1853},"c15\u002Findex.vue",{"type":29,"value":373},{"type":24,"tag":75,"props":1856,"children":1857},{},[1858,1860,1865,1867,1872],{"type":29,"value":1859},"Run ",{"type":24,"tag":37,"props":1861,"children":1863},{"className":1862},[],[1864],{"type":29,"value":963},{"type":29,"value":1866}," per direction; ",{"type":24,"tag":46,"props":1868,"children":1869},{},[1870],{"type":29,"value":1871},"pick the winning direction per problem",{"type":29,"value":1873}," with the\nrequester.",{"type":24,"tag":25,"props":1875,"children":1876},{},[1877,1882,1884,1888,1890,1894,1896,1901,1903,1908],{"type":24,"tag":46,"props":1878,"children":1879},{},[1880],{"type":29,"value":1881},"Phase 3 — mockups",{"type":29,"value":1883},"\n5. For each winning direction, build ",{"type":24,"tag":46,"props":1885,"children":1886},{},[1887],{"type":29,"value":108},{"type":29,"value":1889}," (constrained) and capture the component-gap list.\n6. Build ",{"type":24,"tag":46,"props":1891,"children":1892},{},[1893],{"type":29,"value":124},{"type":29,"value":1895}," (unconstrained) for the same pages; document proposed new components.\n7. Batch registry entries; update ",{"type":24,"tag":37,"props":1897,"children":1899},{"className":1898},[],[1900],{"type":29,"value":1853},{"type":29,"value":1902},"; run ",{"type":24,"tag":37,"props":1904,"children":1906},{"className":1905},[],[1907],{"type":29,"value":963},{"type":29,"value":1909}," on each.",{"type":24,"tag":144,"props":1911,"children":1913},{"id":1912},"verification",[1914],{"type":29,"value":18},{"type":24,"tag":71,"props":1916,"children":1917},{},[1918,1937,1954,1979,1990],{"type":24,"tag":75,"props":1919,"children":1920},{},[1921,1927,1929,1935],{"type":24,"tag":37,"props":1922,"children":1924},{"className":1923},[],[1925],{"type":29,"value":1926},"npm run dev",{"type":29,"value":1928},"; visit ",{"type":24,"tag":37,"props":1930,"children":1932},{"className":1931},[],[1933],{"type":29,"value":1934},"\u002Fc15",{"type":29,"value":1936}," gallery and each wireframe \u002F mockup page; confirm clickable\nand styled.",{"type":24,"tag":75,"props":1938,"children":1939},{},[1940,1945,1947,1952],{"type":24,"tag":46,"props":1941,"children":1942},{},[1943],{"type":29,"value":1944},"Wireframes",{"type":29,"value":1946}," use ",{"type":24,"tag":37,"props":1948,"children":1950},{"className":1949},[],[1951],{"type":29,"value":363},{"type":29,"value":1953}," only (grey\u002Fdashed aesthetic); divergent directions per problem\nare visibly comparable side by side.",{"type":24,"tag":75,"props":1955,"children":1956},{},[1957,1962,1964,1970,1972,1977],{"type":24,"tag":46,"props":1958,"children":1959},{},[1960],{"type":29,"value":1961},"Mockups",{"type":29,"value":1963}," use real components — grep the mockup files for ",{"type":24,"tag":37,"props":1965,"children":1967},{"className":1966},[],[1968],{"type":29,"value":1969},"Wire",{"type":29,"value":1971}," → ",{"type":24,"tag":46,"props":1973,"children":1974},{},[1975],{"type":29,"value":1976},"zero",{"type":29,"value":1978}," matches.",{"type":24,"tag":75,"props":1980,"children":1981},{},[1982,1988],{"type":24,"tag":37,"props":1983,"children":1985},{"className":1984},[],[1986],{"type":29,"value":1987},"npm run build",{"type":29,"value":1989}," passes.",{"type":24,"tag":75,"props":1991,"children":1992},{},[1993],{"type":29,"value":1994},"Side-by-side m1 vs m2 for each page makes the \"what the design system is missing\" case\nexplicit, with m2's proposed components listed as q-nuxt-layer candidates.",{"type":24,"tag":144,"props":1996,"children":1998},{"id":1997},"open-questions-for-the-requester",[1999],{"type":29,"value":19},{"type":24,"tag":71,"props":2001,"children":2002},{},[2003,2008,2013],{"type":24,"tag":75,"props":2004,"children":2005},{},[2006],{"type":29,"value":2007},"Which Phase 2 problems (P1–P5) to explore, and how many divergent directions each.",{"type":24,"tag":75,"props":2009,"children":2010},{},[2011],{"type":29,"value":2012},"Should the secondary persona columns (Engineering\u002FPlatform, Compliance\u002FPrivacy) appear in\nthe wireframe\u002Fmockup framing, or stay analysis-only?",{"type":24,"tag":75,"props":2014,"children":2015},{},[2016],{"type":29,"value":2017},"Are real spend\u002Ftoken figures available to ground the Spend & Cost Report, or use plausible\nplaceholders?",1794599427398]