{
  "phase_id": "phase-02",
  "category_id": "architecture_engineering_core",
  "doc_id": "panel_canonical_tree",
  "source_path": "/home/yeff/public_html/devon/panel/data/panel_canonical_tree.json",
  "documentation_branch_status": "CUSTOM_BRANCH",
  "bucket_statuses_from_docs_index": {
    "Prerequisites": "ACTIVE",
    "Installation": "ACTIVE",
    "Configuration": "ACTIVE",
    "Validation": "ACTIVE",
    "Observable Evidence": "ACTIVE",
    "Failure Modes & Recovery": "ACTIVE",
    "Completion & Promotion": "ACTIVE"
  },
  "exported_at": "2026-04-28T05:56:48.644291+00:00",
  "export_rule": "docs/json export generated from real panel/data source plus docs/index.php branch evidence; no authored content invented by export patch",
  "source_payload": {
    "canon_meta": {
      "canon_id": "devon-panel-tree",
      "version": "1.0.0",
      "status": "ACTIVE",
      "ui_reference_mode": "claude_like_workspace_plus_devon_governance"
    },
    "panel_root": {
      "navigation_mode": "deployment_order",
      "primary_layout": {
        "left_column": "chat_and_operator_flow",
        "center_column": "artifact_or_preview",
        "right_column": "evidence_contracts_timeline"
      },
      "global_widgets": [
        "deployment_stage_switcher",
        "card_grid",
        "evidence_drawer",
        "contract_drawer",
        "dependency_graph",
        "validation_timeline",
        "server_scope_selector",
        "project_scope_selector",
        "memory_scope_selector"
      ]
    },
    "deployment_sections": [
      {
        "section_id": "S00",
        "display_name": "Host Readiness",
        "cards": [
          {
            "card_id": "core-host-readiness",
            "display_name": "Host Readiness",
            "subcategories": [
              "filesystem",
              "root_context",
              "python_runtime",
              "git_runtime",
              "docker_runtime",
              "canonical_directories"
            ]
          }
        ]
      },
      {
        "section_id": "S01",
        "display_name": "Canon Control Plane",
        "cards": [
          {
            "card_id": "project-scope",
            "display_name": "Project Scope",
            "subcategories": [
              "mission",
              "principles",
              "scope",
              "file_index"
            ]
          },
          {
            "card_id": "deployment-order",
            "display_name": "Deployment Order",
            "subcategories": [
              "stages",
              "dependencies",
              "blockers",
              "promotion_gates"
            ]
          },
          {
            "card_id": "card-contracts",
            "display_name": "Card Contracts",
            "subcategories": [
              "identity",
              "interfaces",
              "dependencies",
              "evidence",
              "status_rules"
            ]
          }
        ]
      },
      {
        "section_id": "S02",
        "display_name": "Server Registry",
        "cards": [
          {
            "card_id": "server-registry",
            "display_name": "Server Registry",
            "subcategories": [
              "control_plane",
              "sandbox_hosts",
              "production_hosts",
              "shared_services",
              "benchmark_nodes",
              "storage_nodes"
            ]
          }
        ]
      },
      {
        "section_id": "S03",
        "display_name": "Foundation Infrastructure",
        "cards": [
          {
            "card_id": "infrastructure",
            "display_name": "Infrastructure",
            "subcategories": [
              "containers",
              "networking",
              "reverse_proxy",
              "secrets",
              "volumes"
            ]
          },
          {
            "card_id": "storage-state",
            "display_name": "Storage & State",
            "subcategories": [
              "structured_state",
              "cache",
              "vector_state",
              "artifact_storage"
            ]
          }
        ]
      },
      {
        "section_id": "S04",
        "display_name": "Memory Control Plane",
        "cards": [
          {
            "card_id": "memory-manager",
            "display_name": "Memory Manager",
            "subcategories": [
              "control_plane",
              "partition_registry",
              "router",
              "retention_policy",
              "audit_policy",
              "namespace_contract"
            ]
          }
        ]
      },
      {
        "section_id": "S05",
        "display_name": "Core Runtime",
        "cards": [
          {
            "card_id": "core-runtime",
            "display_name": "Core Runtime",
            "subcategories": [
              "api_runtime",
              "app_server",
              "router_registry",
              "environment_loader",
              "health_endpoints"
            ]
          }
        ]
      },
      {
        "section_id": "S06",
        "display_name": "Observability & Audit Base",
        "cards": [
          {
            "card_id": "observability-audit",
            "display_name": "Observability & Audit",
            "subcategories": [
              "logs",
              "metrics",
              "traces",
              "audit_events",
              "evidence_store"
            ]
          }
        ]
      },
      {
        "section_id": "S07",
        "display_name": "Remote & Sandbox Orchestration",
        "cards": [
          {
            "card_id": "remote-orchestration",
            "display_name": "Remote Orchestration",
            "subcategories": [
              "ssh_profiles",
              "node_probes",
              "remote_runner",
              "access_policy"
            ]
          },
          {
            "card_id": "sandbox-environments",
            "display_name": "Sandbox Environments",
            "subcategories": [
              "mirror_strategy",
              "sanitization",
              "parity_validation",
              "promotion_gate",
              "rollback_readiness"
            ]
          }
        ]
      },
      {
        "section_id": "S08",
        "display_name": "Cognition Base",
        "cards": [
          {
            "card_id": "language-understanding",
            "display_name": "Language Understanding",
            "subcategories": [
              "tokenization",
              "task_extraction",
              "semantic_analysis",
              "prompt_interpretation"
            ]
          },
          {
            "card_id": "embeddings",
            "display_name": "Embeddings",
            "subcategories": [
              "embedding_model",
              "encoder_api",
              "batch_encoder",
              "similarity_pipeline"
            ]
          },
          {
            "card_id": "retrieval",
            "display_name": "Retrieval",
            "subcategories": [
              "indexing",
              "query_retrieval",
              "ranking",
              "context_assembly"
            ]
          },
          {
            "card_id": "reasoning",
            "display_name": "Reasoning",
            "subcategories": [
              "deliberation",
              "constraint_evaluation",
              "option_scoring",
              "decision_support"
            ]
          },
          {
            "card_id": "causality",
            "display_name": "Causality",
            "subcategories": [
              "dependency_reasoning",
              "cause_effect_mapping",
              "counterfactual_checks",
              "impact_projection"
            ]
          },
          {
            "card_id": "attention-goals",
            "display_name": "Attention & Goals",
            "subcategories": [
              "focus_control",
              "goal_stack",
              "priority_arbitration",
              "interrupt_handling"
            ]
          },
          {
            "card_id": "multimodal",
            "display_name": "Multimodal",
            "subcategories": [
              "image_intake",
              "document_parsing",
              "audio_in_out",
              "modality_routing"
            ]
          }
        ]
      },
      {
        "section_id": "S09",
        "display_name": "Engineering Modules",
        "cards": [
          {
            "card_id": "architect",
            "display_name": "Architect",
            "subcategories": [
              "system_design",
              "module_contract_design",
              "dependency_design",
              "deployment_design"
            ]
          },
          {
            "card_id": "planner",
            "display_name": "Planner",
            "subcategories": [
              "task_decomposition",
              "execution_plan",
              "dependency_ordering",
              "risk_gates"
            ]
          },
          {
            "card_id": "generator",
            "display_name": "Generator",
            "subcategories": [
              "code_generation",
              "config_generation",
              "test_generation",
              "patch_generation"
            ]
          },
          {
            "card_id": "canonizer",
            "display_name": "Canonizer",
            "subcategories": [
              "style_enforcement",
              "naming_canon",
              "structure_canon",
              "artifact_normalization"
            ]
          },
          {
            "card_id": "validator-ci",
            "display_name": "Validator / CI",
            "subcategories": [
              "static_validation",
              "contract_validation",
              "runtime_validation",
              "integration_validation",
              "functional_validation"
            ]
          },
          {
            "card_id": "executor",
            "display_name": "Executor",
            "subcategories": [
              "safe_execution",
              "command_runner",
              "deploy_runner",
              "rollback_runner"
            ]
          },
          {
            "card_id": "artifact-canon-layer",
            "display_name": "Artifact Canon Layer",
            "subcategories": [
              "artifact_registry",
              "template_canon",
              "output_normalization",
              "version_mapping"
            ]
          },
          {
            "card_id": "skill-registry",
            "display_name": "Skill Registry",
            "subcategories": [
              "skills_index",
              "skill_contract",
              "skill_versioning",
              "skill_eligibility"
            ]
          }
        ]
      },
      {
        "section_id": "S10",
        "display_name": "Governance Policy",
        "cards": [
          {
            "card_id": "policy-governance",
            "display_name": "Policy & Governance",
            "subcategories": [
              "policy_rules",
              "scope_rules",
              "safety_constraints",
              "environment_rules",
              "promotion_rules"
            ]
          },
          {
            "card_id": "self-monitoring",
            "display_name": "Self-Monitoring",
            "subcategories": [
              "state_watch",
              "drift_watch",
              "error_watch",
              "regression_watch"
            ]
          }
        ]
      },
      {
        "section_id": "S11",
        "display_name": "Benchmark & Learning",
        "cards": [
          {
            "card_id": "benchmark-runner",
            "display_name": "Benchmark Runner",
            "subcategories": [
              "test_suites",
              "scoring",
              "baselines",
              "promotion_gates"
            ]
          },
          {
            "card_id": "rl-engine",
            "display_name": "RL Engine",
            "subcategories": [
              "reward_model",
              "policy_update",
              "episode_tracking",
              "exploration_controls"
            ]
          },
          {
            "card_id": "learning-loop",
            "display_name": "Learning Loop",
            "subcategories": [
              "feedback_intake",
              "benchmark_comparison",
              "promotion_decision",
              "memory_update",
              "skill_update"
            ]
          }
        ]
      },
      {
        "section_id": "S12",
        "display_name": "Operator Panel",
        "cards": [
          {
            "card_id": "operator-panel",
            "display_name": "Operator Panel",
            "subcategories": [
              "dashboard",
              "contract_explorer",
              "evidence_drawer",
              "validation_timeline",
              "dependency_graph",
              "project_memory_views"
            ]
          }
        ]
      }
    ],
    "ui_behavior": {
      "card_status_source": "evidence_only",
      "allowed_statuses": [
        "PASS",
        "FAIL",
        "MISSING"
      ],
      "required_drawers": [
        "contract",
        "evidence",
        "dependencies",
        "logs",
        "metrics",
        "timeline"
      ],
      "required_filters": [
        "by_project",
        "by_server",
        "by_deployment_stage",
        "by_status",
        "by_memory_scope"
      ]
    }
  },
  "transition_status": "ACTIVE_DH_MIRROR",
  "hardening_status": "HARDENING_PARTIAL",
  "engine_grade_final": false,
  "validation_mode": "schema_backed_transition",
  "parser_readiness": "medium",
  "hardening_priority": "schema_key_binding",
  "structural_contract": {
    "hardening_status": "HARDENING_PARTIAL",
    "engine_grade_final": false,
    "transition_status": "ACTIVE_DH_MIRROR",
    "doc_id": "panel_canonical_tree",
    "category_id": "architecture_engineering_core",
    "phase_id": "phase-02",
    "hardening_lane": "json_schema_key_binding",
    "patch_type": "bind_schema_key_paths",
    "created_at": "2026-04-28T15:40:28.172443+00:00",
    "authority": {
      "authority_owner": "panel_canonical_tree.json",
      "canonical_role": "panel canonical tree authority",
      "authority_scope": "defines the canonical phase/category/document tree that future panel navigation, relation views and coverage surfaces must consume without flattening hierarchy",
      "panel_tree_domain": [
        "phase/category/doc tree",
        "hierarchy preservation",
        "relation visibility",
        "coverage tree input"
      ],
      "not_authority_for": [
        "runtime evidence",
        "component rendering details",
        "schema ownership"
      ]
    },
    "required_before": [
      "panel navigation",
      "relation views",
      "future panel canonical tree rendering"
    ],
    "hard_dependencies": [
      "master_architecture_index.md",
      "hub_index.json"
    ],
    "feeds_operational_ui": [
      "left_navigation",
      "relation_map",
      "coverage_tree",
      "future_panel_tree_reader"
    ],
    "bucket_contracts": {
      "Prerequisites": {
        "contract_role": "prove panel_canonical_tree.json is materially present, phase-bound and dependency-bound before downstream consumers use it",
        "required_structural_fields": [
          "authority_owner",
          "canonical_role",
          "required_before",
          "hard_dependencies",
          "panel_tree_domain"
        ],
        "validation_mode": "schema_backed_transition",
        "parser_readiness": "medium"
      },
      "Installation": {
        "contract_role": "make panel_canonical_tree available as a Documentation Hub mirror with fixed technical identity and branch binding",
        "required_structural_fields": [
          "doc_id",
          "category_id",
          "phase_id",
          "documentation_branch_status",
          "source_path",
          "expected_bindings"
        ],
        "validation_mode": "schema_backed_transition",
        "parser_readiness": "medium"
      },
      "Configuration": {
        "contract_role": "bind panel_canonical_tree authority scope, dependency boundaries and forbidden ownership classes into parseable structure",
        "required_structural_fields": [
          "authority_scope",
          "not_authority_for",
          "panel_tree_domain",
          "boundary_rules"
        ],
        "validation_mode": "schema_backed_transition",
        "parser_readiness": "medium"
      },
      "Validation": {
        "contract_role": "convert panel_canonical_tree into deterministic PASS, FAIL and MISSING checks for identity, binding, source and authority boundary",
        "required_structural_fields": [
          "validation_checks",
          "pass_criteria",
          "fail_criteria",
          "missing_criteria"
        ],
        "validation_mode": "schema_backed_transition",
        "parser_readiness": "medium"
      },
      "Observable Evidence": {
        "contract_role": "expose file paths, DH branch binding, source payload shape and mirror path proving panel_canonical_tree is observable",
        "required_structural_fields": [
          "evidence_paths",
          "expected_bindings",
          "observable_checks"
        ],
        "validation_mode": "schema_backed_transition",
        "parser_readiness": "medium"
      },
      "Failure Modes & Recovery": {
        "contract_role": "recover missing source, wrong binding, dependency break, authority overreach and false promotion for panel_canonical_tree",
        "required_structural_fields": [
          "failure_modes",
          "recovery_actions",
          "rollback_or_safe_state"
        ],
        "validation_mode": "schema_backed_transition",
        "parser_readiness": "medium"
      },
      "Completion & Promotion": {
        "contract_role": "promote panel_canonical_tree only as hardened DH mirror input, not as final engine-grade contract",
        "required_structural_fields": [
          "done_when",
          "not_done_when",
          "promotion_gate",
          "canonization_gate"
        ],
        "validation_mode": "schema_backed_transition",
        "parser_readiness": "medium"
      }
    },
    "validation_checks": [
      {
        "check_id": "panel_canonical_tree_doc_identity",
        "type": "exact_value",
        "path": "$.doc_id",
        "expected": "panel_canonical_tree",
        "on_fail": "FAIL"
      },
      {
        "check_id": "panel_canonical_tree_category_binding",
        "type": "exact_value",
        "path": "$.category_id",
        "expected": "architecture_engineering_core",
        "on_fail": "FAIL"
      },
      {
        "check_id": "panel_canonical_tree_phase_binding",
        "type": "exact_value",
        "path": "$.phase_id",
        "expected": "phase-02",
        "on_fail": "FAIL"
      },
      {
        "check_id": "panel_canonical_tree_branch_status",
        "type": "exact_value",
        "path": "$.documentation_branch_status",
        "expected": "CUSTOM_BRANCH",
        "on_fail": "FAIL"
      },
      {
        "check_id": "panel_canonical_tree_authority_owner_declared",
        "type": "exact_value",
        "path": "$.structural_contract.authority.authority_owner",
        "expected": "panel_canonical_tree.json",
        "on_fail": "FAIL"
      },
      {
        "check_id": "panel_canonical_tree_not_engine_final",
        "type": "exact_value",
        "path": "$.engine_grade_final",
        "expected": false,
        "on_fail": "FAIL"
      },
      {
        "check_id": "panel_canonical_tree_source_payload_object_present",
        "type": "object_present",
        "path": "$.source_payload",
        "on_missing": "MISSING",
        "on_fail": "FAIL"
      },
      {
        "check_id": "panel_canonical_tree_depends_on_master_architecture_index_md",
        "type": "array_contains",
        "path": "$.structural_contract.hard_dependencies",
        "expected": "master_architecture_index.md",
        "on_fail": "FAIL"
      },
      {
        "check_id": "panel_canonical_tree_depends_on_hub_index_json",
        "type": "array_contains",
        "path": "$.structural_contract.hard_dependencies",
        "expected": "hub_index.json",
        "on_fail": "FAIL"
      }
    ],
    "evidence_paths": [
      "/home/yeff/public_html/devon/panel/data/panel_canonical_tree.json",
      "/home/yeff/public_html/devon/docs/index.php",
      "/home/yeff/public_html/devon/panel/data/hub_index.json",
      "/home/yeff/public_html/devon/panel/data/master_architecture_index.md",
      "/home/yeff/public_html/devon/docs/json/phase-02/panel_canonical_tree.json",
      "/home/yeff/public_html/devon/docs/json/phase-02/_phase02_hardening_queue.json"
    ],
    "expected_bindings": [
      {
        "binding": "docs_index_custom_branch",
        "expected": "if (doc.id === \"panel_canonical_tree\" && state.categoryId === \"architecture_engineering_core\")"
      },
      {
        "binding": "hub_index_phase",
        "expected_phase_id": "phase-02"
      },
      {
        "binding": "hub_index_category",
        "expected_category_id": "architecture_engineering_core"
      }
    ],
    "failure_modes": [
      {
        "failure_id": "panel_canonical_tree_source_missing",
        "status": "MISSING",
        "meaning": "panel_canonical_tree source cannot be read from declared source path",
        "recovery_action": "restore /home/yeff/public_html/devon/panel/data/panel_canonical_tree.json or the declared mirror source before hardening can continue"
      },
      {
        "failure_id": "panel_canonical_tree_unbound_from_phase02",
        "status": "FAIL",
        "meaning": "panel_canonical_tree is present but not bound to phase-02 / architecture_engineering_core",
        "recovery_action": "restore hub_index and docs/index binding to the canonical Phase 02 category"
      },
      {
        "failure_id": "panel_canonical_tree_dependency_missing",
        "status": "MISSING",
        "meaning": "panel_canonical_tree cannot prove declared hard dependencies",
        "recovery_action": "restore declared dependencies or block promotion until dependency validation passes"
      },
      {
        "failure_id": "panel_canonical_tree_authority_overreach",
        "status": "FAIL",
        "meaning": "panel_canonical_tree claims authority outside its declared scope",
        "recovery_action": "revoke overreaching authority and route the claim to the owning document or contract"
      },
      {
        "failure_id": "panel_canonical_tree_false_engine_promotion",
        "status": "FAIL",
        "meaning": "panel_canonical_tree is promoted as engine-grade final while still in DH mirror transition",
        "recovery_action": "restore ACTIVE_DH_MIRROR / HARDENING_PARTIAL and require deterministic schema validation before final promotion"
      }
    ],
    "promotion_gates": {
      "done_when": [
        "panel_canonical_tree source exists materially",
        "panel_canonical_tree is registered under Phase 02",
        "panel_canonical_tree has a custom Documentation Hub branch",
        "panel_canonical_tree JSON mirror contains structural_contract",
        "panel_canonical_tree exposes authority, dependencies, evidence paths, validation checks and promotion gates as parseable fields"
      ],
      "not_done_when": [
        "source payload is missing",
        "category binding is wrong",
        "declared dependency is absent",
        "authority scope is overreached",
        "engine_grade_final is set true before deterministic schema validation exists"
      ],
      "promotion_gate": "panel_canonical_tree may move to HARDENING_PARTIAL after structural_contract exists and verifies, but must not become engine_grade_final until all decisive checks are schema-backed and deterministic.",
      "canonization_gate": "panel_canonical_tree remains an ACTIVE_DH_MIRROR until authority, dependency, evidence, failure and promotion checks can be consumed without semantic prose interpretation."
    },
    "parser_readiness_after_patch": "medium",
    "blocked_until_engine_grade_final": [
      "all validation checks resolve from JSON key paths",
      "all required dependencies are machine-checkable",
      "all authority boundaries produce deterministic FAIL when violated",
      "future operational panel can consume the contract without reading source prose"
    ],
    "mirror_type": "json_mirror",
    "schema_binding": {
      "required_keys": [
        "source_payload"
      ],
      "source_payload_key_paths": [
        "$.source_payload",
        "$.structural_contract",
        "$.bucket_statuses_from_docs_index"
      ],
      "expected_values": {
        "$.phase_id": "phase-02",
        "$.category_id": "architecture_engineering_core",
        "$.doc_id": "panel_canonical_tree",
        "$.engine_grade_final": false,
        "$.transition_status": "ACTIVE_DH_MIRROR"
      },
      "allowed_statuses": [
        "PASS",
        "FAIL",
        "MISSING",
        "ACTIVE_DH_MIRROR",
        "HARDENING_PARTIAL"
      ],
      "deterministic_fail_modes": [
        "wrong_doc_id",
        "wrong_category_id",
        "wrong_phase_id",
        "missing_source_payload",
        "authority_overreach",
        "false_engine_promotion"
      ],
      "missing_criteria": [
        "source payload absent",
        "declared source file absent",
        "hard dependency absent where required"
      ],
      "schema_backed_validation": true
    },
    "boundary_rules": [
      {
        "rule_id": "phase_category_hierarchy_preserved",
        "meaning": "tree must preserve Phase -> Category -> Doc ownership",
        "fail_state": "FAIL when layer or label replaces technical hierarchy"
      },
      {
        "rule_id": "tree_not_runtime_completion",
        "meaning": "canonical tree coverage is not runtime completion",
        "fail_state": "FAIL when tree presence is treated as execution proof"
      }
    ],
    "required_keys": [
      "source_payload"
    ],
    "schema_boundary_rules": [
      {
        "rule_id": "phase_category_hierarchy_preserved",
        "meaning": "tree must preserve Phase -> Category -> Doc ownership",
        "fail_state": "FAIL when layer or label replaces technical hierarchy"
      },
      {
        "rule_id": "tree_not_runtime_completion",
        "meaning": "canonical tree coverage is not runtime completion",
        "fail_state": "FAIL when tree presence is treated as execution proof"
      }
    ],
    "source_signal_audit": {
      "source_payload_is_object": true,
      "source_payload_top_keys": [
        "canon_meta",
        "deployment_sections",
        "panel_root",
        "ui_behavior"
      ],
      "audit_note": "source_signal_audit records JSON mirror shape only; structural_contract remains governed by schema key binding and Phase 02 queue"
    }
  }
}
