[{"data":1,"prerenderedAt":450},["ShallowReactive",2],{"$f_gSNJBid7rb5w9LU-XrMHW1QSKyT6vB-d_S8jKBYhGw":3},{"newThing":4,"project":5,"cycle":9,"sections":23,"threads":434,"otherDocs":435,"documents":438,"images":447,"archiveItems":448,"links":449},null,{"id":6,"label":7,"liveBase":8},"bob-wire","Bob-Wire","https:\u002F\u002Fqpoint-io.github.io\u002Fbob-wire",{"id":10,"num":11,"dir":12,"name":13,"title":14,"focus":15,"status":16,"statusNote":4,"created":17,"completed":4,"mode":18,"report":4,"recordless":19,"thumbnail":4,"imageCount":20,"artifactCount":21,"lastActivity":4,"hasPickup":19,"hasInitialPrompt":22},"c21",21,"c21.inventory","inventory","Inventory + Users \u002F Devices","Design refinement of qcontrol's Inventory and Users\u002FDevices pages, driven by Mark Peterson advisor call","active","2026-08-31","evolution",false,0,4,true,[24,70,112,261],{"key":25,"title":26,"empty":19,"ast":27},"why","Why",{"type":28,"children":29},"root",[30,38,51],{"type":31,"tag":32,"props":33,"children":34},"element","p",{},[35],{"type":36,"value":37},"text","Qpoint's roadmap conversation with fractional CISO advisor Mark Peterson (2026-08-31) surfaced a critical refinement to the c16 agent-control-plane work: the current agent inventory conflates two distinct analytical lenses that need separation.",{"type":31,"tag":32,"props":39,"children":40},{},[41,43,49],{"type":36,"value":42},"Security leaders universally prioritize ",{"type":31,"tag":44,"props":45,"children":46},"strong",{},[47],{"type":36,"value":48},"agent\u002Ftechnology inventory",{"type":36,"value":50}," (what tools are deployed, who's using them, coverage gaps) before governance work begins. But bundling agents + machines + users into a single page obscures the personnel\u002Fidentity layer — integration with MDM systems, per-user AI usage patterns, token\u002Fspend tracking, and deployment coverage by endpoint.",{"type":31,"tag":32,"props":52,"children":53},{},[54,56,61,63,68],{"type":36,"value":55},"Mark's framing: inventory is the entry wedge, but it must split into two surfaces: ",{"type":31,"tag":44,"props":57,"children":58},{},[59],{"type":36,"value":60},"Inventory",{"type":36,"value":62}," (agent + technology rollup, company-level aggregation, monitored vs unmonitored, licensing model enforcement) and ",{"type":31,"tag":44,"props":64,"children":65},{},[66],{"type":36,"value":67},"Users \u002F Devices",{"type":36,"value":69}," (people-focused identity integration, per-user usage, tokens\u002Fdollars, endpoint deployment completeness). The split unblocks both the agent-governance journey and a parallel identity\u002Fcompliance story.",{"key":71,"title":72,"empty":19,"ast":73},"objective","Objective",{"type":28,"children":74},[75,92,102],{"type":31,"tag":32,"props":76,"children":77},{},[78,80,84,86,90],{"type":36,"value":79},"Deliver two refined wireframe pages — ",{"type":31,"tag":44,"props":81,"children":82},{},[83],{"type":36,"value":60},{"type":36,"value":85}," and ",{"type":31,"tag":44,"props":87,"children":88},{},[89],{"type":36,"value":67},{"type":36,"value":91}," — anchored on qcontrol's real product state, grounded in the Mark Peterson call's roadmap input, and ready for hi-fi mockup iteration.",{"type":31,"tag":32,"props":93,"children":94},{},[95,100],{"type":31,"tag":44,"props":96,"children":97},{},[98],{"type":36,"value":99},"Inventory page:",{"type":36,"value":101}," Agent and technology rollup organized by company (consolidating Anthropic as superset of its agents), showing monitored vs unmonitored deployment, usage trends, and licensing model (personal vs enterprise) with enforcement signals (e.g., blocking personal accounts per the data-protection use case).",{"type":31,"tag":32,"props":103,"children":104},{},[105,110],{"type":31,"tag":44,"props":106,"children":107},{},[108],{"type":36,"value":109},"Users \u002F Devices page:",{"type":36,"value":111}," People-focused dashboard integrated with identity management systems (MDM source of truth), surfacing per-user AI usage patterns, token\u002Fdollar spend, deployment coverage (who has sensor installed), and accountability signals.",{"key":113,"title":114,"empty":19,"ast":115},"scope","Scope",{"type":28,"children":116},[117,222,229],{"type":31,"tag":118,"props":119,"children":120},"ul",{},[121,134,145,156,173,184,209],{"type":31,"tag":122,"props":123,"children":124},"li",{},[125,132],{"type":31,"tag":126,"props":127,"children":129},"code",{"className":128},[],[130],{"type":36,"value":131},"cycles\u002Fc21.inventory\u002Finitial-prompt.md",{"type":36,"value":133}," — Mark's notes and roadmap framing",{"type":31,"tag":122,"props":135,"children":136},{},[137,143],{"type":31,"tag":126,"props":138,"children":140},{"className":139},[],[141],{"type":36,"value":142},"cycles\u002Fc21.inventory\u002Fdesign-brief.md",{"type":36,"value":144}," — human-facing design brief (call decisions, page stories, open questions)",{"type":31,"tag":122,"props":146,"children":147},{},[148,154],{"type":31,"tag":126,"props":149,"children":151},{"className":150},[],[152],{"type":36,"value":153},"cycles\u002Fc21.inventory\u002Ftechnical-plan.md",{"type":36,"value":155}," — AI-execution plan (pages, data shapes, phases)",{"type":31,"tag":122,"props":157,"children":158},{},[159,165,167],{"type":31,"tag":126,"props":160,"children":162},{"className":161},[],[163],{"type":36,"value":164},"cycles\u002Fc21.inventory\u002Fbriefs\u002F",{"type":36,"value":166}," — feature briefs, if any are split out for ",{"type":31,"tag":126,"props":168,"children":170},{"className":169},[],[171],{"type":36,"value":172},"\u002Fwireframe",{"type":31,"tag":122,"props":174,"children":175},{},[176,182],{"type":31,"tag":126,"props":177,"children":179},{"className":178},[],[180],{"type":36,"value":181},"app\u002Fpages\u002Fc21\u002Fwireframes\u002Fwf1\u002Finventory-v1\u002F",{"type":36,"value":183}," — Inventory and Users\u002FDevices lo-fi pages",{"type":31,"tag":122,"props":185,"children":186},{},[187,193,195,201,203],{"type":31,"tag":126,"props":188,"children":190},{"className":189},[],[191],{"type":36,"value":192},"app\u002Fdata\u002Fwireframe-registry.ts",{"type":36,"value":194}," — register both pages as ",{"type":31,"tag":126,"props":196,"children":198},{"className":197},[],[199],{"type":36,"value":200},"type: 'wireframe'",{"type":36,"value":202},", ",{"type":31,"tag":126,"props":204,"children":206},{"className":205},[],[207],{"type":36,"value":208},"iteration: 'wf1'",{"type":31,"tag":122,"props":210,"children":211},{},[212,214,220],{"type":36,"value":213},"Reference material: Mark Peterson call data at ",{"type":31,"tag":126,"props":215,"children":217},{"className":216},[],[218],{"type":36,"value":219},"..\u002Fmarket-analyst\u002Fdata\u002Fprocessed\u002F38075ead-4294-428f-bb58-13898dad7160.json",{"type":36,"value":221},", c16 control-plane conventions",{"type":31,"tag":223,"props":224,"children":226},"h3",{"id":225},"out-of-scope",[227],{"type":36,"value":228},"Out of Scope",{"type":31,"tag":118,"props":230,"children":231},{},[232,251,256],{"type":31,"tag":122,"props":233,"children":234},{},[235,237,243,245],{"type":36,"value":236},"Changes to qcontrol app, ",{"type":31,"tag":126,"props":238,"children":240},{"className":239},[],[241],{"type":36,"value":242},"..\u002Fapp.qpoint.io",{"type":36,"value":244},", or ",{"type":31,"tag":126,"props":246,"children":248},{"className":247},[],[249],{"type":36,"value":250},"..\u002Fq-nuxt-layer",{"type":31,"tag":122,"props":252,"children":253},{},[254],{"type":36,"value":255},"Real data, API calls, auth (fixtures only)",{"type":31,"tag":122,"props":257,"children":258},{},[259],{"type":36,"value":260},"Hi-fi mockups (m1 pass deferred to follow-on)",{"key":262,"title":263,"empty":19,"ast":264},"key-changes","Key Changes",{"type":28,"children":265},[266,346,409],{"type":31,"tag":32,"props":267,"children":268},{},[269,274,276,281,283,289,291,297,299,305,307,313,315,321,323,329,331,337,339,344],{"type":31,"tag":44,"props":270,"children":271},{},[272],{"type":36,"value":273},"m1 pages built in design \u002Fpages (2026-09-01):",{"type":36,"value":275}," All three mocks built and registered in design's page registry (",{"type":31,"tag":126,"props":277,"children":279},{"className":278},[],[280],{"type":36,"value":13},{"type":36,"value":282}," \u002F ",{"type":31,"tag":126,"props":284,"children":286},{"className":285},[],[287],{"type":36,"value":288},"teams",{"type":36,"value":290}," groups): ",{"type":31,"tag":126,"props":292,"children":294},{"className":293},[],[295],{"type":36,"value":296},"inventory-companies-v1",{"type":36,"value":298}," (company→technology→instance rollup, detected-only strip, accounts & licensing with the personal-ChatGPT standout + ghost \"block personal accounts\" affordance, 12-week model-drift trends, surface directories, ",{"type":31,"tag":126,"props":300,"children":302},{"className":301},[],[303],{"type":36,"value":304},"?user=",{"type":36,"value":306}," filter chip), ",{"type":31,"tag":126,"props":308,"children":310},{"className":309},[],[311],{"type":36,"value":312},"users-devices-v1",{"type":36,"value":314}," (coverage vs Okta\u002FJamf denominator with the Alexis investigate callout and macOS-only Windows gap, 15-person DataTable roster with tokens⇄$ toggle and LLM summaries, attribution-debt band), ",{"type":31,"tag":126,"props":316,"children":318},{"className":317},[],[319],{"type":36,"value":320},"user-detail-v1",{"type":36,"value":322}," (device↔identity↔agent chain, flagged personal-account sessions, person switcher over Dana\u002FKamal\u002FJonah\u002FAlexis states). Shared fixtures ",{"type":31,"tag":126,"props":324,"children":326},{"className":325},[],[327],{"type":36,"value":328},"c21-inventory-fixtures.ts",{"type":36,"value":330}," — every number derived, story beats verified by execution. Cross-links: users-devices → user-detail (",{"type":31,"tag":126,"props":332,"children":334},{"className":333},[],[335],{"type":36,"value":336},"?person=",{"type":36,"value":338},") → inventory (",{"type":31,"tag":126,"props":340,"children":342},{"className":341},[],[343],{"type":36,"value":304},{"type":36,"value":345},") → back.",{"type":31,"tag":32,"props":347,"children":348},{},[349,354,356,362,364,370,372,377,379,384,386,391,393,399,401,407],{"type":31,"tag":44,"props":350,"children":351},{},[352],{"type":36,"value":353},"Mockups go hi-fi-first, cross-repo in design (2026-09-01):",{"type":36,"value":355}," Mark chose to skip the bob-wire wf1 wireframe pass and build hi-fi mockups directly in ",{"type":31,"tag":126,"props":357,"children":359},{"className":358},[],[360],{"type":36,"value":361},"..\u002Fdesign",{"type":36,"value":363}," ",{"type":31,"tag":126,"props":365,"children":367},{"className":366},[],[368],{"type":36,"value":369},"app\u002Fpages\u002Fpages\u002F",{"type":36,"value":371}," (flat versioned mocks, real layer components, page-registry groups) — that's where the current qcontrol design language lives and where the c21 ancestors sit (design c59 inventory, c67 teams, c78 fleet-overview-reports from the same Mark Peterson engagement). Three pages: ",{"type":31,"tag":126,"props":373,"children":375},{"className":374},[],[376],{"type":36,"value":296},{"type":36,"value":378}," (technology view), ",{"type":31,"tag":126,"props":380,"children":382},{"className":381},[],[383],{"type":36,"value":312},{"type":36,"value":385}," (people view), ",{"type":31,"tag":126,"props":387,"children":389},{"className":388},[],[390],{"type":36,"value":320},{"type":36,"value":392}," (drill + sessions), on shared fixtures ",{"type":31,"tag":126,"props":394,"children":396},{"className":395},[],[397],{"type":36,"value":398},"app\u002Fdata\u002Fc21-inventory-fixtures.ts",{"type":36,"value":400},". The c21 Fleet Overview page is dropped — design c78's ",{"type":31,"tag":126,"props":402,"children":404},{"className":403},[],[405],{"type":36,"value":406},"fleet-overview-v3",{"type":36,"value":408}," owns that thread; c21 widget ideas feed it rather than fork it. bob-wire keeps cycle records, design brief, and technical plan as source of truth.",{"type":31,"tag":32,"props":410,"children":411},{},[412,417,419,424,426,432],{"type":31,"tag":44,"props":413,"children":414},{},[415],{"type":36,"value":416},"Inventory scaffold & Mark Peterson call input (2026-08-31):",{"type":36,"value":418}," Cycle created from Mark Peterson fractional-CISO advisor call (roadmap-planning session, 2026-08-31, call data at ",{"type":31,"tag":126,"props":420,"children":422},{"className":421},[],[423],{"type":36,"value":219},{"type":36,"value":425},"). Split c16's agent inventory into two focused surfaces: Inventory (agent\u002Ftechnology rollup, company consolidation, licensing enforcement, monitored coverage) and Users\u002FDevices (identity-integrated, per-user AI usage, tokens\u002Fspend, MDM deployment coverage). Initial prompt and notes captured in ",{"type":31,"tag":126,"props":427,"children":429},{"className":428},[],[430],{"type":36,"value":431},"initial-prompt.md",{"type":36,"value":433},". Design brief and technical plan being drafted separately.",[],[436,437,431],"design-brief-summary.md","design-brief.md",[439,441,443,444],{"file":436,"title":440},"Design Brief — Summary",{"file":437,"title":442},"Design Brief — Inventory + Users \u002F Devices",{"file":431,"title":14},{"file":445,"title":446},"technical-plan.md","Technical Plan — Inventory + Users \u002F Devices",[],[],[],1794599344235]