Close pending tool turns recorded during normal shutdown and apply interrupted-tail recovery when switching or reloading sessions.
Signed-off-by: Christian Stewart <christian@aperture.us>
Skip interrupted-turn recovery when an error or aborted assistant already closed its tool calls with synthetic results.
Signed-off-by: Christian Stewart <christian@aperture.us>
Detect pending tool calls from assistant content and use the selected model metadata to terminate first-turn user tails after abnormal process exits.
Signed-off-by: Christian Stewart <christian@aperture.us>
Appended one terminal aborted assistant record when a persisted abnormal-exit diagnostic follows a non-terminal transcript tail, preserving partial history while making resumed context valid.
Signed-off-by: Christian Stewart <christian@aperture.us>
- Projected full tool-call arguments down to a compact summary containing only `command` and `path`.
- Truncated summarized argument fields to 200 characters to prevent inflating session log sizes.
- Replaced routine clean session disposal warnings with debug logs to reduce noise.
- Streamlined debug context in assistant message removal and agent continuation skip paths.
- Extracted duplicate user-facing compaction warning strings into a helper function.
Collected assistant tool calls regardless of stopReason so malformed or legacy restored tails still surface pending-tool diagnostics.
Added regression coverage for a toolCall-bearing assistant stop message.
Fixes#2606
Recorded durable tool-start and session-exit markers so resumes can warn when a prior branch ended with pending tool calls.
Added regression coverage for pending bash tool calls and shutdown diagnostics.
Fixes#2606