Follow-up found during the July review/merge cycle.
Two separate macOS flakes this cycle shared one root cause: a test acted immediately after a weak readiness gate, racing the agent's startup:
Proposal: give the agent a single unambiguous steady-state signal (e.g. a ready marker/log emitted after baselines are captured and watchers are up — the ephemeral action already writes a ready file), and a shared test helper that waits on it before simulating reads/shutdowns. That replaces the ad-hoc "armed?" gates + sleep(2) settles and prevents this whole flake class from recurring.
Related: #213, #233.
Follow-up found during the July review/merge cycle.
Two separate macOS flakes this cycle shared one root cause: a test acted immediately after a weak readiness gate, racing the agent's startup:
test_heartbeat_success_is_logged— actually a shutdown race (fixed in fix(agent): don't respawn a FIFO writer during shutdown (fixes intermittent SIGTERM hang) #213), but surfaced by the same "act right after startup" pattern.test_atime_sensor_is_rearmable/test_mixed_sensors_plant_and_fire_together— read simulated beforeatime_pollcaptured its baseline (worked around with settles in test(agent): de-flake the atime tests (read-before-baseline race) #233).Proposal: give the agent a single unambiguous steady-state signal (e.g. a
readymarker/log emitted after baselines are captured and watchers are up — the ephemeral action already writes areadyfile), and a shared test helper that waits on it before simulating reads/shutdowns. That replaces the ad-hoc "armed?" gates +sleep(2)settles and prevents this whole flake class from recurring.Related: #213, #233.