[{"data":1,"prerenderedAt":828},["ShallowReactive",2],{"cycle-doc-bob-wire-c6-plan.md":3},{"cycle":4,"project":7,"path":10,"title":11,"toc":12,"ast":20},{"id":5,"title":6},"c6","Dashboard Prototype",{"id":8,"label":9},"bob-wire","Bob-Wire","plan.md","C6: Dashboard Prototype Plan",[13,14,15,16,17,18,19],"Context","Decisions (confirmed with user)","Proposed Architecture","Phase 1: Design Brief","Phase 2: Wireframe Implementation","Critical Files","Verification",{"type":21,"children":22},"root",[23,31,45,59,84,88,93,136,139,144,151,156,168,211,224,242,275,280,291,297,309,318,321,326,332,382,388,398,408,426,436,446,456,466,476,486,497,500,505,511,599,605,675,681,694,697,702,769,772,777,823],{"type":24,"tag":25,"props":26,"children":28},"element","h2",{"id":27},"context",[29],{"type":30,"value":13},"text",{"type":24,"tag":32,"props":33,"children":34},"p",{},[35,37,43],{"type":30,"value":36},"C5 established the data model for AI agent observability (10 inventory entities, data models, initial wireframes for agent-inventory). C6 takes those foundations and builds the ",{"type":24,"tag":38,"props":39,"children":40},"strong",{},[41],{"type":30,"value":42},"complete dashboard prototype",{"type":30,"value":44}," — the full navigation shell, all sections, and a clickable multi-page wireframe.",{"type":24,"tag":32,"props":46,"children":47},{},[48,50,57],{"type":30,"value":49},"The initial prompt (",{"type":24,"tag":51,"props":52,"children":54},"code",{"className":53},[],[55],{"type":30,"value":56},"cycles\u002Fc6.dashboard-prototype\u002Finitial-prompt.md",{"type":30,"value":58},") defines two phases:",{"type":24,"tag":60,"props":61,"children":62},"ul",{},[63,74],{"type":24,"tag":64,"props":65,"children":66},"li",{},[67,72],{"type":24,"tag":38,"props":68,"children":69},{},[70],{"type":30,"value":71},"Phase 1",{"type":30,"value":73}," — Design brief: all pages, goals, data, actions, and page hierarchy",{"type":24,"tag":64,"props":75,"children":76},{},[77,82],{"type":24,"tag":38,"props":78,"children":79},{},[80],{"type":30,"value":81},"Phase 2",{"type":30,"value":83}," — Clickable wireframe prototype covering the entire dashboard (no header, naked wireframe)",{"type":24,"tag":85,"props":86,"children":87},"hr",{},[],{"type":24,"tag":25,"props":89,"children":91},{"id":90},"decisions-confirmed-with-user",[92],{"type":30,"value":14},{"type":24,"tag":60,"props":94,"children":95},{},[96,106,116,126],{"type":24,"tag":64,"props":97,"children":98},{},[99,104],{"type":24,"tag":38,"props":100,"children":101},{},[102],{"type":30,"value":103},"Alerting",{"type":30,"value":105},": Own top-level nav section (alongside Security, Inventory, Settings)",{"type":24,"tag":64,"props":107,"children":108},{},[109,114],{"type":24,"tag":38,"props":110,"children":111},{},[112],{"type":30,"value":113},"Home page",{"type":30,"value":115},": Executive overview — active sessions, top risks, spend at a glance",{"type":24,"tag":64,"props":117,"children":118},{},[119,124],{"type":24,"tag":38,"props":120,"children":121},{},[122],{"type":30,"value":123},"Inventory scope",{"type":30,"value":125},": Priority subset — Sessions + detail, Agents, Users, MCP Servers fully built; other 6 items get placeholder list pages",{"type":24,"tag":64,"props":127,"children":128},{},[129,134],{"type":24,"tag":38,"props":130,"children":131},{},[132],{"type":30,"value":133},"Settings",{"type":30,"value":135},": Placeholder stub only",{"type":24,"tag":85,"props":137,"children":138},{},[],{"type":24,"tag":25,"props":140,"children":142},{"id":141},"proposed-architecture",[143],{"type":30,"value":15},{"type":24,"tag":145,"props":146,"children":148},"h3",{"id":147},"navigation-shell",[149],{"type":30,"value":150},"Navigation Shell",{"type":24,"tag":32,"props":152,"children":153},{},[154],{"type":30,"value":155},"No WireHeader. Three-column layout, left to right, page stretches full width:",{"type":24,"tag":157,"props":158,"children":162},"pre",{"className":159,"code":161,"language":30},[160],"language-text","┌──────────────────────────────────────────────────────────┐\n│  Filter Placeholder                                      │\n└──────────────────────────────────────────────────────────┘\n│  Global  │  Category Nav  │  Content (full width)        │\n│  Nav     │  (section      │                              │\n│  (always │  sub-items,    │                              │\n│  visible)│  visible when  │                              │\n│          │  in a section) │                              │\n└──────────┴────────────────┴──────────────────────────────┘\n",[163],{"type":24,"tag":51,"props":164,"children":166},{"__ignoreMap":165},"",[167],{"type":30,"value":161},{"type":24,"tag":60,"props":169,"children":170},{},[171,181,191,201],{"type":24,"tag":64,"props":172,"children":173},{},[174,179],{"type":24,"tag":38,"props":175,"children":176},{},[177],{"type":30,"value":178},"Filter Placeholder",{"type":30,"value":180}," Not important, very light \u002F grey",{"type":24,"tag":64,"props":182,"children":183},{},[184,189],{"type":24,"tag":38,"props":185,"children":186},{},[187],{"type":30,"value":188},"Global nav",{"type":30,"value":190}," (leftmost, always present): Home, Security, Alerting, Inventory, Settings — icon + label or just labels (vue component)",{"type":24,"tag":64,"props":192,"children":193},{},[194,199],{"type":24,"tag":38,"props":195,"children":196},{},[197],{"type":30,"value":198},"Category nav",{"type":30,"value":200}," (middle panel, context-sensitive): sub-items for the active section (e.g. Inventory → Sessions, Agents, Users, MCP Servers…). Hidden on Home page. (create a component for this)",{"type":24,"tag":64,"props":202,"children":203},{},[204,209],{"type":24,"tag":38,"props":205,"children":206},{},[207],{"type":30,"value":208},"Content area",{"type":30,"value":210},": stretches to fill remaining width",{"type":24,"tag":32,"props":212,"children":213},{},[214,216,222],{"type":30,"value":215},"All pages use ",{"type":24,"tag":51,"props":217,"children":219},{"className":218},[],[220],{"type":30,"value":221},"layout: 'wireframe'",{"type":30,"value":223}," and render the shell as part of the page template (not a Nuxt layout).",{"type":24,"tag":32,"props":225,"children":226},{},[227,232,234,240],{"type":24,"tag":38,"props":228,"children":229},{},[230],{"type":30,"value":231},"Shell components to create",{"type":30,"value":233}," in ",{"type":24,"tag":51,"props":235,"children":237},{"className":236},[],[238],{"type":30,"value":239},"app\u002Fcomponents\u002Fwire\u002F",{"type":30,"value":241}," (auto-imported):",{"type":24,"tag":60,"props":243,"children":244},{},[245,256],{"type":24,"tag":64,"props":246,"children":247},{},[248,254],{"type":24,"tag":51,"props":249,"children":251},{"className":250},[],[252],{"type":30,"value":253},"WireDashGlobalNav.vue",{"type":30,"value":255}," — global nav column (Home, Security, Alerting, Inventory, Settings); highlights active section",{"type":24,"tag":64,"props":257,"children":258},{},[259,265,267,273],{"type":24,"tag":51,"props":260,"children":262},{"className":261},[],[263],{"type":30,"value":264},"WireDashCategoryNav.vue",{"type":30,"value":266}," — category nav column (section-specific sub-items); hidden on Home page; accepts a ",{"type":24,"tag":51,"props":268,"children":270},{"className":269},[],[271],{"type":30,"value":272},"section",{"type":30,"value":274}," prop to render the right sub-items",{"type":24,"tag":32,"props":276,"children":277},{},[278],{"type":30,"value":279},"Page template pattern:",{"type":24,"tag":157,"props":281,"children":286},{"className":282,"code":283,"language":284,"meta":165,"style":285},"language-vue","\u003Ctemplate>\n  \u003Cdiv class=\"flex h-screen\">\n    \u003C!-- Top filter bar (full width, very light\u002Fgrey) -->\n    \u003Cdiv class=\"...filter bar...\">\u003C\u002Fdiv>\n    \u003C!-- Three-column body -->\n    \u003Cdiv class=\"flex flex-1\">\n      \u003CWireDashGlobalNav active=\"inventory\" \u002F>\n      \u003CWireDashCategoryNav section=\"inventory\" active=\"sessions\" \u002F>\n      \u003Cmain class=\"flex-1 overflow-auto p-6\">\u003C!-- content -->\u003C\u002Fmain>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n","vue","undefined",[287],{"type":24,"tag":51,"props":288,"children":289},{"__ignoreMap":165},[290],{"type":30,"value":283},{"type":24,"tag":145,"props":292,"children":294},{"id":293},"page-hierarchy",[295],{"type":30,"value":296},"Page Hierarchy",{"type":24,"tag":32,"props":298,"children":299},{},[300,302,307],{"type":30,"value":301},"Pages use ",{"type":24,"tag":38,"props":303,"children":304},{},[305],{"type":30,"value":306},"nested directories",{"type":30,"value":308}," matching the nav hierarchy. URLs mirror the structure.",{"type":24,"tag":157,"props":310,"children":313},{"className":311,"code":312,"language":30},[160],"app\u002Fpages\u002Fc6\u002Fwireframes\u002Fdashboard-v1\u002F\n├── home.vue                          → \u002Fdashboard-v1\u002Fhome\n├── security\u002F\n│   └── index.vue                     → \u002Fdashboard-v1\u002Fsecurity\n├── alerting\u002F\n│   └── index.vue                     → \u002Fdashboard-v1\u002Falerting\n├── inventory\u002F\n│   ├── index.vue                     → \u002Fdashboard-v1\u002Finventory (category tiles)\n│   ├── sessions\u002F\n│   │   ├── index.vue                 → \u002Fdashboard-v1\u002Finventory\u002Fsessions — FULL\n│   │   └── detail.vue                → \u002Fdashboard-v1\u002Finventory\u002Fsessions\u002Fdetail — FULL\n│   ├── agents\u002F\n│   │   └── index.vue                 → \u002Fdashboard-v1\u002Finventory\u002Fagents — FULL\n│   ├── users\u002F\n│   │   └── index.vue                 → \u002Fdashboard-v1\u002Finventory\u002Fusers — FULL\n│   ├── mcp-servers\u002F\n│   │   └── index.vue                 → \u002Fdashboard-v1\u002Finventory\u002Fmcp-servers — FULL\n│   ├── models\u002F\n│   │   └── index.vue                 → \u002Fdashboard-v1\u002Finventory\u002Fmodels — PLACEHOLDER\n│   ├── api-keys\u002F\n│   │   └── index.vue                 → \u002Fdashboard-v1\u002Finventory\u002Fapi-keys — PLACEHOLDER\n│   ├── endpoints\u002F\n│   │   └── index.vue                 → \u002Fdashboard-v1\u002Finventory\u002Fendpoints — PLACEHOLDER\n│   ├── capabilities\u002F\n│   │   └── index.vue                 → \u002Fdashboard-v1\u002Finventory\u002Fcapabilities — PLACEHOLDER\n│   ├── files\u002F\n│   │   └── index.vue                 → \u002Fdashboard-v1\u002Finventory\u002Ffiles — PLACEHOLDER\n│   └── secondary-calls\u002F\n│       └── index.vue                 → \u002Fdashboard-v1\u002Finventory\u002Fsecondary-calls — PLACEHOLDER\n└── settings\u002F\n    └── index.vue                     → \u002Fdashboard-v1\u002Fsettings — PLACEHOLDER\n",[314],{"type":24,"tag":51,"props":315,"children":316},{"__ignoreMap":165},[317],{"type":30,"value":312},{"type":24,"tag":85,"props":319,"children":320},{},[],{"type":24,"tag":25,"props":322,"children":324},{"id":323},"phase-1-design-brief",[325],{"type":30,"value":16},{"type":24,"tag":145,"props":327,"children":329},{"id":328},"deliverables",[330],{"type":30,"value":331},"Deliverables",{"type":24,"tag":333,"props":334,"children":335},"ol",{},[336,350],{"type":24,"tag":64,"props":337,"children":338},{},[339,348],{"type":24,"tag":38,"props":340,"children":341},{},[342],{"type":24,"tag":51,"props":343,"children":345},{"className":344},[],[346],{"type":30,"value":347},"cycles\u002Fc6.dashboard-prototype\u002FCYCLE.md",{"type":30,"value":349}," — cycle definition and status tracker",{"type":24,"tag":64,"props":351,"children":352},{},[353,362,364],{"type":24,"tag":38,"props":354,"children":355},{},[356],{"type":24,"tag":51,"props":357,"children":359},{"className":358},[],[360],{"type":30,"value":361},"cycles\u002Fc6.dashboard-prototype\u002Fbriefs\u002Fdashboard.md",{"type":30,"value":363}," — comprehensive design brief\n",{"type":24,"tag":60,"props":365,"children":366},{},[367,372,377],{"type":24,"tag":64,"props":368,"children":369},{},[370],{"type":30,"value":371},"One entry per page: goal, data conveyed, actions allowed",{"type":24,"tag":64,"props":373,"children":374},{},[375],{"type":30,"value":376},"Navigation shell description",{"type":24,"tag":64,"props":378,"children":379},{},[380],{"type":30,"value":381},"Type: wireframe",{"type":24,"tag":145,"props":383,"children":385},{"id":384},"page-descriptions-for-the-brief",[386],{"type":30,"value":387},"Page Descriptions (for the brief)",{"type":24,"tag":32,"props":389,"children":390},{},[391,396],{"type":24,"tag":38,"props":392,"children":393},{},[394],{"type":30,"value":395},"home",{"type":30,"value":397}," — Cross-section org overview. Stats strip (active sessions, top risks, total spend today). Two panels: Security Posture summary (2-3 abstract risk items) + Inventory Summary (entity counts). Quick-links into each section.",{"type":24,"tag":32,"props":399,"children":400},{},[401,406],{"type":24,"tag":38,"props":402,"children":403},{},[404],{"type":30,"value":405},"security",{"type":30,"value":407}," — Abstract posture view. Risk cards (\"3 sessions using unknown API keys\", \"1 high-cost outlier session >$50\"). Each card is clickable to a filtered inventory view. No raw event data.",{"type":24,"tag":32,"props":409,"children":410},{},[411,416,418,424],{"type":24,"tag":38,"props":412,"children":413},{},[414],{"type":30,"value":415},"alerting",{"type":30,"value":417}," — Alert rules list with status (active\u002Ffiring\u002Fmuted). Recent alert fires with abstract descriptions. Link to policy configuration. Could surface: \"API key ",{"type":24,"tag":51,"props":419,"children":421},{"className":420},[],[422],{"type":30,"value":423},"sk-ant-...C001",{"type":30,"value":425}," used in session — unknown key policy fired.\"",{"type":24,"tag":32,"props":427,"children":428},{},[429,434],{"type":24,"tag":38,"props":430,"children":431},{},[432],{"type":30,"value":433},"inventory",{"type":30,"value":435}," — Category home. Grid of 10 entity type tiles (Session, Agent, User, Model, API Key, Endpoint, MCP Server, Capability, File, Secondary Call), organized by category (Core \u002F Identity \u002F Capabilities \u002F Exposure). Each tile shows count + last-seen. Click → entity list page.",{"type":24,"tag":32,"props":437,"children":438},{},[439,444],{"type":24,"tag":38,"props":440,"children":441},{},[442],{"type":30,"value":443},"sessions",{"type":30,"value":445}," — Full sessions list. Same data as c5 but now a left-nav section, not a standalone feature. Filter bar, sortable columns, row click → session-detail.",{"type":24,"tag":32,"props":447,"children":448},{},[449,454],{"type":24,"tag":38,"props":450,"children":451},{},[452],{"type":30,"value":453},"session-detail",{"type":30,"value":455}," — Single session full context. Mirrors c5 detail: identity block, metrics, turn timeline, tool calls, files, secondary calls.",{"type":24,"tag":32,"props":457,"children":458},{},[459,464],{"type":24,"tag":38,"props":460,"children":461},{},[462],{"type":30,"value":463},"agents",{"type":30,"value":465}," — Agent inventory list. Columns: name, version, sessions, users, first\u002Flast seen.",{"type":24,"tag":32,"props":467,"children":468},{},[469,474],{"type":24,"tag":38,"props":470,"children":471},{},[472],{"type":30,"value":473},"users",{"type":30,"value":475}," — User inventory list. Columns: email\u002Fusername, sessions, total cost, primary agent, first\u002Flast seen.",{"type":24,"tag":32,"props":477,"children":478},{},[479,484],{"type":24,"tag":38,"props":480,"children":481},{},[482],{"type":30,"value":483},"mcp-servers",{"type":30,"value":485}," — MCP server list. Columns: name, version, transport, tools available, sessions, total tool calls, error rate.",{"type":24,"tag":32,"props":487,"children":488},{},[489,495],{"type":24,"tag":490,"props":491,"children":492},"em",{},[493],{"type":30,"value":494},"Placeholder pages (models, api-keys, endpoints, capabilities, files, secondary-calls, settings):",{"type":30,"value":496}," Left nav + section header + \"Coming soon\" content block only.",{"type":24,"tag":85,"props":498,"children":499},{},[],{"type":24,"tag":25,"props":501,"children":503},{"id":502},"phase-2-wireframe-implementation",[504],{"type":30,"value":17},{"type":24,"tag":145,"props":506,"children":508},{"id":507},"step-by-step",[509],{"type":30,"value":510},"Step-by-step",{"type":24,"tag":333,"props":512,"children":513},{},[514,524,542,554,571,576,587],{"type":24,"tag":64,"props":515,"children":516},{},[517,519],{"type":30,"value":518},"Create ",{"type":24,"tag":51,"props":520,"children":522},{"className":521},[],[523],{"type":30,"value":347},{"type":24,"tag":64,"props":525,"children":526},{},[527,529,535,537],{"type":30,"value":528},"Run ",{"type":24,"tag":51,"props":530,"children":532},{"className":531},[],[533],{"type":30,"value":534},"\u002Fwrite-brief",{"type":30,"value":536}," → ",{"type":24,"tag":51,"props":538,"children":540},{"className":539},[],[541],{"type":30,"value":361},{"type":24,"tag":64,"props":543,"children":544},{},[545,546,552],{"type":30,"value":518},{"type":24,"tag":51,"props":547,"children":549},{"className":548},[],[550],{"type":30,"value":551},"app\u002Fpages\u002Fc6\u002Findex.vue",{"type":30,"value":553}," (cycle gallery)",{"type":24,"tag":64,"props":555,"children":556},{},[557,559,564,566],{"type":30,"value":558},"Create shell components: ",{"type":24,"tag":51,"props":560,"children":562},{"className":561},[],[563],{"type":30,"value":253},{"type":30,"value":565},", ",{"type":24,"tag":51,"props":567,"children":569},{"className":568},[],[570],{"type":30,"value":264},{"type":24,"tag":64,"props":572,"children":573},{},[574],{"type":30,"value":575},"Build pages section by section (home → security → alerting → inventory → inventory sub-pages)",{"type":24,"tag":64,"props":577,"children":578},{},[579,581],{"type":30,"value":580},"Register all pages in ",{"type":24,"tag":51,"props":582,"children":584},{"className":583},[],[585],{"type":30,"value":586},"app\u002Fdata\u002Fwireframe-registry.ts",{"type":24,"tag":64,"props":588,"children":589},{},[590,591,597],{"type":30,"value":528},{"type":24,"tag":51,"props":592,"children":594},{"className":593},[],[595],{"type":30,"value":596},"\u002Fflow",{"type":30,"value":598}," to verify navigation connects correctly",{"type":24,"tag":145,"props":600,"children":602},{"id":601},"wire-components-to-use",[603],{"type":30,"value":604},"Wire components to use",{"type":24,"tag":60,"props":606,"children":607},{},[608,626,642,653,664],{"type":24,"tag":64,"props":609,"children":610},{},[611,617,619,624],{"type":24,"tag":51,"props":612,"children":614},{"className":613},[],[615],{"type":30,"value":616},"WireDashGlobalNav",{"type":30,"value":618}," ",{"type":24,"tag":490,"props":620,"children":621},{},[622],{"type":30,"value":623},"(new)",{"type":30,"value":625}," — global nav column",{"type":24,"tag":64,"props":627,"children":628},{},[629,635,636,640],{"type":24,"tag":51,"props":630,"children":632},{"className":631},[],[633],{"type":30,"value":634},"WireDashCategoryNav",{"type":30,"value":618},{"type":24,"tag":490,"props":637,"children":638},{},[639],{"type":30,"value":623},{"type":30,"value":641}," — category nav column",{"type":24,"tag":64,"props":643,"children":644},{},[645,651],{"type":24,"tag":51,"props":646,"children":648},{"className":647},[],[649],{"type":30,"value":650},"WireTable",{"type":30,"value":652}," — session\u002Fagent\u002Fuser\u002Fmcp list pages",{"type":24,"tag":64,"props":654,"children":655},{},[656,662],{"type":24,"tag":51,"props":657,"children":659},{"className":658},[],[660],{"type":30,"value":661},"WireCard",{"type":30,"value":663}," — summary panels, risk cards, category tiles",{"type":24,"tag":64,"props":665,"children":666},{},[667,673],{"type":24,"tag":51,"props":668,"children":670},{"className":669},[],[671],{"type":30,"value":672},"WireBox",{"type":30,"value":674}," — placeholder blocks for stub pages",{"type":24,"tag":145,"props":676,"children":678},{"id":677},"key-constraint",[679],{"type":30,"value":680},"Key constraint",{"type":24,"tag":32,"props":682,"children":683},{},[684,686,692],{"type":30,"value":685},"No ",{"type":24,"tag":51,"props":687,"children":689},{"className":688},[],[690],{"type":30,"value":691},"WireHeader",{"type":30,"value":693}," on any page. The sidebar IS the navigation. Pages are \"naked\" — content area only.",{"type":24,"tag":85,"props":695,"children":696},{},[],{"type":24,"tag":25,"props":698,"children":700},{"id":699},"critical-files",[701],{"type":30,"value":18},{"type":24,"tag":60,"props":703,"children":704},{},[705,716,727,738,748,758],{"type":24,"tag":64,"props":706,"children":707},{},[708,714],{"type":24,"tag":51,"props":709,"children":711},{"className":710},[],[712],{"type":30,"value":713},"cycles\u002Fc5.dashboard-reframing-ai\u002Fmodels.md",{"type":30,"value":715}," — field definitions for all entity list columns",{"type":24,"tag":64,"props":717,"children":718},{},[719,725],{"type":24,"tag":51,"props":720,"children":722},{"className":721},[],[723],{"type":30,"value":724},"cycles\u002Fc5.dashboard-reframing-ai\u002Fbriefs\u002Fagent-inventory.md",{"type":30,"value":726}," — reference for sessions\u002Fdetail design",{"type":24,"tag":64,"props":728,"children":729},{},[730,736],{"type":24,"tag":51,"props":731,"children":733},{"className":732},[],[734],{"type":30,"value":735},"app\u002Fpages\u002Fc5\u002Fwireframes\u002Fagent-inventory-v1\u002F*.vue",{"type":30,"value":737}," — existing wireframes to reference",{"type":24,"tag":64,"props":739,"children":740},{},[741,746],{"type":24,"tag":51,"props":742,"children":744},{"className":743},[],[745],{"type":30,"value":586},{"type":30,"value":747}," — registry for new entries",{"type":24,"tag":64,"props":749,"children":750},{},[751,756],{"type":24,"tag":51,"props":752,"children":754},{"className":753},[],[755],{"type":30,"value":239},{"type":30,"value":757}," — Wire* component library",{"type":24,"tag":64,"props":759,"children":760},{},[761,767],{"type":24,"tag":51,"props":762,"children":764},{"className":763},[],[765],{"type":30,"value":766},"app\u002Fpages\u002Fc6\u002F",{"type":30,"value":768}," — target directory (does not exist yet)",{"type":24,"tag":85,"props":770,"children":771},{},[],{"type":24,"tag":25,"props":773,"children":775},{"id":774},"verification",[776],{"type":30,"value":19},{"type":24,"tag":333,"props":778,"children":779},{},[780,798,803,808,813,818],{"type":24,"tag":64,"props":781,"children":782},{},[783,789,790,796],{"type":24,"tag":51,"props":784,"children":786},{"className":785},[],[787],{"type":30,"value":788},"npm run dev",{"type":30,"value":536},{"type":24,"tag":51,"props":791,"children":793},{"className":792},[],[794],{"type":30,"value":795},"\u002Fc6",{"type":30,"value":797}," gallery loads and lists all registered pages",{"type":24,"tag":64,"props":799,"children":800},{},[801],{"type":30,"value":802},"Left nav renders on every page without a top header",{"type":24,"tag":64,"props":804,"children":805},{},[806],{"type":30,"value":807},"Global nav (Home → Security → Alerting → Inventory → Settings) navigates correctly",{"type":24,"tag":64,"props":809,"children":810},{},[811],{"type":30,"value":812},"Session row click → session-detail works",{"type":24,"tag":64,"props":814,"children":815},{},[816],{"type":30,"value":817},"Inventory tile click → entity list page works",{"type":24,"tag":64,"props":819,"children":820},{},[821],{"type":30,"value":822},"All 16 pages load without console errors",{"type":24,"tag":824,"props":825,"children":826},"style",{},[827],{"type":30,"value":165},1794599431479]