Repository navigation
v0.1.64
v0.1.64
Summary
This release brings two significant improvements:
whale execsession resume & explicit mode control — resume existing sessions, override the execution mode (agent/ask/plan), and get strict, machine-parseable session validation with unified JSON error output. Built for automation workflows (CI, SWE-bench) with zero side effects on failed pre-checks.- TUI Alt+P permission cycle shortcut — cycle the permission mode directly from the chat view (
ask → auto-review → auto-accept → ask) and always see the current permission state in the footer.
What's Changed
exec: session resume, mode control & strict session gate (#344) — @ehwjh2010
exec --session <id>: resume an existing session; the next round appends to the same JSONL and reads the full first-round history. Worktree sessions are re-entered automatically (chdir to the recorded workspace, including subdirectories inside the worktree).exec --mode agent|ask|plan: explicit, case-insensitive mode override. On resume, the mode is persisted during the commit phase and carried to the next round; new sessions default to Agent.- Strict session contract (
ResolveStrictSession): blank/unsanitized IDs, nonexistent/unrecoverable sessions, subagent sessions, and cross-workspace sessions are rejected before any model call — zero provider requests, zero state writes. ValidateResumeTargetpre-validation matrix: session+worktree consistency, missing-worktree fallback, and explicit worktree takeover rejection all raised as identifiable error types.- Unified JSON error output: with
--json, session/mode/security/execution errors emit exactly one machine-readableExecResult{status:error}and return a non-zero exit code — no double emission, no usage-text pollution. exec --helpdocumentation: session/mode relationship docs; the SWE-bench script migrated to exec-local flag positions.- Internal refactor:
ResolveResumeWorktreeDecisionsplit into a read-only decision + commit cleanup, withTargetWorkspaceas a single fill point shared by TUI and exec; mode persistence converges onCommitStartState. - Compatible with existing behavior:
whale resume, TUI, app-server, and ACP unchanged (regression tests).
TUI: Alt+P permission mode cycle (#346) — @shayne-snap
- Alt+P cycles the permission mode in chat view:
ask → auto-review → auto-accept → ask— no need to open/permissionsto check or change the approval level. - The footer now always shows the current permission state and the cycle hint (e.g.
permission: ask (Alt+P to cycle)). - Cycling is blocked while a turn is busy or suggestion panels are open, keeping the TUI in sync with the running turn.
- New
model_permission_cycle_test.gocovering cycle order, busy/suggestion-panel blocks, and the footer indicator.
PRs
- #344 feat: exec session resume, mode control, and strict session gate
- #346 feat(tui): add Alt+P permission mode cycle shortcut
Thanks
Thanks to @ehwjh2010 for building the exec session resume and mode control system, and to @shayne-snap for the Alt+P permission shortcut and for reviewing and merging the exec work. 🐋