kernel/REPL: an unexpected kernel exit bricks the session forever, and the watchdog has no liveness channel #2263
Dmatut7
started this conversation in
Bug reports
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Verified against
main(fb2db8ee1).1. Kernel death = permanent session brick.
ReplKernelManagerstate parks atshutdown;restart()has no production callers; every subsequent cell fails with "Kernel has been shut down". We had two production sessions each fail 7 times in a row. Our fix: attribute the exit (code/signal/origin), auto-revive with an hourly budget (3/h fail-closed), restore the last snapshot, and tell the model the state was reset.2. The stall watchdog cannot tell a healthy long cell from a deadlock. Its only activity source is the event stream; a cell doing
await bash(...)or waiting on a subagent produces no stdout for 900s and gets killed mid-work (we had 144 production aborts, 100% of them with ipython in flight). We added an out-of-band kernel heartbeat (loop tick + live bash handles + in-flight host requests) that vouches the cell into the existing bounded snooze. True deadlocks still die — the budget is shared and capped, with regression tests proving both directions.Both are on our line with tests; happy to upstream as PRs. Full list: https://github.com/Dmatut7/prime-agent-rlm/blob/merge/repl-kernel/docs/fork/upstream-feedback-20260911.md
All reactions