What happened
The TUI's safe-boundary resume has no discovery surface, so the feature is effectively invisible even when it would work:
- No interrupted-session signal at startup. When the attached (or most recent) session has a failed/cancelled run that
/resume could continue, the TUI shows nothing. The user must already know /resume exists and guess that it applies. Desktop solves this with an interrupted-turn banner carrying a Safe resume action (use-shell-resume.ts / AppShell); the TUI has no equivalent.
/resume with no session attached fails raw. In a fresh TUI (no session attached yet), /resume throws the driver's internal Cannot resume before a session starts. as a red error instead of helping the user reach a resumable session.
Reproduced live (with MAKA_RUNTIME_SAFE_BOUNDARY_RESUME=1):
- Provider turn fails with a 502 → exit → relaunch TUI in the same cwd → no indication anything is resumable;
/resume only helps if you already switched back to that session via /session.
- Fresh TUI, no session attached →
/resume → Error: Cannot resume before a session starts.
How to reproduce
MAKA_RUNTIME_SAFE_BOUNDARY_RESUME=1 maka in a project with an existing session
- Send a message; have the turn fail (e.g. provider error) or cancel it with Esc
- Relaunch the TUI in the same cwd — observe: no hint that the session has an interrupted run
- In a TUI with no session attached, type
/resume — observe the raw red error
Environment
- Maka version or commit: 944d822 (main, v0.1.11)
- OS and version: Linux x64
- Surface: TUI / CLI
- Node.js version, if running from source: 26.3.0
Expected behavior
- When the current/most-recent session for the cwd has an interrupted run (and the host reports resume available), the TUI shows an informational hint at startup/attach, e.g. "This session has an interrupted run — /resume to continue from the safe boundary." A passive hint is enough; no auto-resume is needed (Desktop owns the auto-resume policy).
/resume with no session attached opens the session picker (scoped to resumable sessions where the driver reports them) instead of throwing Cannot resume before a session starts.
Logs, screenshots, or additional context
What happened
The TUI's safe-boundary resume has no discovery surface, so the feature is effectively invisible even when it would work:
/resumecould continue, the TUI shows nothing. The user must already know/resumeexists and guess that it applies. Desktop solves this with an interrupted-turn banner carrying a Safe resume action (use-shell-resume.ts/ AppShell); the TUI has no equivalent./resumewith no session attached fails raw. In a fresh TUI (no session attached yet),/resumethrows the driver's internalCannot resume before a session starts.as a red error instead of helping the user reach a resumable session.Reproduced live (with
MAKA_RUNTIME_SAFE_BOUNDARY_RESUME=1):/resumeonly helps if you already switched back to that session via/session./resume→Error: Cannot resume before a session starts.How to reproduce
MAKA_RUNTIME_SAFE_BOUNDARY_RESUME=1 makain a project with an existing session/resume— observe the raw red errorEnvironment
Expected behavior
/resumewith no session attached opens the session picker (scoped to resumable sessions where the driver reports them) instead of throwingCannot resume before a session starts.Logs, screenshots, or additional context
resumeParkToastCopyin@maka/ui(note: that copy operates on runtime-levelrejectionReasonsand is currently zh-CN-only, while the TUI copy added in fix(cli): surface parked /resume plans as informational notices, not errors #3506 operates on protocol-levelTurnResumeParkReason— sharing or aligning these two copy layers could be part of this work).docs/architecture/runtime-resume-architecture.md) — that is a separate, larger runtime effort.