{
  "phase_id": "phase-02",
  "category_id": "architecture_engineering_core",
  "doc_id": "panel_data_contract",
  "source_path": "/home/yeff/public_html/devon/panel/data/panel_data_contract.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-data-contract",
      "version": "1.0.0",
      "status": "ACTIVE",
      "contract_mode": "ui_read_only_from_canon"
    },
    "panel_data_contract": {
      "objective": "Define the canonical data interface the Operator Panel must consume in order to render deployment-ordered navigation, cards, subcategories, evidence, contracts, timelines, filters and status counters without deriving fake state.\n",
      "primary_sources": {
        "project_scope": "/opt/devon/canon/00_project_scope_canonical.yaml",
        "deployment_order": "/opt/devon/canon/01_deployment_order_canonical.yaml",
        "panel_tree": "/opt/devon/canon/02_panel_canonical_tree.yaml",
        "card_contracts": "/opt/devon/canon/03_card_contract_minimums.yaml",
        "memory_architecture": "/opt/devon/canon/04_memory_canonical_architecture.yaml",
        "server_registry": "/opt/devon/canon/05_server_registry_canonical.yaml",
        "sandbox_architecture": "/opt/devon/canon/06_sandbox_environment_canonical.yaml",
        "subcategory_pipelines": "/opt/devon/canon/07_subcategory_pipelines.yaml",
        "canonical_matrix": "/opt/devon/canon/08_canonical_matrix_v1.yaml",
        "navigation_spec": "/opt/devon/canon/09_panel_navigation_spec.yaml"
      },
      "panel_views": {
        "required": [
          "deployment_overview",
          "section_view",
          "card_view",
          "subcategory_view",
          "contract_view",
          "evidence_view",
          "dependency_view",
          "timeline_view",
          "server_scope_view",
          "memory_scope_view",
          "project_scope_view"
        ]
      },
      "canonical_entities": {
        "section": {
          "primary_key": "section_id",
          "required_fields": [
            "section_id",
            "display_name",
            "cards"
          ]
        },
        "card": {
          "primary_key": "card_id",
          "required_fields": [
            "card_id",
            "display_name",
            "subcategories"
          ]
        },
        "matrix_row": {
          "primary_key": "matrix_id",
          "required_fields": [
            "matrix_id",
            "deployment_order",
            "deployment_stage",
            "section_id",
            "card_id",
            "display_name",
            "subcategory",
            "objective",
            "hard_dependencies",
            "blockers",
            "evidence_expected",
            "checks",
            "pipeline_ref",
            "contract_ref",
            "status_initial"
          ]
        },
        "status_counter": {
          "required_fields": [
            "total",
            "pass",
            "fail",
            "missing",
            "by_stage"
          ]
        }
      },
      "ui_resolution_rules": {
        "deployment_navigation_source": "section_id + deployment_stage + deployment_order",
        "card_grid_source": "panel_tree.deployment_sections.cards",
        "matrix_source": "canonical_matrix.matrix",
        "contract_source": "card_contracts.contract_schema",
        "timeline_source": "canonical_matrix.matrix",
        "status_source": "observable_evidence_only",
        "no_mock_or_derived_fake_progress": true
      },
      "join_rules": [
        {
          "join_name": "section_to_card",
          "left": "panel_tree.deployment_sections.section_id",
          "right": "canonical_matrix.matrix.section_id"
        },
        {
          "join_name": "card_to_matrix",
          "left": "panel_tree.deployment_sections.cards.card_id",
          "right": "canonical_matrix.matrix.card_id"
        },
        {
          "join_name": "stage_to_matrix",
          "left": "deployment_order.deployment_order.stage",
          "right": "canonical_matrix.matrix.deployment_stage"
        }
      ],
      "filters": {
        "required": [
          "by_project",
          "by_server",
          "by_status",
          "by_stage",
          "by_card",
          "by_memory_scope"
        ]
      },
      "drawers": {
        "evidence_drawer": {
          "required_fields": [
            "matrix_id",
            "evidence_expected",
            "checks",
            "status",
            "last_validation"
          ]
        },
        "contract_drawer": {
          "required_fields": [
            "card_id",
            "contract_ref",
            "required_blocks"
          ]
        },
        "dependency_drawer": {
          "required_fields": [
            "matrix_id",
            "hard_dependencies",
            "blockers"
          ]
        },
        "memory_scope_drawer": {
          "required_fields": [
            "memory_partition_class",
            "routing_keys",
            "read_policy",
            "write_policy"
          ]
        },
        "server_scope_drawer": {
          "required_fields": [
            "server_id",
            "role",
            "allowed_projects",
            "sandbox_capable",
            "promotion_capable"
          ]
        }
      },
      "status_rules": {
        "PASS": "evidence exists and functional validation passes",
        "FAIL": "evidence exists and validation fails",
        "MISSING": "evidence does not exist observably"
      },
      "render_contract": {
        "topbar": {
          "required": [
            "project_selector",
            "server_selector",
            "deployment_stage_selector",
            "global_status_counters",
            "search_box",
            "quick_actions"
          ]
        },
        "sidebar": {
          "ordering": "deployment_order_only",
          "source": "deployment_order + panel_tree"
        },
        "center_workspace": {
          "default_tab": "preview",
          "allowed_tabs": [
            "preview",
            "artifact",
            "contract",
            "diff",
            "logs",
            "metrics",
            "timeline"
          ]
        },
        "right_stack": {
          "required_drawers": [
            "evidence_drawer",
            "dependency_drawer",
            "memory_scope_drawer",
            "validation_drawer",
            "server_scope_drawer"
          ]
        }
      }
    }
  }
}
