Skip to content

Sessions show 'running' state after underlying process exits #10

@arcavenai

Description

@arcavenai

Summary

When a session's pane process exits (crash, missing binary, etc.), marvel get sessions continues to report state: running. The state never transitions to crashed, exited, or error. The only signal is the health column eventually flipping to unhealthy after the heartbeat timeout window (~30s).

Observed

WORKSPACE  TEAM   ROLE        GEN  NAME                   STATE    HEALTH   CTX%  DESK  AGENT
demo       squad  agent       1    squad-agent-g1-0       running  unknown  -     6     simulator
demo       squad  agent       1    squad-agent-g1-1       running  unknown  -     7     simulator
demo       squad  agent       1    squad-agent-g1-2       running  unknown  -     8     simulator
demo       squad  supervisor  1    squad-supervisor-g1-0  running  unknown  -     9     simulator

All show running / unknown even though bin/simulator doesn't exist and the pane exited immediately.

Expected

The daemon should detect pane exit promptly (poll tmux pane existence or watch for process exit) and transition session state to crashed or exited. Suggested states:

  • exited — process terminated with exit code 0
  • crashed — process terminated with non-zero exit or signal
  • error — command failed to launch (not found, permission denied)

This would give operators immediate visibility without waiting for healthcheck timeout.

Environment

  • marvel 0.1.0-alpha.20260417.040512.b72898e, aarch64, Debian 13

Metadata

Metadata

Assignees

No one assigned

    Labels

    area.controllerReconcilerarea.sessionSession lifecyclebugSomething isn't workingtype.bugBroken behavior — something doesn't work as designed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions