Skip to content

fix(frontdoor): always leave a replacement door behind a watchdog kill - #509

Merged
Mearman merged 1 commit into
mainfrom
fix/watchdog-always-replace
Oct 18, 2026
Merged

Mearman merged 1 commit into
mainfrom
fix/watchdog-always-replace

Conversation

@Mearman

@Mearman Mearman commented Oct 18, 2026

Copy link
Copy Markdown
Member

fix(frontdoor): always leave a replacement door behind a watchdog kill

A watchdog kill used to start a replacement only when the door had
already served past the idle-shutdown window: a young door killed by a
stall the machine caused (observed in production, an overloaded host
stalling the loop shortly after the door bound) left nothing behind, and
every live session then saw connection refused until some later launch
happened to start a door.

The serving-time gate is replaced by a bounded respawn chain. Every
stall now starts a replacement, and each replacement carries its
generation in an env var the next door's watchdog reads, so the chain
stops after a fixed number of consecutive replacements: a stall that has
recurred through that many doors in a row with none of them serving is
the machine's, and the next launch's ensure is what starts the door
after that, exactly as before.

A watchdog kill used to start a replacement only when the door had
already served past the idle-shutdown window: a young door killed by a
stall the machine caused (observed in production, an overloaded host
stalling the loop shortly after the door bound) left nothing behind, and
every live session then saw connection refused until some later launch
happened to start a door.

The serving-time gate is replaced by a bounded respawn chain. Every
stall now starts a replacement, and each replacement carries its
generation in an env var the next door's watchdog reads, so the chain
stops after a fixed number of consecutive replacements: a stall that has
recurred through that many doors in a row with none of them serving is
the machine's, and the next launch's ensure is what starts the door
after that, exactly as before.
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-10-18T12:46:02.811025Z 7b38b39 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@Mearman
Mearman merged commit 403f924 into main Oct 18, 2026
32 checks passed
@Mearman
Mearman deleted the fix/watchdog-always-replace branch October 18, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant