{
  "abandoned_r20p_payload_reused": false,
  "added_files": [
    "/usr/local/lib/router-wgpay-fallback-map.sh",
    "/usr/local/sbin/router-wgpay-fallback-state.sh"
  ],
  "always_on_fallback_fixture_proven": true,
  "atomic_nft_transaction_fixture_proven": true,
  "authorized_keys_mutated": false,
  "bundle_revision": "R03_NFT_MARK_NORMALIZATION_AND_STOP_RC_HARDENING",
  "classification": "implementation",
  "correction": "Accept nft mark output in padded hexadecimal or decimal form; expose mapper result; prevent inherited ERR trap from publishing twice or converting STOP to bootstrap rc 0.",
  "direct_failopen_allowed": false,
  "expected_installer_sha256": "be6ca4bda5c8f9049bdf1dfa32b15fe4ebe4791aa7a693edf740738fcceefcb0",
  "first_healthy_canonical_order_fixture_proven": true,
  "full_rootfs_snapshot": false,
  "functional_stage": "vm101_always_on_fallback_mapper",
  "initial_mapper_table_absence_allowed": true,
  "legacy_table200_required": false,
  "live_slot_failure_injected": false,
  "modified_files": [
    "/usr/local/sbin/router-wgpay-canary-apply.sh"
  ],
  "mutated_machines": [
    "vm101"
  ],
  "next_step": "R20Q-E_VM101_TOPOLOGY_GENERATION_AND_RELIABLE_DELIVERY",
  "nft_apply_during_step": true,
  "nft_mark_output_normalization_supported": true,
  "preflight_correction": "Allow absent first-install fallback mapper table and treat legacy table 200 as informational; canonical tables 201-205 remain mandatory.",
  "previous_attempt_core_change_complete": false,
  "previous_attempt_detail": "mapper_apply_failed_rc_80_due_to_nft_mark_text_normalization",
  "previous_attempt_phase": "apply",
  "previous_attempt_result": "STOP_R20QD_VM101_ALWAYS_ON_FALLBACK_MAPPER",
  "private_key_material_exported": false,
  "production_topology_message_delivered": false,
  "runtime_impact": "canonical_mapper_reapply_and_durable_normal_state",
  "snapshot_name": "r20qd101-pre-fallback",
  "snapshot_name_preferred_max_length": 32,
  "source_change_expected": true,
  "source_of_truth": "machine_git",
  "step_id": "STEP_050M07R20QD_VM101_ALWAYS_ON_FALLBACK_MAPPER",
  "stop_rc_preserved_after_stop_publication": true,
  "supersedes_zip_sha256": "c4b69b16239034ee75ebf43b1d32cff7e62bb62ec83b2e35098cd0bd59a82d24",
  "target_files": [
    "/usr/local/lib/router-wgpay-fallback-map.sh",
    "/usr/local/sbin/router-wgpay-canary-apply.sh",
    "/usr/local/sbin/router-wgpay-fallback-state.sh"
  ],
  "target_package_sha256": "86456235b5f4d4e0dce49e6d4bfb5a9859eb8ac938167e90f39ba32edff14151",
  "title": "VM101 always-on health-aware DSCP fallback mapper",
  "topology_sender_installed": false,
  "vm101_baseline_commit": "d0c0a77486665b0abfef8133f0cccd20c6232b46",
  "vm101_baseline_file_count": 37,
  "vm101_baseline_tree": "76a427a94defee9bffe571fda3f8bb504b8eb540",
  "vm101_expected_file_count": 39,
  "vm101_inventory_repeated": false,
  "watcher_integration_performed": false
}
