[{"data":1,"prerenderedAt":666},["ShallowReactive",2],{"cycle-doc-qmap-c25-PLAN.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":22},{"id":5,"title":6},"c25","ai-ecosystem-inventory-map",{"id":8,"label":9},"qmap","Qmap","PLAN.md","c25. AI Ecosystem Inventory Map Plan",[13,14,15,16,17,18,19,20,21],"Goal","Phase A: Lock The Semantic Contract","Phase B: Stand Up The Synthetic Data Harness","Phase C: Build The qmap Experiment First","Phase D: Build And Tune The Wrapper","Phase E: Pressure-Test Inventory Density","Phase F: Decide What Needs Promotion","Scenario Matrix","Near-Term Recommendation",{"type":23,"children":24},"root",[25,33,39,64,69,74,79,124,129,141,146,203,208,213,218,265,270,309,314,347,352,365,389,394,399,412,417,440,445,450,455,496,501,524,529,534,557,562,570,575,580,623,628,633,638,643,661],{"type":26,"tag":27,"props":28,"children":30},"element","h2",{"id":29},"goal",[31],{"type":32,"value":13},"text",{"type":26,"tag":34,"props":35,"children":36},"p",{},[37],{"type":32,"value":38},"Build a qmap inventory\u002Findex view that shows the company-wide AI ecosystem for a selected timeframe:",{"type":26,"tag":40,"props":41,"children":42},"ul",{},[43,49,54,59],{"type":26,"tag":44,"props":45,"children":46},"li",{},[47],{"type":32,"value":48},"active agents as the center of gravity",{"type":26,"tag":44,"props":50,"children":51},{},[52],{"type":32,"value":53},"repositories around those agents",{"type":26,"tag":44,"props":55,"children":56},{},[57],{"type":32,"value":58},"files attached to repositories",{"type":26,"tag":44,"props":60,"children":61},{},[62],{"type":32,"value":63},"MCP servers, tools, and sub-agents as surrounding capability surfaces",{"type":26,"tag":34,"props":65,"children":66},{},[67],{"type":32,"value":68},"The result should behave like a product-facing inventory view, not just a session debug harness.",{"type":26,"tag":27,"props":70,"children":72},{"id":71},"phase-a-lock-the-semantic-contract",[73],{"type":32,"value":14},{"type":26,"tag":34,"props":75,"children":76},{},[77],{"type":32,"value":78},"Before deepening the wrapper, confirm the intended model:",{"type":26,"tag":40,"props":80,"children":81},{},[82,87,92,97,102],{"type":26,"tag":44,"props":83,"children":84},{},[85],{"type":32,"value":86},"one scenario represents one timeframe-bounded ecosystem snapshot",{"type":26,"tag":44,"props":88,"children":89},{},[90],{"type":32,"value":91},"agents are the top-level active entities",{"type":26,"tag":44,"props":93,"children":94},{},[95],{"type":32,"value":96},"repositories are first-class actors, not just tags on files",{"type":26,"tag":44,"props":98,"children":99},{},[100],{"type":32,"value":101},"files carry repo tags so grouping can nest file actors under repository names",{"type":26,"tag":44,"props":103,"children":104},{},[105,107,114,116,122],{"type":32,"value":106},"tools and sub-agents remain distinct via ",{"type":26,"tag":108,"props":109,"children":111},"code",{"className":110},[],[112],{"type":32,"value":113},"entityType",{"type":32,"value":115}," tags even if both use the ",{"type":26,"tag":108,"props":117,"children":119},{"className":118},[],[120],{"type":32,"value":121},"skill",{"type":32,"value":123}," mesh family",{"type":26,"tag":34,"props":125,"children":126},{},[127],{"type":32,"value":128},"Recommended wrapper name:",{"type":26,"tag":40,"props":130,"children":131},{},[132],{"type":26,"tag":44,"props":133,"children":134},{},[135],{"type":26,"tag":108,"props":136,"children":138},{"className":137},[],[139],{"type":32,"value":140},"QMapInventoryIndex",{"type":26,"tag":34,"props":142,"children":143},{},[144],{"type":32,"value":145},"Recommended first-pass actor mapping:",{"type":26,"tag":40,"props":147,"children":148},{},[149,160,171,182,193],{"type":26,"tag":44,"props":150,"children":151},{},[152,158],{"type":26,"tag":108,"props":153,"children":155},{"className":154},[],[156],{"type":32,"value":157},"agent",{"type":32,"value":159}," -> AI agents",{"type":26,"tag":44,"props":161,"children":162},{},[163,169],{"type":26,"tag":108,"props":164,"children":166},{"className":165},[],[167],{"type":32,"value":168},"app",{"type":32,"value":170}," -> repositories",{"type":26,"tag":44,"props":172,"children":173},{},[174,180],{"type":26,"tag":108,"props":175,"children":177},{"className":176},[],[178],{"type":32,"value":179},"file",{"type":32,"value":181}," -> files",{"type":26,"tag":44,"props":183,"children":184},{},[185,191],{"type":26,"tag":108,"props":186,"children":188},{"className":187},[],[189],{"type":32,"value":190},"mcp-server",{"type":32,"value":192}," -> MCP servers",{"type":26,"tag":44,"props":194,"children":195},{},[196,201],{"type":26,"tag":108,"props":197,"children":199},{"className":198},[],[200],{"type":32,"value":121},{"type":32,"value":202}," -> tools and sub-agents",{"type":26,"tag":27,"props":204,"children":206},{"id":205},"phase-b-stand-up-the-synthetic-data-harness",[207],{"type":32,"value":15},{"type":26,"tag":34,"props":209,"children":210},{},[211],{"type":32,"value":212},"Create a deterministic data module first so layout tuning is repeatable.",{"type":26,"tag":34,"props":214,"children":215},{},[216],{"type":32,"value":217},"Required scenario tiers:",{"type":26,"tag":40,"props":219,"children":220},{},[221,232,243,254],{"type":26,"tag":44,"props":222,"children":223},{},[224,230],{"type":26,"tag":108,"props":225,"children":227},{"className":226},[],[228],{"type":32,"value":229},"demo",{"type":32,"value":231}," — tiny hand-checkable story for screenshots and wrapper tuning",{"type":26,"tag":44,"props":233,"children":234},{},[235,241],{"type":26,"tag":108,"props":236,"children":238},{"className":237},[],[239],{"type":32,"value":240},"teamspace",{"type":32,"value":242}," — one realistic cross-team working set",{"type":26,"tag":44,"props":244,"children":245},{},[246,252],{"type":26,"tag":108,"props":247,"children":249},{"className":248},[],[250],{"type":32,"value":251},"enterprise",{"type":32,"value":253}," — large but still interpretable enterprise topology",{"type":26,"tag":44,"props":255,"children":256},{},[257,263],{"type":26,"tag":108,"props":258,"children":260},{"className":259},[],[261],{"type":32,"value":262},"global-enterprise",{"type":32,"value":264}," — intentionally oversized stress case",{"type":26,"tag":34,"props":266,"children":267},{},[268],{"type":32,"value":269},"Each scenario should export:",{"type":26,"tag":40,"props":271,"children":272},{},[273,282,291,300],{"type":26,"tag":44,"props":274,"children":275},{},[276],{"type":26,"tag":108,"props":277,"children":279},{"className":278},[],[280],{"type":32,"value":281},"actors",{"type":26,"tag":44,"props":283,"children":284},{},[285],{"type":26,"tag":108,"props":286,"children":288},{"className":287},[],[289],{"type":32,"value":290},"dataflows",{"type":26,"tag":44,"props":292,"children":293},{},[294],{"type":26,"tag":108,"props":295,"children":297},{"className":296},[],[298],{"type":32,"value":299},"stats",{"type":26,"tag":44,"props":301,"children":302},{},[303],{"type":26,"tag":108,"props":304,"children":306},{"className":305},[],[307],{"type":32,"value":308},"meta",{"type":26,"tag":34,"props":310,"children":311},{},[312],{"type":32,"value":313},"Recommended graph behavior:",{"type":26,"tag":40,"props":315,"children":316},{},[317,322,327,332,337,342],{"type":26,"tag":44,"props":318,"children":319},{},[320],{"type":32,"value":321},"agent -> repository flows encode active work",{"type":26,"tag":44,"props":323,"children":324},{},[325],{"type":32,"value":326},"repository -> file flows encode file membership and file-touch concentration",{"type":26,"tag":44,"props":328,"children":329},{},[330],{"type":32,"value":331},"agent -> MCP server flows encode capability usage",{"type":26,"tag":44,"props":333,"children":334},{},[335],{"type":32,"value":336},"agent -> tool flows encode direct tool use",{"type":26,"tag":44,"props":338,"children":339},{},[340],{"type":32,"value":341},"agent -> sub-agent flows encode delegation",{"type":26,"tag":44,"props":343,"children":344},{},[345],{"type":32,"value":346},"optional sub-agent -> repository flows encode delegated work when useful",{"type":26,"tag":27,"props":348,"children":350},{"id":349},"phase-c-build-the-qmap-experiment-first",[351],{"type":32,"value":16},{"type":26,"tag":34,"props":353,"children":354},{},[355,357,363],{"type":32,"value":356},"In ",{"type":26,"tag":108,"props":358,"children":360},{"className":359},[],[361],{"type":32,"value":362},"dev\u002Fexperiments\u002Fc25.ai-ecosystem-inventory-map\u002F",{"type":32,"value":364},":",{"type":26,"tag":366,"props":367,"children":368},"ol",{},[369,374,379,384],{"type":26,"tag":44,"props":370,"children":371},{},[372],{"type":32,"value":373},"create the experiment shell",{"type":26,"tag":44,"props":375,"children":376},{},[377],{"type":32,"value":378},"load the synthetic scenarios",{"type":26,"tag":44,"props":380,"children":381},{},[382],{"type":32,"value":383},"wire grouping mode controls",{"type":26,"tag":44,"props":385,"children":386},{},[387],{"type":32,"value":388},"show compact stats for actors, flows, and major entity families",{"type":26,"tag":34,"props":390,"children":391},{},[392],{"type":32,"value":393},"The experiment should remain the place where density is judged, not the wrapper alone.",{"type":26,"tag":27,"props":395,"children":397},{"id":396},"phase-d-build-and-tune-the-wrapper",[398],{"type":32,"value":17},{"type":26,"tag":34,"props":400,"children":401},{},[402,404,410],{"type":32,"value":403},"Create ",{"type":26,"tag":108,"props":405,"children":407},{"className":406},[],[408],{"type":32,"value":409},"src\u002Fcomponents\u002FQMapInventoryIndex.vue",{"type":32,"value":411},".",{"type":26,"tag":34,"props":413,"children":414},{},[415],{"type":32,"value":416},"The wrapper should:",{"type":26,"tag":40,"props":418,"children":419},{},[420,425,430,435],{"type":26,"tag":44,"props":421,"children":422},{},[423],{"type":32,"value":424},"accept one inventory snapshot object",{"type":26,"tag":44,"props":426,"children":427},{},[428],{"type":32,"value":429},"reduce that snapshot to normal qmap actors and dataflows",{"type":26,"tag":44,"props":431,"children":432},{},[433],{"type":32,"value":434},"apply tuned defaults distinct from single-session wrappers",{"type":26,"tag":44,"props":436,"children":437},{},[438],{"type":32,"value":439},"expose a small, stable grouping API",{"type":26,"tag":34,"props":441,"children":442},{},[443],{"type":32,"value":444},"The wrapper should not depend on experiment-local files.",{"type":26,"tag":27,"props":446,"children":448},{"id":447},"phase-e-pressure-test-inventory-density",[449],{"type":32,"value":18},{"type":26,"tag":34,"props":451,"children":452},{},[453],{"type":32,"value":454},"Focus the tuning pass on the problems this view is uniquely likely to hit:",{"type":26,"tag":40,"props":456,"children":457},{},[458,463,468,479,491],{"type":26,"tag":44,"props":459,"children":460},{},[461],{"type":32,"value":462},"many agents in the same focal region",{"type":26,"tag":44,"props":464,"children":465},{},[466],{"type":32,"value":467},"repository fans that are wider than single-session MCP fans",{"type":26,"tag":44,"props":469,"children":470},{},[471,473],{"type":32,"value":472},"file rugs that may become much denser than ",{"type":26,"tag":108,"props":474,"children":476},{"className":475},[],[477],{"type":32,"value":478},"c21",{"type":26,"tag":44,"props":480,"children":481},{},[482,484,489],{"type":32,"value":483},"mixed ",{"type":26,"tag":108,"props":485,"children":487},{"className":486},[],[488],{"type":32,"value":121},{"type":32,"value":490}," semantics where tools and sub-agents coexist",{"type":26,"tag":44,"props":492,"children":493},{},[494],{"type":32,"value":495},"long repository and file labels",{"type":26,"tag":34,"props":497,"children":498},{},[499],{"type":32,"value":500},"Judgment criteria:",{"type":26,"tag":40,"props":502,"children":503},{},[504,509,514,519],{"type":26,"tag":44,"props":505,"children":506},{},[507],{"type":32,"value":508},"active agents remain easy to spot first",{"type":26,"tag":44,"props":510,"children":511},{},[512],{"type":32,"value":513},"repositories feel like the middle layer",{"type":26,"tag":44,"props":515,"children":516},{},[517],{"type":32,"value":518},"files visually read as attached to repositories rather than as a separate random cloud",{"type":26,"tag":44,"props":520,"children":521},{},[522],{"type":32,"value":523},"MCP\u002Ftool\u002Fsub-agent surfaces stay interpretable as ecosystem capabilities",{"type":26,"tag":27,"props":525,"children":527},{"id":526},"phase-f-decide-what-needs-promotion",[528],{"type":32,"value":19},{"type":26,"tag":34,"props":530,"children":531},{},[532],{"type":32,"value":533},"Only after the experiment feels convincing should we decide whether qmap needs:",{"type":26,"tag":40,"props":535,"children":536},{},[537,542,547,552],{"type":26,"tag":44,"props":538,"children":539},{},[540],{"type":32,"value":541},"a dedicated repository mesh",{"type":26,"tag":44,"props":543,"children":544},{},[545],{"type":32,"value":546},"a dedicated tool mesh",{"type":26,"tag":44,"props":548,"children":549},{},[550],{"type":32,"value":551},"inventory-specific default presets beyond the initial wrapper",{"type":26,"tag":44,"props":553,"children":554},{},[555],{"type":32,"value":556},"a summarization helper for extremely large repo\u002Ffile sets",{"type":26,"tag":34,"props":558,"children":559},{},[560],{"type":32,"value":561},"Default recommendation:",{"type":26,"tag":40,"props":563,"children":564},{},[565],{"type":26,"tag":44,"props":566,"children":567},{},[568],{"type":32,"value":569},"defer new mesh work until the wrapper proves the semantic shape is right",{"type":26,"tag":27,"props":571,"children":573},{"id":572},"scenario-matrix",[574],{"type":32,"value":20},{"type":26,"tag":34,"props":576,"children":577},{},[578],{"type":32,"value":579},"The deterministic generator is designed to land roughly at:",{"type":26,"tag":40,"props":581,"children":582},{},[583,593,603,613],{"type":26,"tag":44,"props":584,"children":585},{},[586,591],{"type":26,"tag":108,"props":587,"children":589},{"className":588},[],[590],{"type":32,"value":229},{"type":32,"value":592}," -> ~3 agents, ~3 repos, ~12 to 14 files, 3 MCP servers, 4 tools, 2 sub-agents",{"type":26,"tag":44,"props":594,"children":595},{},[596,601],{"type":26,"tag":108,"props":597,"children":599},{"className":598},[],[600],{"type":32,"value":240},{"type":32,"value":602}," -> ~9 agents, ~9 repos, ~50 files, 6 MCP servers, 8 tools, 5 sub-agents",{"type":26,"tag":44,"props":604,"children":605},{},[606,611],{"type":26,"tag":108,"props":607,"children":609},{"className":608},[],[610],{"type":32,"value":251},{"type":32,"value":612}," -> ~38 agents, ~25 repos, ~240 files, 10 MCP servers, 16 tools, 14 sub-agents",{"type":26,"tag":44,"props":614,"children":615},{},[616,621],{"type":26,"tag":108,"props":617,"children":619},{"className":618},[],[620],{"type":32,"value":262},{"type":32,"value":622}," -> ~110 agents, ~48 repos, ~700 files, 14 MCP servers, 24 tools, 32 sub-agents",{"type":26,"tag":34,"props":624,"children":625},{},[626],{"type":32,"value":627},"The exact totals should remain deterministic per seed, but slightly irregular counts are fine if they produce a more believable topology.",{"type":26,"tag":27,"props":629,"children":631},{"id":630},"near-term-recommendation",[632],{"type":32,"value":21},{"type":26,"tag":34,"props":634,"children":635},{},[636],{"type":32,"value":637},"Do not start by inventing new visuals.",{"type":26,"tag":34,"props":639,"children":640},{},[641],{"type":32,"value":642},"Start by proving:",{"type":26,"tag":40,"props":644,"children":645},{},[646,651,656],{"type":26,"tag":44,"props":647,"children":648},{},[649],{"type":32,"value":650},"existing qmap meshes can express the inventory semantics",{"type":26,"tag":44,"props":652,"children":653},{},[654],{"type":32,"value":655},"repository\u002Ffile relations are spatially readable",{"type":26,"tag":44,"props":657,"children":658},{},[659],{"type":32,"value":660},"the deterministic synthetic scenarios are rich enough to tune against",{"type":26,"tag":34,"props":662,"children":663},{},[664],{"type":32,"value":665},"If those three hold, the cycle is worth deepening immediately.",1794599378902]