Skip to content

session-flow/running-retro observer: mtime-idle end detection fires mid-session (default 900s), analyzes a partial transcript, never resumes #1471

Description

@kyle-sexton

Summary

The session-flow running-retro detached observer declares a session ended after idle_seconds (default 900) of transcript quiet, runs its post-end analysis, and exits — permanently. In an attended session, 15 minutes of the operator reading and typing a long reply tripped it mid-session: the analysis ran against a partial transcript, and the remainder of the session was left unobserved.

Evidence

Status file from the affected run (v0.17.3):

{"cycles": 211, "lines_observed": 44, "idle_seconds": 900.1,
 "last_growth": "2026-07-26T04:01:39Z", "state": "ended-idle"}

Analysis fired at 04:16Z and the ledger checkpoint was written while the session was still active (the session continued for a substantial further stretch, unobserved).

Why this matters

  • Attended/interactive sessions routinely have >15-minute human pauses; mtime-idle is a weak proxy for "session ended."
  • The failure is silent and terminal: no re-arm, no notice to the session, analysis covers a prefix and presents itself as the session retro.

Suggested directions (any subset)

  1. Growth re-check before analysis, and resume on renewed growth: on idle trip, snapshot offset; if the transcript grows during or after analysis, return to watching and supersede/append at the true end rather than exiting.
  2. Raise the default for attended contexts (900s is tuned for abandoned sessions, not thinking humans) and surface the observer_idle_seconds config more prominently in the arm output.
  3. Prefer a positive end signal where available — a SessionEnd hook event writing a tombstone the observer polls — with mtime-idle as fallback only.

Filed by an AI agent during an attended session (operator-directed). Related: #1468 (arm launcher NameError, same component).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions