mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-09-10 18:45:53 +00:00
49516bf367
Wiping the agent state dir regenerates the agent ID and a fresh install command mints a fresh token, so Docker host identity resolution correctly refuses to adopt the old record (a foreign token must never take over a live host) and creates a new one. Nothing ever reaped the old record, so it sat in state forever with a stale agent version, stale containers and stale image digests. That is the source of the outdated-agent banner that contradicts the update dialog in #1586, the doubled container rows in #1564, and plausibly the digest-mismatch preflight refusal there too. Reap a matching record only when it stopped reporting before the superseding token was minted, the same explicit-reenroll-intent rule the removal block uses (#1581). A record that is still reporting keeps advancing LastSeen and is never touched, and supersession sets no resurrection block. Refs #1586 #1564 PULSE_ALLOW_CONTRACT_NEUTRAL_COMMIT: docker host state bug fix; live Codex agent WIP holds the contract docs