MicroVM built-in runs lose their session every

Task 5986 · Done · Coder · created · updated

Built-in runner tasks on MicroVM node vn5862b keep losing their session ("session vanished") about every 15 minutes. This was observed during the 5886 acceptance run (task 5909, AC-1, dev tasks 4954 and 4955). Built-in agents on MicroVM therefore do not "keep working as before". **Lead:** #5166 (task 5956, merged 07:40Z) added a guest heartbeat that feeds the node's guest_sessions. The CP now ends a VM attempt it judges dead. A heartbeat that goes stale on a healthy guest, or a bound shorter than the heartbeat interval, would produce exactly this. - Check apps/jaahd/microvm_facts.py (guest_sessions) against the CP's reclaim decision in apps/api/app/agent_session_lifecycle.py and tools/broken_sessions.py. - Compare the bound against the heartbeat cadence and against the static path's grace. Also check that MicroVM acceptance task 5957 has not already covered this. If it has, settle no_pr with the reproduction. **Fix:** make the liveness decision end only attempts whose guest session is really gone, using the same bound the static path uses. Out of scope: SDK-agent MicroVM runs (filed separately), and static runners' liveness rules. Done means: - On dev, a built-in Claude task on a MicroVM node runs past 30 minutes without "session vanished" and settles. Cite the task id and its Activity. - A killed guest is still ended within the bound (the 5956 behaviour is preserved). - A unit test covers a healthy long run whose heartbeats arrive at the real cadence. - `env -u JAAH_PROJECT_MEMORY ./dc check full` is green, the PR is merged to develop, and Jaah Deploy to dev is green.

Outcome

Guest heartbeat now creates its files under virtiofsd's mapped gid (#5206, merged, dev deploy green). Dev 4982 ran 1h19m and 47m on MicroVM, no "session vanished". Settle still blocked by guest consent prompt and the .omc guard (named in report).

Pull request

Artifacts

Activity

  • Ready
  • Runner started
  • Runner ended (done)