{
  "baseline_commit": "daf49ccba58dad3f3f540d0cce1dab02bab223c0",
  "baseline_file_count": 20,
  "baseline_file_sha256": {
    "etc/caddy/Caddyfile": "3764d3f094af479a5f47c9396a0ede4a11505e4013fb90d1b862a0dbec03b1ec"
  },
  "baseline_tree": "5bc192b45386380a093cd9583f164e3c420d7d08",
  "caddy_intended_change": false,
  "canonical_zip_required": true,
  "classification": "core",
  "current_latest": "WG_PAID_MGTS_LATEST_20260924-080522.zip",
  "current_latest_sha256": "f094dce756206cde23ce7c924e2994d214fcfbe1d5cfa9ffac23846ca77e6c16",
  "database_schema_intended_change": false,
  "dist_file_count": 7,
  "dist_package_sha256": "2e277a4b44114b714017329a2f460630ead78ab2faf8333d83b83bc9fb86e9f6",
  "exact_worker_fixture": "tests/exact-worker.sh",
  "expected_installer_sha256": "8fc0ed6728bd45b8c59752d9202ead483d10d9576db196259d97cbfa29719c01",
  "expected_target_file_count": 20,
  "expected_target_tree": "beb4da4ce92c7b5026d39e9f0c093d83a92b5e50",
  "functional_stage": "p29e15_vm103_a18_a6b_frontend_deploy",
  "machine_git_change_required": true,
  "mandatory_fixture_count": 4,
  "node_version": "24.20.0",
  "npm_version": "11.19.0",
  "openapi_canonical_sha256": "0c0467837ec79eb7542956f406c792b3a5c4b3374df828789fabb5f5b0decec4",
  "path_ownership_manifest": "reference/path-ownership.tsv",
  "payment_create_during_step": false,
  "provider_write_during_step": false,
  "public_api_ingress_intended_change": false,
  "revision": "R01",
  "revision_note": "R01 deploys the accepted A18 expired-registration recovery/link-TTL UX and A6b Copy-button feedback build from canonical web source cabdb8f; preserves post-P29E14 Caddy/public ingress/backend/provider/database state",
  "rollback_contract": "restore exact pre-step access-web + admin-web from verified VM103 backup; preserve exact post-P29E14 Caddy SHA and A18 ingress routes; validate Caddy and ingress health",
  "runtime_impact": true,
  "same_class_skeleton": "STEP_050M07P29E12_R01_VM103_UI_FIXES",
  "same_class_skeleton_sha256": "9ed866143f154a9ae3cfe0ad96f6d3bcfa77f40dee3f8471b803305b94c096d3",
  "schema": "router-step-release-v1",
  "source_of_truth": "current_post_P29E14_latest_vm103_machine_git_plus_exact_P29E12_R01_web_deploy_skeleton_plus_exact_reproducible_P29E15_web_dist",
  "step_class": "B",
  "step_id": "STEP_050M07P29E15_R01_VM103_UI_FIXES",
  "target_caddy_sha256": "3764d3f094af479a5f47c9396a0ede4a11505e4013fb90d1b862a0dbec03b1ec",
  "target_environment_matrix": "reference/target-environment.tsv",
  "target_package_path": "payload/web-dist.tar.gz",
  "target_package_sha256": "2e277a4b44114b714017329a2f460630ead78ab2faf8333d83b83bc9fb86e9f6",
  "touched_machines": [
    "VM103"
  ],
  "vm130_contract_commit": "fadde79bcc5756d478b8814f94ad16ad48fd25d2",
  "web_source_commit": "cabdb8f4a417194bbe710f82bc9c44aacbeacc2d",
  "web_source_tree": "a0985e5cfcf4465044833d47b7a83aa1ad973254",
  "worker_entry": "scripts/worker.sh",
  "workflow_contract_version": 2,
  "yookassa_provider_mode_intended_change": false
}
