--- id: coulomb-hourly-loop-health-collector name: Daily Loop Health Collector (coulomb-loop regulator) enabled: false owner: coulomb-loop governance: coulomb_social status: proposed trigger: type: cron cron_expression: "0 11 * * *" timezone: Europe/Berlin misfire_policy: skip context_sources: - type: state-hub query: recently_on_scope_hourly params: range: 1h active_only: true bind_to: context.hub_activity required: false - type: kaizen query: discover_kaizen_projects params: marker: .kaizen/metrics roster: /home/worsch/coulomb-loop/loops/kaizen-stack/roster.yaml bind_to: context.pilot_metrics --- # Hourly Loop Health Collector LOOP-WP-0004 T03 — aggregates first-order loop health for regulator sessions. Daily `0 11 * * *` runs after first-order chains (DEC-007). Computes `saturation_score` per `rotation-runbook.md` when pilot metrics ≥14 cycles. ```instruction id: append-health-snapshot description: | For each loop in coulomb-loop/loops/*/cadence.yml, append one JSON line to loops//health.jsonl with: - timestamp, phase, tasks_created (from hub), manual_rescues (bootstrap-log), agent_success_rate (pilot metrics avg), false_positive_rate (estimate). Regenerate loops/regulator/dashboard.md from last 24h of health.jsonl files. If demotion trigger from state-machine.md fires, create urgent optimization task. ``` Keep `enabled: false` until instruction executor supports file-append actions. Manual collection documented in `loops/regulator/session-template.md` (T05).