{
  "assessment": {
    "all_ok": true,
    "blockers": [],
    "decision": "PASS_STEP_044Q_ACTIVITY_SAMPLER_SYSTEMD_TIMER_PREVIEW",
    "expected_absence": {
      "activity_eval_written_to_db": false,
      "client_config_published": false,
      "manual_agent_service_start_used": false,
      "private_material_published": false,
      "selector_changed": false,
      "service_active": false,
      "service_enabled": false,
      "service_installed": false,
      "timer_active": false,
      "timer_enabled": false,
      "timer_installed": false,
      "vm100_changed": false,
      "vm101_changed": false,
      "vm121_db_changed": false,
      "wg_peer_runtime_changed": false
    },
    "success_checks": {
      "active_leases_one": true,
      "activity_service_seen_by_sampler": true,
      "counter_rows_ten_seen_by_sampler": true,
      "db_collected": true,
      "enabled_peers_five": true,
      "force_mode_off": true,
      "forced_leases_zero": true,
      "idle_leases_four": true,
      "lease_rows_five": true,
      "pending_jobs_zero": true,
      "preview_service_generated": true,
      "preview_timer_generated": true,
      "public_index_rebuilt": true,
      "public_report_created": true,
      "rebalance_not_paused": true,
      "sampler_active_by_new_delta_zero": true,
      "sampler_apply_not_attempted": true,
      "sampler_dryrun_mode": true,
      "sampler_dryrun_ok": true,
      "sampler_exists_executable": true,
      "sampler_rows_five": true,
      "sampler_rows_zero_delta_five": true,
      "sampler_selector_match_five": true,
      "settings_thresholds_ok": true,
      "systemd_verify_ok": true,
      "target10_state_active_zero_delta": true,
      "vm100_seen_by_sampler": 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_044Q is preview-only: it generates service/timer files in the report workdir but does not install or enable them.",
      "Preview cadence is every 2 minutes with 15s randomized delay; no systemd timer is active yet.",
      "Next step can install the unit/timer disabled first, or enable timer after a final safety check."
    ]
  },
  "changes": {
    "client_config_published": "NO",
    "manual_agent_service_start_used": "NO",
    "private_material_published": "NO",
    "router_ops_changed": "NO_PREVIEW_ONLY",
    "selector_changed": "NO",
    "systemd_service_installed": "NO",
    "systemd_timer_enabled": "NO",
    "vm100_changed": "NO",
    "vm101_changed": "NO",
    "vm121_db_changed": "NO",
    "wg_peer_runtime_changed": "NO"
  },
  "db_summary": {
    "active_leases": 1,
    "enabled_peers": 5,
    "forced_leases": 0,
    "idle_leases": 4,
    "lease_rows": 5,
    "pending_jobs": 0
  },
  "mode": "PREVIEW_SYSTEMD_SERVICE_TIMER_FOR_REUSABLE_ACTIVITY_SAMPLER_NO_INSTALL",
  "publish": {
    "local_report": "http://127.0.0.1:8099/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260709-145011_step044q_activity_sampler_systemd_timer_preview/",
    "public_index_rebuilt": true,
    "trycf_report": "https://helena-background-beam-harry.trycloudflare.com/r/e94a0859747d7b96f29c7fdafc2d0351ba603bb0a7e9e5a4/20260709-145011_step044q_activity_sampler_systemd_timer_preview/"
  },
  "sampler_dryrun_summary": {
    "active_by_new_delta_count": 0,
    "rows": 5,
    "rows_with_selector_match": 5,
    "rows_with_zero_delta": 5
  },
  "schema": "router-step-facts-v1",
  "step": "STEP_044Q_ACTIVITY_SAMPLER_SYSTEMD_TIMER_PREVIEW",
  "timer_preview": {
    "accuracy_sec": "15s",
    "active": false,
    "enabled": false,
    "installed": false,
    "on_boot_sec": "2min",
    "on_unit_active_sec": "2min",
    "randomized_delay_sec": "15s",
    "service_name": "wgpaid-activity-sampler.service",
    "service_path": "/etc/systemd/system/wgpaid-activity-sampler.service",
    "timer_name": "wgpaid-activity-sampler.timer",
    "timer_path": "/etc/systemd/system/wgpaid-activity-sampler.timer"
  }
}
