{
  "assessment": {
    "all_ok": true,
    "decision": "PASS_STEP_046I5B_TEMP_RUNTIME_PEER_SAFETY_COLLECT_PUBLISH",
    "expected_absence": {
      "vm100_temp_allowed_ip_present": false,
      "vm100_temp_selector_line_present": false,
      "vm121_temp_iface_present": false,
      "vm121_temp_private_present": false
    },
    "success_checks": {
      "collector_ran": true,
      "vm100_allowed_ip_count_five": true,
      "vm100_line_12_restored": true,
      "vm100_no_temp_allowed_ip": true,
      "vm100_no_temp_selector_line": true,
      "vm100_peer_count_five": true,
      "vm100_safety_cleanup_command_ok": true,
      "vm100_uci_peer_sections_zero": true,
      "vm121_cleanup_command_ok": true,
      "vm121_temp_iface_absent": true,
      "vm121_temp_private_absent": true,
      "vm121_temp_psk_absent": true
    }
  },
  "changes": {
    "vm100_changed": "ONLY_IF_TEMP_RESIDUE_PRESENT",
    "vm100_safety_cleanup_ran": "YES",
    "vm101_changed": "NO",
    "vm121_db_changed": "NO",
    "vm121_temp_cleanup_ran": "YES"
  },
  "last_i5_facts": {
    "assessment": {
      "all_ok": true,
      "decision": "PASS_STEP_046I5_TEMP_RUNTIME_PEER_TRAFFIC_PROOF_RESTORED",
      "expected_absence": {
        "jobs_created": false,
        "line_12_drift": false,
        "private_material_published": false,
        "vm100_final_peer_count_drift": false,
        "vm100_final_selector_temp_line": false,
        "vm100_final_temp_peer_present": false,
        "vm100_final_uci_peer_sections_drift": false,
        "vm121_db_written": false
      },
      "success_checks": {
        "change_ok": true,
        "db_enabled_peers_five": true,
        "db_lease_rows_five": true,
        "db_pending_zero": true,
        "private_key_not_published": true,
        "public_index_rebuilt": true,
        "restore_ok": true,
        "selector_class_after_cs2": true,
        "selector_class_before_cs2": true,
        "selector_delta_positive": true,
        "traffic_attempted": true,
        "traffic_ping_success": true,
        "vm100_add_temp_peer_ok": true,
        "vm100_restore_command_ok": true,
        "vm101_mapper_ok": true,
        "vm121_db_safety_ok": true,
        "vm121_keygen_ok": true,
        "vm121_traffic_command_ok": true
      },
      "warnings": [
        "This step intentionally creates a temporary runtime-only WG peer and selector line, then restores both.",
        "It does not use or reconstruct an existing client private key.",
        "It does not write VM121 DB or create provisioning jobs."
      ]
    },
    "changes": {
      "jobs_created": "NO",
      "private_material_published": "NO",
      "vm100_runtime_peer_temporarily_added": "YES_RESTORED",
      "vm100_selector_temporarily_changed": "YES_RESTORED",
      "vm101_changed": "NO",
      "vm121_db_changed": "NO",
      "vm121_temp_private_key_created": "YES_REMOVED"
    },
    "db_summary": {
      "enabled_peers": 5,
      "lease_rows": 5,
      "pending_jobs": 0
    },
    "mode": "TEMP_RUNTIME_PEER_SELECTOR_CS2_TRAFFIC_PROOF_RESTORED",
    "publish": {
      "latest_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/",
      "local_report": "http://127.0.0.1:8099/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-095841_step046i5_temp_runtime_peer_traffic_proof_restored/",
      "public_index_rebuilt": true,
      "trycf_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-095841_step046i5_temp_runtime_peer_traffic_proof_restored/"
    },
    "schema": "router-step-facts-v1",
    "step": "STEP_046I5_TEMP_RUNTIME_PEER_TRAFFIC_PROOF_RESTORED",
    "traffic_proof_summary": {
      "backup_rc": 0,
      "change_ok": true,
      "changed_allowed_ip_count": "5",
      "changed_peer_count": "6",
      "changed_test_allowed_ip_present": "true",
      "changed_test_line": "10.253.254.12 cs2 canary_vpn4",
      "client_public_key_present": true,
      "final_allowed_ip_count": "5",
      "final_peer_count": "5",
      "final_selector_rows": "5",
      "final_test_allowed_ip_present": "false",
      "final_test_line": "",
      "final_uci_peer_sections": "0",
      "line_12": "10.253.1.12 cs3 canary_vpn5",
      "ping_1_1_1_1_rc": 0,
      "ping_8_8_8_8_rc": 0,
      "precheck_ok": true,
      "private_key_published": false,
      "restore_apply_rc": 0,
      "restore_copy_rc": 0,
      "restore_ok": true,
      "rollback_script_rc": 0,
      "selector_append_rc": 0,
      "selector_apply_rc": 0,
      "selector_class_after": "cs2",
      "selector_class_before": "cs2",
      "selector_delta_bytes": 1344,
      "selector_delta_packets": 16,
      "selector_delta_positive": true,
      "test_class": "cs2",
      "test_ip": "10.253.254.12",
      "test_tag": "canary_vpn4",
      "traffic_attempted": true,
      "traffic_ping_success": true,
      "traffic_possible": true,
      "traffic_skip_reason": null,
      "wg_add_peer_rc": 0,
      "wg_remove_peer_rc": 0
    }
  },
  "last_i5_files": [
    "contract_validate.txt",
    "facts.json",
    "reindex.txt",
    "report.txt",
    "server_public_key_summary.txt",
    "trap_cleanup_vm121.log",
    "vm100_add_temp_peer.rc",
    "vm100_add_temp_peer.stderr",
    "vm100_add_temp_peer.txt",
    "vm100_restore.rc",
    "vm100_restore.stderr",
    "vm100_restore.txt",
    "vm101_mapper.rc",
    "vm101_mapper.stderr",
    "vm101_mapper.txt",
    "vm121_db_safety.json",
    "vm121_db_safety.rc",
    "vm121_db_safety.stderr",
    "vm121_keygen.rc",
    "vm121_keygen.stderr",
    "vm121_keygen_summary.txt",
    "vm121_temp_traffic.rc",
    "vm121_temp_traffic.stderr",
    "vm121_temp_traffic.txt"
  ],
  "publish": {
    "latest_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/latest/",
    "trycf_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260710-100418_step046i5b_safety_collect_publish/"
  },
  "schema": "router-step-facts-v1",
  "step": "STEP_046I5B_TEMP_RUNTIME_PEER_SAFETY_COLLECT_PUBLISH",
  "summary": {
    "allowed_ip_count_final": "5",
    "last_i5_all_ok": true,
    "last_i5_decision": "PASS_STEP_046I5_TEMP_RUNTIME_PEER_TRAFFIC_PROOF_RESTORED",
    "last_i5_has_report": true,
    "last_i5_workdir": "/tmp/STEP_046I5_TEMP_RUNTIME_PEER_TRAFFIC_PROOF_RESTORED_20260710-095841",
    "last_i5_workdir_found": true,
    "line_12_final": "10.253.1.12 cs3 canary_vpn5",
    "peer_count_final": "5",
    "temp_line_final": "",
    "test_allowed_keys_final": "0",
    "uci_peer_sections_final": "0",
    "vm100_safety_changed": "false",
    "vm100_safety_cleanup_rc": 0,
    "vm121_iface_exists_final": "false",
    "vm121_private_file_exists_final": "false",
    "vm121_psk_file_exists_final": "false",
    "vm121_temp_cleanup_rc": 0
  }
}
