{
  "id": "database_migration_governance",
  "label": "Database & Migration Governance Canonical",
  "phase": "phase-09",
  "category": "delivery_layer",
  "status": "ACTIVE_DH_MIRROR",
  "purpose": "Govern schema and data mutation before persistent state changes.",
  "function": "Require migration intent, affected data, ordering, dry-run, backup, rollback and validation before database mutation.",
  "technology_requirements": [
    {
      "technology": "Migration Governance Registry",
      "required_for": "Govern schema and data mutation before persistent state changes.",
      "required_by_phase": "phase-09",
      "required_by_category": "database_migration_governance",
      "required_by_buckets": [
        "Prerequisites",
        "Installation",
        "Configuration",
        "Validation",
        "Observable Evidence",
        "Failure Modes & Recovery",
        "Completion & Promotion"
      ],
      "expected_version": "MISSING until Migration Governance Registry is implemented and validated in the future Execution & Monitoring Panel",
      "validation_command": "MISSING until database_migration_governance can prove scope, evidence, execution state and promotion decision",
      "evidence_path": "/home/yeff/public_html/devon/canon/execution/state/dh_sources/database_migration_governance.json",
      "status_source": "Documentation Hub + future Execution & Monitoring Panel",
      "blocking_if_missing": true,
      "failure_impact": "Persistent state has a longer memory than code. A bad schema or data mutation can survive rollback, cache clearing and redeploy. This category forces data change to earn its path before DEVON-DEV risks the layer that is hardest to repair."
    }
  ],
  "depends_on": [
    "backup_rollback",
    "simulation_dry_run_engine",
    "test_validation_runner"
  ],
  "used_by": [
    "migration_runner",
    "production_deployment_gate",
    "disaster_recovery"
  ],
  "overview": {
    "summary": "Database & Migration Governance Canonical owns the highest-risk delivery surface: persistent state. Code can be reverted quickly; damaged data can outlive the release that caused it.",
    "function": "FUNCTION: Define migration intent, affected tables or stores, data risk, schema compatibility, execution order, dry-run requirement, backup state, rollback strategy and validation evidence.",
    "system_position": "Migration Runner executes only after this governance exists. Backup & Rollback protects recoverability. Production Deployment Gate blocks release when migration evidence is incomplete. Disaster Recovery inherits the failure plan when ordinary rollback is not enough.",
    "failure_impact": "Persistent state has a longer memory than code. A bad schema or data mutation can survive rollback, cache clearing and redeploy. This category forces data change to earn its path before DEVON-DEV risks the layer that is hardest to repair."
  },
  "failure_impact": "Persistent state has a longer memory than code. A bad schema or data mutation can survive rollback, cache clearing and redeploy. This category forces data change to earn its path before DEVON-DEV risks the layer that is hardest to repair."
}
