Idle-path compact runaway: NULL growth baseline made every above-floor agent perpetually eligible (pm-terra-cc 8x in a morning)
MEASURED RUNAWAY, FIXED SAME TURN 2026-08-01. pm-terra-cc compacted 8x in one morning, last four at 11:46 (53.6%), 11:56 (52.0%), 12:00 (50.8%), 12:03 (50.0%) - every 3-4 min, each just over FLOOR_PCT. Seven other agents on the same path (pm-mars-cc 5, pm-enamel-cc 5, pmmaster-evolutiva-cc 4, coder02-terra-cc 4). Mechanism: growth_ok = 'last_compact_pct is None or ...', and since the /context probe was disabled ctx_pct_after is always NULL so last_compact_ctx_pct is never written after a compact -> baseline stays NULL -> growth vacuously satisfied -> any agent above the 50% floor re-qualifies on the next sustained-idle tick. Clearing the 12 poisoned baselines put a cohort into that state at once. Fix: IDLE_COMPACT_COOLDOWN_S=1200 gating all four idle triggers, read from actuator_log (record of what was ACTUATED) not agent_state; only the hard token cap overrides. Escalation/prefetch deliberately NOT exempt - both fire on conditions a just-compacted agent still satisfies. Time-based rather than evidence-based because post-compact ctx is unmeasurable (see OPS-112). Verified live: pm-terra-cc 9th compact blocked 12:07:28. mem:project_monitor_context_venus_actuator.md
Questions
Activity
-
Fixed and verified live same turn: IDLE_COMPACT_COOLDOWN_S=1200 in tick.py, pm-terra-cc 9th compact blocked at 12:07:28 with reason 're-compact cooldown: last compact 3.8min ago < 20min (ctx 50.8%)'. Code is running live via the ~/agents/monitor-context/scripts symlink but is NOT yet pushed to sh.git - that push is unauthorized and pending, same batch as tick.py/report.py/schema.sql.