===== hub_index.json ===== root :: dict :: keys=['phases', 'categories'] root.phases :: list :: len=10 root.phases[0] :: dict :: keys=['id', 'step', 'name', 'summary', 'badge', 'layers'] root.phases[0].id :: str :: 'phase-01' root.phases[0].step :: str :: 'Phase 01' root.phases[0].name :: str :: 'Overview & Scope' root.phases[0].summary :: str :: 'master root, project scope, manifest and continuity checkpoint.' root.phases[0].badge :: str :: 'overview_scope' root.phases[0].layers :: list :: len=1 root.phases[0].layers[0] :: dict :: keys=['title', 'desc', 'chips'] root.phases[0].layers[0].title :: str :: 'Overview & Scope' root.phases[0].layers[0].desc :: str :: 'master registration, project framing, entry manifest and continuity checkpoint.' root.phases[0].layers[0].chips :: list :: len=4 root.phases[0].layers[0].chips[0] :: MAX_DEPTH root.categories :: list :: len=12 root.categories[0] :: dict :: keys=['id', 'title', 'sub', 'badge', 'docs'] root.categories[0].id :: str :: 'overview_scope' root.categories[0].title :: str :: 'Overview & Scope' root.categories[0].sub :: str :: 'master registration, project scope, manifest and continuity checkpoint.' root.categories[0].badge :: str :: 'phase 01' root.categories[0].docs :: list :: len=9 root.categories[0].docs[0] :: dict :: keys=['id', 'title', 'path', 'phase', 'layer', 'role', 'fits', 'depends_on', 'used_by', 'architecture_view', 'label', 'type'] root.categories[0].docs[0].id :: str :: 'master_architecture_index' root.categories[0].docs[0].title :: str :: 'Master Architecture Index' root.categories[0].docs[0].path :: str :: '../panel/data/master_architecture_index.md' root.categories[0].docs[0].phase :: str :: 'phase-01' root.categories[0].docs[0].layer :: str :: 'overview_scope' root.categories[0].docs[0].role :: str :: 'Supreme canonical root and registration authority.' root.categories[0].docs[0].fits :: str :: 'Defines registration, precedence, authority ownership and completeness rules.' root.categories[0].docs[0].depends_on :: list :: len=2 root.categories[0].docs[0].depends_on[0] :: MAX_DEPTH root.categories[0].docs[0].used_by :: list :: len=0 root.categories[0].docs[0].architecture_view :: str :: 'Supreme human-readable root for all Devon canon.' root.categories[0].docs[0].label :: str :: 'Master Architecture Index' root.categories[0].docs[0].type :: str :: 'text' ===== panel_canonical_tree.json ===== root :: dict :: keys=['canon_meta', 'panel_root', 'deployment_sections', 'ui_behavior'] root.canon_meta :: dict :: keys=['canon_id', 'version', 'status', 'ui_reference_mode'] root.canon_meta.canon_id :: str :: 'devon-panel-tree' root.canon_meta.version :: str :: '1.0.0' root.canon_meta.status :: str :: 'ACTIVE' root.canon_meta.ui_reference_mode :: str :: 'claude_like_workspace_plus_devon_governance' root.panel_root :: dict :: keys=['navigation_mode', 'primary_layout', 'global_widgets'] root.panel_root.navigation_mode :: str :: 'deployment_order' root.panel_root.primary_layout :: dict :: keys=['left_column', 'center_column', 'right_column'] root.panel_root.primary_layout.left_column :: str :: 'chat_and_operator_flow' root.panel_root.primary_layout.center_column :: str :: 'artifact_or_preview' root.panel_root.primary_layout.right_column :: str :: 'evidence_contracts_timeline' root.panel_root.global_widgets :: list :: len=9 root.panel_root.global_widgets[0] :: str :: 'deployment_stage_switcher' root.deployment_sections :: list :: len=13 root.deployment_sections[0] :: dict :: keys=['section_id', 'display_name', 'cards'] root.deployment_sections[0].section_id :: str :: 'S00' root.deployment_sections[0].display_name :: str :: 'Host Readiness' root.deployment_sections[0].cards :: list :: len=1 root.deployment_sections[0].cards[0] :: dict :: keys=['card_id', 'display_name', 'subcategories'] root.deployment_sections[0].cards[0].card_id :: str :: 'core-host-readiness' root.deployment_sections[0].cards[0].display_name :: str :: 'Host Readiness' root.deployment_sections[0].cards[0].subcategories :: list :: len=6 root.deployment_sections[0].cards[0].subcategories[0] :: MAX_DEPTH root.ui_behavior :: dict :: keys=['card_status_source', 'allowed_statuses', 'required_drawers', 'required_filters'] root.ui_behavior.card_status_source :: str :: 'evidence_only' root.ui_behavior.allowed_statuses :: list :: len=3 root.ui_behavior.allowed_statuses[0] :: str :: 'PASS' root.ui_behavior.required_drawers :: list :: len=6 root.ui_behavior.required_drawers[0] :: str :: 'contract' root.ui_behavior.required_filters :: list :: len=5 root.ui_behavior.required_filters[0] :: str :: 'by_project' ===== panel_content_index.json ===== root :: dict :: keys=['canon_meta', 'content_index'] root.canon_meta :: dict :: keys=['canon_id', 'version', 'status', 'index_mode'] root.canon_meta.canon_id :: str :: 'devon-panel-content-index' root.canon_meta.version :: str :: '1.0.0' root.canon_meta.status :: str :: 'ACTIVE' root.canon_meta.index_mode :: str :: 'deployment_order_navigation' root.content_index :: list :: len=13 root.content_index[0] :: dict :: keys=['nav_id', 'deployment_order', 'label', 'target_section', 'primary_card_ids'] root.content_index[0].nav_id :: str :: 'NAV-00' root.content_index[0].deployment_order :: int :: 10 root.content_index[0].label :: str :: 'Host Readiness' root.content_index[0].target_section :: str :: 'S00' root.content_index[0].primary_card_ids :: list :: len=1 root.content_index[0].primary_card_ids[0] :: str :: 'core-host-readiness' ===== panel_navigation_spec.json ===== root :: dict :: keys=['canon_meta', 'layout', 'interaction_rules', 'button_map', 'panel_data_sources', 'initial_render_policy'] root.canon_meta :: dict :: keys=['canon_id', 'version', 'status', 'ui_mode'] root.canon_meta.canon_id :: str :: 'devon-panel-navigation-spec' root.canon_meta.version :: str :: '1.0.0' root.canon_meta.status :: str :: 'ACTIVE' root.canon_meta.ui_mode :: str :: 'claude_like_workspace_devon_governed' root.layout :: dict :: keys=['topbar', 'left_sidebar', 'center_workspace', 'right_drawer_stack'] root.layout.topbar :: dict :: keys=['required_items'] root.layout.topbar.required_items :: list :: len=6 root.layout.topbar.required_items[0] :: str :: 'project_selector' root.layout.left_sidebar :: dict :: keys=['role', 'groups'] root.layout.left_sidebar.role :: str :: 'deployment_navigation' root.layout.left_sidebar.groups :: list :: len=16 root.layout.left_sidebar.groups[0] :: str :: 'host_readiness' root.layout.center_workspace :: dict :: keys=['tabs'] root.layout.center_workspace.tabs :: list :: len=7 root.layout.center_workspace.tabs[0] :: str :: 'preview' root.layout.right_drawer_stack :: dict :: keys=['drawers'] root.layout.right_drawer_stack.drawers :: list :: len=5 root.layout.right_drawer_stack.drawers[0] :: str :: 'evidence_drawer' root.interaction_rules :: dict :: keys=['default_open_behavior', 'click_card_behavior', 'click_subcategory_behavior', 'status_colors', 'counters_required'] root.interaction_rules.default_open_behavior :: dict :: keys=['left_sidebar', 'center_workspace', 'right_drawer_stack'] root.interaction_rules.default_open_behavior.left_sidebar :: str :: 'open' root.interaction_rules.default_open_behavior.center_workspace :: str :: 'preview' root.interaction_rules.default_open_behavior.right_drawer_stack :: str :: 'evidence_drawer' root.interaction_rules.click_card_behavior :: list :: len=5 root.interaction_rules.click_card_behavior[0] :: str :: 'open_contract_summary' root.interaction_rules.click_subcategory_behavior :: list :: len=4 root.interaction_rules.click_subcategory_behavior[0] :: str :: 'focus_matrix_row' root.interaction_rules.status_colors :: dict :: keys=['PASS', 'FAIL', 'MISSING'] root.interaction_rules.status_colors.PASS :: str :: 'canonical_green' root.interaction_rules.status_colors.FAIL :: str :: 'canonical_red' root.interaction_rules.status_colors.MISSING :: str :: 'canonical_amber' root.interaction_rules.counters_required :: list :: len=5 root.interaction_rules.counters_required[0] :: str :: 'total_cards' root.button_map :: dict :: keys=['primary_buttons', 'secondary_buttons'] root.button_map.primary_buttons :: list :: len=5 root.button_map.primary_buttons[0] :: str :: 'Open Contract' root.button_map.secondary_buttons :: list :: len=5 root.button_map.secondary_buttons[0] :: str :: 'Filter by Project' root.panel_data_sources :: dict :: keys=['primary_matrix', 'panel_tree', 'contract_schema', 'deployment_order'] root.panel_data_sources.primary_matrix :: str :: '08_canonical_matrix_v1.yaml' root.panel_data_sources.panel_tree :: str :: '02_panel_canonical_tree.yaml' root.panel_data_sources.contract_schema :: str :: '03_card_contract_minimums.yaml' root.panel_data_sources.deployment_order :: str :: '01_deployment_order_canonical.yaml' root.initial_render_policy :: dict :: keys=['matrix_driven', 'evidence_only_status', 'no_mock_status_allowed'] root.initial_render_policy.matrix_driven :: bool :: True root.initial_render_policy.evidence_only_status :: bool :: True root.initial_render_policy.no_mock_status_allowed :: bool :: True