Remote sessions currently show no liveness at all. The refresh loop knows only
what the transcript mtime says, which cannot distinguish a session that is
thinking from one waiting for input — neither writes.
The CLI descriptor answers it directly: status (measured value idle, with
statusUpdatedAt), plus pid and procStart to confirm the process is still
that one and not a PID reuse.
Depends on the descriptor read.
Scope: surface the state in the sidebar for remote sessions, and say plainly
when the descriptor is missing — a session whose state is unknown must read as
unknown, never as idle.
Remote sessions currently show no liveness at all. The refresh loop knows only
what the transcript mtime says, which cannot distinguish a session that is
thinking from one waiting for input — neither writes.
The CLI descriptor answers it directly:
status(measured valueidle, withstatusUpdatedAt), pluspidandprocStartto confirm the process is stillthat one and not a PID reuse.
Depends on the descriptor read.
Scope: surface the state in the sidebar for remote sessions, and say plainly
when the descriptor is missing — a session whose state is unknown must read as
unknown, never as idle.