{
  "assessment": {
    "all_ok": true,
    "blockers": [],
    "decision": "PASS_STEP_044I_RUNTIME_EGRESS_ACTIVITY_COUNTERS_READ_AND_PARSE",
    "expected_absence": {
      "activity_eval_written_to_db": false,
      "client_config_changed": false,
      "force_mode_enabled": false,
      "manual_agent_service_start_used": false,
      "private_material_published": false,
      "rebalance_paused": false,
      "selector_changed": false,
      "vm100_changed": false,
      "vm101_changed": false,
      "vm121_db_changed": false,
      "wg_peer_runtime_changed": false
    },
    "success_checks": {
      "active_leases_zero_before_parse": true,
      "activity_in_rules_five": true,
      "activity_out_rules_five": true,
      "activity_service_enabled": true,
      "activity_service_status_ok": true,
      "activity_table_present": true,
      "counter_values_are_integers": true,
      "delta_values_nonnegative": true,
      "enabled_peers_five": true,
      "forced_leases_zero": true,
      "idle_leases_five": true,
      "lease_rows_five": true,
      "parser_sample1_expected_names_present": true,
      "parser_sample1_rows_ten": true,
      "parser_sample2_expected_names_present": true,
      "parser_sample2_rows_ten": true,
      "peer_activity_has_out_and_in_each": true,
      "peer_activity_rows_five": true,
      "pending_jobs_zero": true,
      "public_index_rebuilt": true,
      "public_report_created": true,
      "read_only_activity_eval_created": true,
      "thresholds_loaded_from_settings": true,
      "vm100_allowed_ip_count_five": true,
      "vm100_peer_count_five": true,
      "vm100_sample1_collected": true,
      "vm100_sample2_collected": true,
      "vm100_selector_rows_five": true,
      "vm100_wg_paid_listen_51830": true,
      "vm101_cs1_to_vpn3_seen": true,
      "vm101_cs2_to_vpn4_seen": true,
      "vm101_cs3_to_vpn5_seen": true,
      "vm101_cs4_to_vpn1_seen": true,
      "vm101_cs5_to_vpn2_seen": true,
      "vm101_slot_map_collected": true,
      "vm121_leases_query_ok": true,
      "vm121_model_collected": true,
      "vm121_settings_query_ok": true
    },
    "warnings": [
      "STEP_044I is read-only; it parses counters and evaluates active_now but does not update lease rows.",
      "If no client traffic happened during the 2-second sample window, active_eval_count may be 0; parser success does not require traffic.",
      "Next step can generate controlled client traffic to prove counter deltas increment for one peer."
    ]
  },
  "changes": {
    "client_config_changed": "NO",
    "manual_agent_service_start_used": "NO",
    "private_material_published": "NO",
    "selector_changed": "NO",
    "vm100_changed": "NO_READONLY_PARSE",
    "vm101_changed": "NO",
    "vm121_db_changed": "NO",
    "wg_peer_runtime_changed": "NO"
  },
  "db_summary": {
    "active_leases": 0,
    "enabled_peers": 5,
    "forced_leases": 0,
    "idle_leases": 5,
    "lease_rows": 5,
    "pending_jobs": 0
  },
  "mode": "READONLY_PARSE_VM100_ACTIVITY_COUNTERS_AND_BUILD_PEER_ACTIVITY_EVALUATION",
  "parser_contract": {
    "counter_name_regex": "peer_10_253_1_(\\\\d+)_(out|in)_vpn",
    "db_write_policy": "read-only in STEP_044I; later sampler may update last counters, last_activity_at, state",
    "not_activity_metric": "WireGuard handshake/keepalive",
    "per_peer_formula": {
      "active_now": "total_delta_packets >= 10 OR total_delta_bytes >= 16384",
      "total_delta_bytes": "out_delta_bytes + in_delta_bytes",
      "total_delta_packets": "out_delta_packets + in_delta_packets"
    },
    "production_sample_seconds": 120,
    "sample_window_seconds_used_in_step": 2,
    "source_command": "nft list counters table inet router_egress_activity"
  },
  "parser_summary": {
    "active_eval_count": 0,
    "missing_expected_s1": [],
    "missing_expected_s2": [],
    "peer_activity_rows": 5,
    "sample1_counter_rows": 10,
    "sample2_counter_rows": 10,
    "thresholds": {
      "bytes_min": 16384,
      "idle_seconds": 900,
      "packets_min": 10,
      "sample_seconds": 120
    }
  },
  "peer_activity": [
    {
      "active_eval": {
        "active_by_bytes": false,
        "active_by_packets": false,
        "active_now": false,
        "note": "read-only evaluation; DB not updated"
      },
      "delta": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0,
        "total_bytes": 0,
        "total_packets": 0
      },
      "egress_class": "cs1",
      "in_counter": "peer_10_253_1_10_in_vpn",
      "lease_forced_db": false,
      "lease_state_db": "idle",
      "out_counter": "peer_10_253_1_10_out_vpn",
      "peer_id": "376dfa07-0ba4-4182-af39-389a2cb3badd",
      "sample1": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0
      },
      "sample2": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0
      },
      "target_id": "cs1_vpn3",
      "threshold": {
        "bytes_min": 16384,
        "idle_seconds": 900,
        "packets_min": 10,
        "sample_seconds": 120
      },
      "tunnel_ip": "10.253.1.10"
    },
    {
      "active_eval": {
        "active_by_bytes": false,
        "active_by_packets": false,
        "active_now": false,
        "note": "read-only evaluation; DB not updated"
      },
      "delta": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0,
        "total_bytes": 0,
        "total_packets": 0
      },
      "egress_class": "cs2",
      "in_counter": "peer_10_253_1_11_in_vpn",
      "lease_forced_db": false,
      "lease_state_db": "idle",
      "out_counter": "peer_10_253_1_11_out_vpn",
      "peer_id": "cb533a1a-7070-416d-9272-846327545060",
      "sample1": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0
      },
      "sample2": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0
      },
      "target_id": "cs2_vpn4",
      "threshold": {
        "bytes_min": 16384,
        "idle_seconds": 900,
        "packets_min": 10,
        "sample_seconds": 120
      },
      "tunnel_ip": "10.253.1.11"
    },
    {
      "active_eval": {
        "active_by_bytes": false,
        "active_by_packets": false,
        "active_now": false,
        "note": "read-only evaluation; DB not updated"
      },
      "delta": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0,
        "total_bytes": 0,
        "total_packets": 0
      },
      "egress_class": "cs3",
      "in_counter": "peer_10_253_1_12_in_vpn",
      "lease_forced_db": false,
      "lease_state_db": "idle",
      "out_counter": "peer_10_253_1_12_out_vpn",
      "peer_id": "a3cbe3b5-8416-4847-b5ee-21f42359b465",
      "sample1": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0
      },
      "sample2": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0
      },
      "target_id": "cs3_vpn5",
      "threshold": {
        "bytes_min": 16384,
        "idle_seconds": 900,
        "packets_min": 10,
        "sample_seconds": 120
      },
      "tunnel_ip": "10.253.1.12"
    },
    {
      "active_eval": {
        "active_by_bytes": false,
        "active_by_packets": false,
        "active_now": false,
        "note": "read-only evaluation; DB not updated"
      },
      "delta": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0,
        "total_bytes": 0,
        "total_packets": 0
      },
      "egress_class": "cs4",
      "in_counter": "peer_10_253_1_13_in_vpn",
      "lease_forced_db": false,
      "lease_state_db": "idle",
      "out_counter": "peer_10_253_1_13_out_vpn",
      "peer_id": "219a1f63-ec47-4f72-9663-c1a17d82301e",
      "sample1": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0
      },
      "sample2": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0
      },
      "target_id": "cs4_vpn1",
      "threshold": {
        "bytes_min": 16384,
        "idle_seconds": 900,
        "packets_min": 10,
        "sample_seconds": 120
      },
      "tunnel_ip": "10.253.1.13"
    },
    {
      "active_eval": {
        "active_by_bytes": false,
        "active_by_packets": false,
        "active_now": false,
        "note": "read-only evaluation; DB not updated"
      },
      "delta": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0,
        "total_bytes": 0,
        "total_packets": 0
      },
      "egress_class": "cs5",
      "in_counter": "peer_10_253_1_14_in_vpn",
      "lease_forced_db": false,
      "lease_state_db": "idle",
      "out_counter": "peer_10_253_1_14_out_vpn",
      "peer_id": "e4adcfa1-6fbc-4471-b66b-8d7837f35f9d",
      "sample1": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0
      },
      "sample2": {
        "in_bytes": 0,
        "in_packets": 0,
        "out_bytes": 0,
        "out_packets": 0
      },
      "target_id": "cs5_vpn2",
      "threshold": {
        "bytes_min": 16384,
        "idle_seconds": 900,
        "packets_min": 10,
        "sample_seconds": 120
      },
      "tunnel_ip": "10.253.1.14"
    }
  ],
  "publish": {
    "local_report": "http://127.0.0.1:8099/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260709-140202_step044i_runtime_egress_activity_counters_read_parse/",
    "public_index_rebuilt": true,
    "trycf_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260709-140202_step044i_runtime_egress_activity_counters_read_parse/"
  },
  "schema": "router-step-facts-v1",
  "step": "STEP_044I_RUNTIME_EGRESS_ACTIVITY_COUNTERS_READ_AND_PARSE"
}
