context-monitor.sh reports stale ctx for idle whey agents: frozen transcript pins them at >=180k for hours (OPS-11 residual, action gated but read still wrong)
Residual of OPS-11, split out at close rather than folded in. RACE_SETTLE_SEC=900 in context-monitor.sh suppresses the false ACTION (verified: zero force-compactions on whey in 21d, zero 'defer 3/' give-ups) but does not fix the stale READ. Idle whey agents stay pinned at >=180k reported for hours or days. Evidence from bin-whey-cc, journalctl --user -u context-monitor-whey.service, Jul 19 - Aug 09: 468 first-sighting defers + 414 'defer 2/2', ~20/axis/day, dominated by frozen transcripts rather than slow compacts - proxy-evolutiva-cc 166131 x181, proxy-mba-w-cc 140137, nw-whey-cc 200896 x26, bin-whey-cc 201875 x36. Root cause is structural: whey is a laptop that sleeps, so an idle session leaves the transcript frozen at an old peak and last_turn() keeps reading it. Impact is reporting accuracy and operator trust, not a false compact - hence p2, not p1. Fix direction is the one OPS-11 named and never got: read true live window occupancy instead of the last-assistant-turn estimate. venus already does this (tick.py reads the statusline), so the question is whether context-monitor.sh gains a live read or whether whey gets the tick.py port tracked in MSG-207 - decide those together, they are the same lever. Coverage limit to carry forward: live /context values for the frozen cases are gone, so divergence magnitude is inferred from the frozen-repeat pattern, not measured. lezama not examined.