Skip to content

feat(cli): show live session status in the /session picker - #3441

Open
1625567290 wants to merge 1 commit into
apache:mainfrom
1625567290:codex/issue-3384-session-status
Open

feat(cli): show live session status in the /session picker#3441
1625567290 wants to merge 1 commit into
apache:mainfrom
1625567290:codex/issue-3384-session-status

Conversation

@1625567290

Copy link
Copy Markdown
Contributor

Summary

  • forward authoritative live Turn ids from the Runtime Host catalog into CLI Session summaries
  • show localized running, waiting-for-user, actionable blocked, and stopped badges in the /session picker
  • suppress stale persisted running states, non-actionable blocked bookkeeping, and raw status enum labels

Testing

  • npm --workspace maka-agent test (362 passed)
  • npm run lint
  • npm run format:check
  • npx --yes npm@11.19.0 run release:cli:pack
  • npx --yes npm@11.19.0 run release:cli:smoke reaches the installed interactive TUI check, then the Runtime Host stops responding during startup on this macOS machine; the same failure reproduces from a clean origin/main worktree at bd35541b3

Closes #3384

@Astro-Han Astro-Han left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for wiring the live runningTurnIds through the existing Runtime Host catalog seam. This matches the problem in #3384: the picker can now distinguish a genuinely running Session from a stale persisted running status, while the CLI remains a presentation layer and the Host remains the authority for live Turn state.

I found one non-blocking P2 follow-up below. The core implementation and status vocabulary are otherwise aligned with the existing Host and Desktop rules.

AI-assisted review disclosure: OpenAI Codex assisted with the exact-head review of the #3384 problem definition, Runtime Host live-state authority, CLI mapping, picker rendering, and focused tests. I verified the current head, base, CI, review state, the complete diff, and the cited Host-to-CLI and picker code paths before preparing this comment.

? ` subagent:${session.subagentRuntime.profile}`
: '';
return {
value: session.id,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Keep the live-status badge visible when resume availability is false

Reachability: ② reasonable failure/recovery path. If a Session's local working directory has been removed or is otherwise unavailable, getSessionResumeAvailability() returns available: false. Even when the Host has authoritatively returned a live runningTurnIds value, this branch renders only the short id and the availability reason, so the picker hides the fact that a Turn is still running.

Could we build the shared description prefix from shortSessionId + statusDetail and use it in both branches, appending the availability reason only for the unavailable case? That keeps the Host-owned live state visible while still explaining why the Session cannot be resumed locally. Please add one focused picker regression covering an unavailable Session with a live Turn.

This is non-blocking; it only affects status visibility on the recovery path.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(cli): show live Session status (running / waiting-for-user / blocked) in the /session picker

2 participants