{
  "bundle_revision": "R02",
  "classification": "implementation_and_isolated_proof",
  "direct_exit_threshold": 3,
  "direct_policy_changed": false,
  "expected_installer_sha256": "bf51018afe180991670d22d976a96fea7bb84bd561b538e3d5531fa56749df27",
  "functional_stage": "direct_exit_threshold_and_refresh_handoff",
  "gate_isolation_hardening": "installer e2e fixtures pin BUNDLE_ROOT to their temporary fake bundle and cannot invoke production scripts",
  "heavy_full_refresh_executed": false,
  "live_direct_route_changed": false,
  "live_zero_healthy_simulation_allowed": false,
  "mutated_machines": [
    "vm100"
  ],
  "new_sha256": {
    "vm100/etc/router-wgpay-slot-topology.conf": "efa81225a11c4dc189269571dbc8d21c33eb0cedac18af878c62154f13ef4824",
    "vm100/usr/local/sbin/router-wgpay-direct-mode.sh": "06649e2a86993f9a5cf7046ef3685ba6e217eb787642950a93888d03a292fe21",
    "vm100/usr/local/sbin/router-wgpay-slot-topology-apply.sh": "a598581e406e3c78e44f5c5fa3286410e0c208bcd7ef6e1bac1d3959315286c6"
  },
  "next_step": "PROVIDER_ACQUISITION_OVER_DIRECT_SEPARATE_STEP",
  "old_sha256": {
    "vm100/etc/router-wgpay-slot-topology.conf": "73bac9f6b7afcd77ba00b0a9cb4ee29436b1c250eee4d2f967b8480466d65b00",
    "vm100/usr/local/sbin/router-wgpay-direct-mode.sh": "9ad45ec1af5bb89630bf9a73104e17d479dbbe1e3fbd7e5da3bc2442fcf849cb",
    "vm100/usr/local/sbin/router-wgpay-slot-topology-apply.sh": "67a7cd0bfb0aafb8b89866d959cdd57d8ede3d10ac928a785e3b1a31440e950f"
  },
  "private_key_material_exported": false,
  "provider_acquisition_used": false,
  "runtime_impact": "VM100 managed source installs threshold-aware Direct hold/exit logic; production policy and routing remain unchanged during the STEP",
  "snapshot_name": "r20qo-pre-direct-exit",
  "snapshot_name_preferred_max_length": 32,
  "source_of_truth": "machine_git",
  "step_id": "STEP_050M07R20QO_DIRECT_EXIT_THRESHOLD_AND_REFRESH_HANDOFF",
  "target_package_sha256": "b6a9ebbc964981f10188a77c32b249d97e1a048d15ab38ed84cd6c0a6cd50c45",
  "title": "Implement VM100 Direct exit threshold and re-prove VM101 refresh handoff",
  "vm100_baseline_commit": "fe3d91531cc78dc2139ec862cc7435da2433e782",
  "vm100_baseline_file_count": 28,
  "vm100_baseline_tree": "c288927e41f45fc605dfbfdbaf3ee6c4d555e772",
  "vm100_changed_paths": [
    "etc/router-wgpay-slot-topology.conf",
    "usr/local/sbin/router-wgpay-slot-topology-apply.sh",
    "usr/local/sbin/router-wgpay-direct-mode.sh"
  ],
  "vm100_expected_file_count_after": 28,
  "vm101_baseline_commit": "df069285ed7a3291a6b2936cf8762ec639b3bcf2",
  "vm101_baseline_file_count": 51,
  "vm101_baseline_tree": "ca653a88d7942e19563d055c25d93756997f8a69"
}
