{
  "phase_id": "phase-02",
  "category_id": "architecture_engineering_core",
  "doc_id": "panel_sync_contract",
  "source_path": "/home/yeff/public_html/devon/panel/data/panel_sync_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-sync-contract",
      "version": "1.0.0",
      "status": "ACTIVE",
      "sync_mode": "canon_snapshot_delivery"
    },
    "panel_sync_contract": {
      "objective": "Define the exact contract for synchronizing canon-derived panel data from Devon control plane to the live panel host.\n",
      "source": {
        "canonical_root": "/opt/devon/canon",
        "required_inputs": [
          "08_canonical_matrix_v1.yaml",
          "09_panel_navigation_spec.yaml",
          "10_panel_data_contract.yaml",
          "11_panel_content_index.yaml",
          "12_panel_ui_blueprint.yaml",
          "13_panel_component_contract.yaml"
        ]
      },
      "target": {
        "panel_data_root": "/home/yeff/public_html/devon/panel/data",
        "required_outputs": [
          "panel_manifest.json",
          "canonical_matrix_v1.json",
          "panel_navigation_spec.json",
          "panel_content_index.json",
          "panel_ui_blueprint.json",
          "panel_component_contract.json"
        ]
      },
      "manifest_contract": {
        "required_fields": [
          "manifest_version",
          "generated_at_utc",
          "source_host",
          "target_host",
          "export_set",
          "source_hashes",
          "sync_status"
        ]
      },
      "delivery_rules": [
        "target_directory_must_exist",
        "transfer_must_be_atomic_when_possible",
        "old_snapshot_may_be_rotated_to_backup",
        "panel_must_read_json_read_only",
        "ui_status_must_still_be_evidence_based"
      ],
      "blockers": [
        "missing_source_inputs",
        "yaml_parse_failure",
        "json_export_failure",
        "target_unwritable",
        "ssh_transport_failure"
      ],
      "status_rules": {
        "PASS": "source inputs validated, outputs generated, manifest written and files delivered",
        "FAIL": "sync attempted but validation/export/transfer failed",
        "MISSING": "sync contract or required sync evidence does not exist"
      }
    }
  }
}
