{
  "alembic_target": "0004_profile_provisioning",
  "backup_secret_path": "/root/.config/wg-access/db-backup.pass",
  "canonical_zip_required": true,
  "classification": "class_c_p24_durable_profile_provisioning_boundary",
  "database_schema_changed": true,
  "encrypted_database_backup_required": true,
  "exact_worker_fixture": "tests/exact-worker.sh",
  "expected_installer_sha256": "691d3240c9af5a763676bd997a052417c37eebf33d48bda200c14d60ca3c3e1b",
  "external_onboarding_active": false,
  "functional_stage": "p2_4_durable_profile_provisioning_boundary",
  "live_database_written": true,
  "mandatory_fixture_count": 6,
  "next_action": "P25 controlled synthetic WireGuard Domain V2 end-to-end through the existing VM121 agent and VM100 lifecycle; no public onboarding",
  "path_ownership_manifest": "reference/path-ownership.tsv",
  "reboot_required": false,
  "revision": "R15",
  "runtime_impact": true,
  "runtime_provisioning_active": false,
  "schema": "router-step-release-v1",
  "snapshot_required": false,
  "source_changed": true,
  "source_of_truth": "post-BEACH canonical Machine Git: VM100 8c5d11b7e4b119757ea16b46775b26e0ac903d7c tree f25aab0f1886647b52a11ccebe080894bd06542a count 34; VM101 94a1c5627bacf9212d3fb2af1a77507ec57ff74b tree ee4dddf35e308096d6496a4ecc25268ebcb3058a count 59; VM121 e3409bee5b1466839a7293af6ead97e515ca8f20 tree 7ace7d88b02a457f91469394c6f1f8bdf0c528b5 count 47. R13 proved encrypted backup/restore and exposed the 34-character Alembic revision defect; rollback returned live schema/source to baseline. R14 corrected the revision to 0004_profile_provisioning but stopped at preflight_candidate because the deployment script retained the old migration SHA; BACKUP_READY=false and no live mutation occurred. R15 keeps the exact R14 candidate tree 474568f60cf6363fe4e43f59873f8dcf1a29b950, corrects deployment EXPECTED_MIGRATION_SHA to the actual candidate migration SHA, removes stale R13 report/publication metadata, and adds fixture coverage for both contracts.",
  "step_id": "STEP_050M07P24_R15_DURABLE_PROFILE_PROVISIONING_BOUNDARY_CONTINUATION",
  "target_environment_matrix": "reference/target-environment.tsv",
  "target_package_path": "payload/p24-r15-target-package.tar.gz",
  "target_package_sha256": "0ca82f86a36b6d724214fc846f16241291b7b3a88cd9f6d333372e309151612c",
  "vm100_base_commit": "8c5d11b7e4b119757ea16b46775b26e0ac903d7c",
  "vm100_base_tree": "f25aab0f1886647b52a11ccebe080894bd06542a",
  "vm100_expected_file_count": 34,
  "vm101_base_commit": "94a1c5627bacf9212d3fb2af1a77507ec57ff74b",
  "vm101_base_tree": "ee4dddf35e308096d6496a4ecc25268ebcb3058a",
  "vm101_expected_file_count": 59,
  "vm121_base_commit": "e3409bee5b1466839a7293af6ead97e515ca8f20",
  "vm121_base_file_count": 47,
  "vm121_base_tree": "7ace7d88b02a457f91469394c6f1f8bdf0c528b5",
  "vm121_expected_file_count": 48,
  "vm121_expected_tree": "474568f60cf6363fe4e43f59873f8dcf1a29b950",
  "wireguard_pool_source": "existing WG_CLIENT_POOL_CIDR/WG_CLIENT_FIRST_IP settings",
  "worker_entry": "scripts/run-step.sh",
  "workflow_contract_version": 2
}
