{
  "assessment": {
    "all_ok": true,
    "blockers": [],
    "decision": "PASS_STEP_044S_ACTIVITY_SAMPLER_SYSTEMD_ENABLE_AND_OBSERVE",
    "expected_absence": {
      "client_config_published": false,
      "manual_agent_service_start_used": false,
      "private_material_published": false,
      "selector_changed": false,
      "service_left_running": false,
      "timer_disabled_after_enable": false,
      "timer_inactive_after_enable": false,
      "vm100_runtime_changed": false,
      "vm101_changed": false,
      "wg_peer_runtime_changed": false
    },
    "success_checks": {
      "journal_service_has_run": true,
      "journal_timer_seen": true,
      "last_run_apply_attempted": true,
      "last_run_apply_executed": true,
      "last_run_apply_rows_five": true,
      "last_run_json_created_or_updated": true,
      "last_run_mode_apply": true,
      "last_run_rows_five": true,
      "last_run_selector_match_five": true,
      "observed_timer_run": true,
      "post_active_leases_one": true,
      "post_db_collected": true,
      "post_enabled_peers_five": true,
      "post_forced_leases_zero": true,
      "post_idle_leases_four": true,
      "post_lease_rows_five": true,
      "post_pending_jobs_zero": true,
      "post_service_inactive_after_oneshot": true,
      "post_service_static": true,
      "post_timer_active": true,
      "post_timer_dryrun_active_by_new_delta_zero": true,
      "post_timer_dryrun_apply_not_attempted": true,
      "post_timer_dryrun_mode": true,
      "post_timer_dryrun_ok": true,
      "post_timer_dryrun_rows_five": true,
      "post_timer_dryrun_selector_match_five": true,
      "post_timer_dryrun_zero_delta_rows_five": true,
      "post_timer_enabled": true,
      "pre_active_leases_one": true,
      "pre_db_collected": true,
      "pre_enabled_peers_five": true,
      "pre_idle_leases_four": true,
      "pre_lease_rows_five": true,
      "pre_pending_jobs_zero": true,
      "pre_service_static_or_non_autostart": true,
      "pre_timer_disabled_or_enabled_known": true,
      "public_index_rebuilt": true,
      "public_report_created": true,
      "rollback_saved": true,
      "state_last_run_json_created_or_updated": true,
      "target10_last_activity_preserved_without_new_delta": true,
      "target10_post_timer_dryrun_zero_delta": true,
      "target10_state_active_post": true,
      "target10_updated_at_present": true,
      "timer_enable_now_ok": 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
    },
    "warnings": [
      "STEP_044S enables and starts the sampler timer; this is an intentional persistent router-ops change.",
      "The timer run intentionally executes sampler --apply. With no new traffic, baselines remain aligned and post dry-run delta is zero.",
      "Rollback script disables/stops the timer only; it does not remove unit files from STEP_044R."
    ]
  },
  "changes": {
    "client_config_published": "NO",
    "manual_agent_service_start_used": "NO",
    "private_material_published": "NO",
    "router_ops_changed": "YES_TIMER_ENABLED_AND_ACTIVE",
    "selector_changed": "NO",
    "systemd_service_left_running": "NO",
    "systemd_timer_active": "YES",
    "systemd_timer_enabled": "YES",
    "vm100_changed": "NO",
    "vm101_changed": "NO",
    "vm121_db_changed": "YES_BY_SYSTEMD_SAMPLER_APPLY_ONLY",
    "wg_peer_runtime_changed": "NO"
  },
  "db_summary_post": {
    "active_leases": 1,
    "enabled_peers": 5,
    "forced_leases": 0,
    "idle_leases": 4,
    "lease_rows": 5,
    "pending_jobs": 0
  },
  "db_summary_pre": {
    "active_leases": 1,
    "enabled_peers": 5,
    "forced_leases": 0,
    "idle_leases": 4,
    "lease_rows": 5,
    "pending_jobs": 0
  },
  "last_run_summary": {
    "active_by_new_delta_count": 0,
    "rows": 5,
    "rows_with_selector_match": 5,
    "rows_with_zero_delta": 5
  },
  "mode": "ENABLE_START_TIMER_AND_OBSERVE_ONE_SYSTEMD_FIRED_SAMPLER_APPLY",
  "post_timer_dryrun_summary": {
    "active_by_new_delta_count": 0,
    "rows": 5,
    "rows_with_selector_match": 5,
    "rows_with_zero_delta": 5
  },
  "publish": {
    "local_report": "http://127.0.0.1:8099/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260709-151248_step044s_activity_sampler_systemd_enable_and_observe/",
    "public_index_rebuilt": true,
    "trycf_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260709-151248_step044s_activity_sampler_systemd_enable_and_observe/"
  },
  "schema": "router-step-facts-v1",
  "step": "STEP_044S_ACTIVITY_SAMPLER_SYSTEMD_ENABLE_AND_OBSERVE",
  "systemd": {
    "last_run_mtime": 1783609972,
    "last_run_path": "/opt/router-ops/runtime/wgpaid-activity-sampler/last-run.json",
    "observed_timer_run": true,
    "rollback_path": "/opt/router-ops/rollbacks/rollback-step044s-activity-sampler-timer-enable-20260709-151248.sh",
    "service_active_state": "inactive",
    "service_enabled_state": "static",
    "state_last_run_mtime": 1783609972,
    "state_last_run_path": "/opt/router-ops/state/current-wgpaid-activity-sampler-last-run.json",
    "timer_active_state": "active",
    "timer_enabled_state": "enabled"
  },
  "target10": {
    "last_run_delta": {
      "rx_bytes": 0,
      "rx_packets": 0,
      "total_bytes": 0,
      "total_packets": 0,
      "tx_bytes": 0,
      "tx_packets": 0
    },
    "post_db": {
      "assignment_source": "bootstrap",
      "cooldown_until": "",
      "egress_class": "cs1",
      "forced": false,
      "last_activity_at": "2026-07-09 14:47:21.837692+00",
      "last_rx_bytes": 13680,
      "last_rx_packets": 60,
      "last_tx_bytes": 13680,
      "last_tx_packets": 60,
      "peer_id": "376dfa07-0ba4-4182-af39-389a2cb3badd",
      "reason": "activity_sampler_keep_active_no_delta",
      "state": "active",
      "target_id": "cs1_vpn3",
      "tunnel_cidr": "10.253.1.10/32",
      "tunnel_ip": "10.253.1.10",
      "updated_at": "2026-07-09 15:12:52.25593+00"
    },
    "post_timer_dryrun_delta": {
      "rx_bytes": 0,
      "rx_packets": 0,
      "total_bytes": 0,
      "total_packets": 0,
      "tx_bytes": 0,
      "tx_packets": 0
    }
  }
}
