[{"data":1,"prerenderedAt":556},["ShallowReactive",2],{"cycle-doc-bob-wire-c19-research-plan.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":18},{"id":5,"title":6},"c19","AI Asset Inventory",{"id":8,"label":9},"bob-wire","Bob-Wire","research-plan.md","AI Asset Inventory — Research Plan",[13,14,15,16,17],"Question","Target categories","Capture method","Output","Round 2 — general (non-AI) inventory pages",{"type":19,"children":20},"root",[21,46,52,57,121,126,133,138,201,207,212,220,226,231,239,245,250,258,264,269,282,288,310,315,320,405,410,420,425,448,453,458,551],{"type":22,"tag":23,"props":24,"children":25},"element","p",{},[26,29,36,38,44],{"type":27,"value":28},"text","Plan for finding existing examples of \"inventory\" pages relevant to an AI asset inventory (agents, MCP servers, files, models, etc.), with screengrabs where possible. Round 1 (AI-focused) and Round 2 (general inventory) executed 2026-07-31; results in ",{"type":22,"tag":30,"props":31,"children":33},"a",{"href":32},"\u002Fcycles\u002Fbob-wire\u002Fc19\u002Fdoc\u002Fprecedents",[34],{"type":27,"value":35},"precedents.md",{"type":27,"value":37}," and ",{"type":22,"tag":30,"props":39,"children":41},{"href":40},"\u002Fcycles\u002Fbob-wire\u002Fc19\u002Fdoc\u002Fprecedents\u002FREADME",[42],{"type":27,"value":43},"precedents\u002F",{"type":27,"value":45},".",{"type":22,"tag":47,"props":48,"children":50},"h2",{"id":49},"question",[51],{"type":27,"value":13},{"type":22,"tag":23,"props":53,"children":54},{},[55],{"type":27,"value":56},"What does a good inventory page look like for AI assets? Specifically:",{"type":22,"tag":58,"props":59,"children":60},"ul",{},[61,75,86,97,109],{"type":22,"tag":62,"props":63,"children":64},"li",{},[65,67,73],{"type":27,"value":66},"What ",{"type":22,"tag":68,"props":69,"children":70},"strong",{},[71],{"type":27,"value":72},"entity types",{"type":27,"value":74}," do incumbents inventory (agents, models, MCP servers, datasets, non-human identities…)?",{"type":22,"tag":62,"props":76,"children":77},{},[78,79,84],{"type":27,"value":66},{"type":22,"tag":68,"props":80,"children":81},{},[82],{"type":27,"value":83},"layout grammar",{"type":27,"value":85}," carries the list — table, cards, facets, treemap, graph?",{"type":22,"tag":62,"props":87,"children":88},{},[89,90,95],{"type":27,"value":66},{"type":22,"tag":68,"props":91,"children":92},{},[93],{"type":27,"value":94},"columns \u002F overlays",{"type":27,"value":96}," matter — posture badges, risk scores, usage counts, owners, last-seen?",{"type":22,"tag":62,"props":98,"children":99},{},[100,102,107],{"type":27,"value":101},"How are ",{"type":22,"tag":68,"props":103,"children":104},{},[105],{"type":27,"value":106},"shadow \u002F unapproved assets",{"type":27,"value":108}," flagged and distinguished from sanctioned ones?",{"type":22,"tag":62,"props":110,"children":111},{},[112,114,119],{"type":27,"value":113},"What is the ",{"type":22,"tag":68,"props":115,"children":116},{},[117],{"type":27,"value":118},"drill-down target",{"type":27,"value":120}," from a list row — detail page, side panel, graph?",{"type":22,"tag":47,"props":122,"children":124},{"id":123},"target-categories",[125],{"type":27,"value":14},{"type":22,"tag":127,"props":128,"children":130},"h3",{"id":129},"_1-ai-spm-ai-security-inventories-closest-competitors",[131],{"type":27,"value":132},"1. AI-SPM \u002F AI security inventories (closest competitors)",{"type":22,"tag":23,"props":134,"children":135},{},[136],{"type":27,"value":137},"The products whose inventory pages answer nearly the same question as Qpoint's.",{"type":22,"tag":58,"props":139,"children":140},{},[141,151,161,171,181,191],{"type":22,"tag":62,"props":142,"children":143},{},[144,149],{"type":22,"tag":68,"props":145,"children":146},{},[147],{"type":27,"value":148},"Wiz AI-SPM",{"type":27,"value":150}," — AI-BOM \u002F AI inventory of models, services, SDKs",{"type":22,"tag":62,"props":152,"children":153},{},[154,159],{"type":22,"tag":68,"props":155,"children":156},{},[157],{"type":27,"value":158},"Microsoft Purview \u002F Defender for Cloud AI",{"type":27,"value":160}," — shadow-AI discovery, AI app inventory",{"type":22,"tag":62,"props":162,"children":163},{},[164,169],{"type":22,"tag":68,"props":165,"children":166},{},[167],{"type":27,"value":168},"Zenity",{"type":27,"value":170}," — agent inventory (low-code + AI agents)",{"type":22,"tag":62,"props":172,"children":173},{},[174,179],{"type":22,"tag":68,"props":175,"children":176},{},[177],{"type":27,"value":178},"Astrix \u002F Token Security",{"type":27,"value":180}," — non-human identity inventories",{"type":22,"tag":62,"props":182,"children":183},{},[184,189],{"type":22,"tag":68,"props":185,"children":186},{},[187],{"type":27,"value":188},"Nightfall",{"type":27,"value":190}," — MCP server \u002F shadow-AI inventory",{"type":22,"tag":62,"props":192,"children":193},{},[194,199],{"type":22,"tag":68,"props":195,"children":196},{},[197],{"type":27,"value":198},"Protect AI (Radar), Noma, Lasso, Prompt Security",{"type":27,"value":200}," — AI asset discovery surfaces",{"type":22,"tag":127,"props":202,"children":204},{"id":203},"_2-agent-observability-platforms",[205],{"type":27,"value":206},"2. Agent observability platforms",{"type":22,"tag":23,"props":208,"children":209},{},[210],{"type":27,"value":211},"How dev-facing tools list agents, traces, models, tools.",{"type":22,"tag":58,"props":213,"children":214},{},[215],{"type":22,"tag":62,"props":216,"children":217},{},[218],{"type":27,"value":219},"LangSmith, Langfuse, Arize Phoenix, Galileo, Helicone",{"type":22,"tag":127,"props":221,"children":223},{"id":222},"_3-cloud-consoles",[224],{"type":27,"value":225},"3. Cloud consoles",{"type":22,"tag":23,"props":227,"children":228},{},[229],{"type":27,"value":230},"First-party agent\u002Fmodel list pages.",{"type":22,"tag":58,"props":232,"children":233},{},[234],{"type":22,"tag":62,"props":235,"children":236},{},[237],{"type":27,"value":238},"Azure AI Foundry (agents list), AWS Bedrock (agents\u002Fmodels console), Google Vertex AI Agent Builder",{"type":22,"tag":127,"props":240,"children":242},{"id":241},"_4-mcp-registries-gateways",[243],{"type":27,"value":244},"4. MCP registries & gateways",{"type":22,"tag":23,"props":246,"children":247},{},[248],{"type":27,"value":249},"How MCP servers specifically are cataloged — cards vs. tables, trust\u002Fverification badges.",{"type":22,"tag":58,"props":251,"children":252},{},[253],{"type":22,"tag":62,"props":254,"children":255},{},[256],{"type":27,"value":257},"Official MCP registry, Smithery, Docker MCP Catalog, Cloudflare MCP portals, MCP gateways (e.g. Obot)",{"type":22,"tag":127,"props":259,"children":261},{"id":260},"_5-classic-inventory-grammar-reference-patterns-not-competitors",[262],{"type":27,"value":263},"5. Classic inventory grammar (reference patterns, not competitors)",{"type":22,"tag":23,"props":265,"children":266},{},[267],{"type":27,"value":268},"Mature asset-inventory UI conventions worth borrowing.",{"type":22,"tag":58,"props":270,"children":271},{},[272,277],{"type":22,"tag":62,"props":273,"children":274},{},[275],{"type":27,"value":276},"Wiz cloud Inventory, Axonius (cyber-asset inventory), ServiceNow CMDB",{"type":22,"tag":62,"props":278,"children":279},{},[280],{"type":27,"value":281},"SaaS management (Torii, Zluri), API inventory (Salt, Noname), device management (Kandji, Jamf)",{"type":22,"tag":127,"props":283,"children":285},{"id":284},"_6-internal-prior-art-no-screengrabs",[286],{"type":27,"value":287},"6. Internal prior art (no screengrabs)",{"type":22,"tag":58,"props":289,"children":290},{},[291,296],{"type":22,"tag":62,"props":292,"children":293},{},[294],{"type":27,"value":295},"c6 raw inventory surface, c12 inventory-deep-dive (category theses, list\u002Fdetail jumps, repos entity)",{"type":22,"tag":62,"props":297,"children":298},{},[299,301,308],{"type":27,"value":300},"c16 fleet data (",{"type":22,"tag":302,"props":303,"children":305},"code",{"className":304},[],[306],{"type":27,"value":307},"app\u002Fdata\u002Fc16-fleet.ts",{"type":27,"value":309},") — agent\u002FMCP vocabulary already in use",{"type":22,"tag":47,"props":311,"children":313},{"id":312},"capture-method",[314],{"type":27,"value":15},{"type":22,"tag":23,"props":316,"children":317},{},[318],{"type":27,"value":319},"Proven in c18 (post-mortem-map):",{"type":22,"tag":321,"props":322,"children":323},"ol",{},[324,334,344,377,387],{"type":22,"tag":62,"props":325,"children":326},{},[327,332],{"type":22,"tag":68,"props":328,"children":329},{},[330],{"type":27,"value":331},"WebSearch",{"type":27,"value":333}," to locate vendor docs, blogs, and architecture guides showing the actual product UI.",{"type":22,"tag":62,"props":335,"children":336},{},[337,342],{"type":22,"tag":68,"props":338,"children":339},{},[340],{"type":27,"value":341},"WebFetch",{"type":27,"value":343}," pages to confirm the image shows an inventory view worth keeping.",{"type":22,"tag":62,"props":345,"children":346},{},[347,352,354,360,362,367,369,375],{"type":22,"tag":68,"props":348,"children":349},{},[350],{"type":27,"value":351},"Download",{"type":27,"value":353}," images via ",{"type":22,"tag":302,"props":355,"children":357},{"className":356},[],[358],{"type":27,"value":359},"curl",{"type":27,"value":361}," into ",{"type":22,"tag":302,"props":363,"children":365},{"className":364},[],[366],{"type":27,"value":43},{"type":27,"value":368}," with descriptive kebab-case names (e.g. ",{"type":22,"tag":302,"props":370,"children":372},{"className":371},[],[373],{"type":27,"value":374},"wiz-ai-spm-inventory.png",{"type":27,"value":376},").",{"type":22,"tag":62,"props":378,"children":379},{},[380,385],{"type":22,"tag":68,"props":381,"children":382},{},[383],{"type":27,"value":384},"Verify",{"type":27,"value":386}," each file is a real image (magic bytes, non-trivial size) — WAF'd hosts return HTML error pages.",{"type":22,"tag":62,"props":388,"children":389},{},[390,395,397,403],{"type":22,"tag":68,"props":391,"children":392},{},[393],{"type":27,"value":394},"Record",{"type":27,"value":396}," every capture in ",{"type":22,"tag":302,"props":398,"children":400},{"className":399},[],[401],{"type":27,"value":402},"precedents\u002FREADME.md",{"type":27,"value":404},": file | shows | source URL. Sources that 403 or are video-only go in a \"Not captured\" section with links.",{"type":22,"tag":23,"props":406,"children":407},{},[408],{"type":27,"value":409},"Best source types, in order: GitHub-hosted docs repos (e.g. MicrosoftDocs), vendor docs sites, vendor blogs, cloud-provider architecture guides, press kits.",{"type":22,"tag":23,"props":411,"children":412},{},[413,418],{"type":22,"tag":68,"props":414,"children":415},{},[416],{"type":27,"value":417},"Budget:",{"type":27,"value":419}," ~8–15 good screengrabs across categories. Breadth over completeness — this is a starter cycle.",{"type":22,"tag":47,"props":421,"children":423},{"id":422},"output",[424],{"type":27,"value":16},{"type":22,"tag":58,"props":426,"children":427},{},[428,438],{"type":22,"tag":62,"props":429,"children":430},{},[431,436],{"type":22,"tag":302,"props":432,"children":434},{"className":433},[],[435],{"type":27,"value":43},{"type":27,"value":437}," — screengrabs + sourced README",{"type":22,"tag":62,"props":439,"children":440},{},[441,446],{"type":22,"tag":302,"props":442,"children":444},{"className":443},[],[445],{"type":27,"value":35},{"type":27,"value":447}," — per-product notes grouped by category, extracted patterns (what every good inventory page does), gap statement (what nobody draws yet for agents + MCP servers + files together), and 5–10 implications for the future c19 inventory brief",{"type":22,"tag":47,"props":449,"children":451},{"id":450},"round-2-general-non-ai-inventory-pages",[452],{"type":27,"value":17},{"type":22,"tag":23,"props":454,"children":455},{},[456],{"type":27,"value":457},"Second pass over inventory UIs from any domain, for grammar rather than competition:",{"type":22,"tag":58,"props":459,"children":460},{},[461,471,481,491,501,511,521,531,541],{"type":22,"tag":62,"props":462,"children":463},{},[464,469],{"type":22,"tag":68,"props":465,"children":466},{},[467],{"type":27,"value":468},"Network\u002Finfrastructure (DCIM\u002FIPAM):",{"type":27,"value":470}," NetBox ✓ (open source, docs screenshots), Lansweeper ✗",{"type":22,"tag":62,"props":472,"children":473},{},[474,479],{"type":22,"tag":68,"props":475,"children":476},{},[477],{"type":27,"value":478},"Developer catalogs:",{"type":27,"value":480}," Backstage software catalog ✓ (open source), Datadog Service Catalog ✗ (JS docs)",{"type":22,"tag":62,"props":482,"children":483},{},[484,489],{"type":22,"tag":68,"props":485,"children":486},{},[487],{"type":27,"value":488},"IT asset management:",{"type":27,"value":490}," Ralph ✓ (open source, README tour), Snipe-IT ✗ (docs images not reachable), GLPI (not pursued)",{"type":22,"tag":62,"props":492,"children":493},{},[494,499],{"type":22,"tag":68,"props":495,"children":496},{},[497],{"type":27,"value":498},"Vulnerability-centric asset inventory:",{"type":27,"value":500}," Tenable ✓ (static docs), Qualys ✗ (not pursued), runZero ✗ (JS site)",{"type":22,"tag":62,"props":502,"children":503},{},[504,509],{"type":22,"tag":68,"props":505,"children":506},{},[507],{"type":27,"value":508},"Device fleet \u002F MDM:",{"type":27,"value":510}," Intune ✗ (docs paths 404d), Jamf\u002FKandji ✗ (WAF\u002FJS), Fleet ✗ (marketing renders only)",{"type":22,"tag":62,"props":512,"children":513},{},[514,519],{"type":22,"tag":68,"props":515,"children":516},{},[517],{"type":27,"value":518},"CMDB:",{"type":27,"value":520}," ServiceNow ✗ (docs WAF'd)",{"type":22,"tag":62,"props":522,"children":523},{},[524,529],{"type":22,"tag":68,"props":525,"children":526},{},[527],{"type":27,"value":528},"Cloud resource inventory:",{"type":27,"value":530}," AWS Config \u002F GCP Cloud Asset Inventory ✗ (JS-rendered console docs)",{"type":22,"tag":62,"props":532,"children":533},{},[534,539],{"type":22,"tag":68,"props":535,"children":536},{},[537],{"type":27,"value":538},"Commerce\u002Fstock:",{"type":27,"value":540}," Shopify, WooCommerce, Square ✗ (help centers expose no static screenshots) — covered in prose only",{"type":22,"tag":62,"props":542,"children":543},{},[544,549],{"type":22,"tag":68,"props":545,"children":546},{},[547],{"type":27,"value":548},"Dependencies as inventory:",{"type":27,"value":550}," GitHub dependency graph ✗ (docs images are tiny crops) — covered in prose",{"type":22,"tag":23,"props":552,"children":553},{},[554],{"type":27,"value":555},"Lesson from both rounds: open-source projects and GitHub-hosted docs repos are reliably capturable; JS-rendered marketing sites and help centers are not.",1794599415529]