You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Drop the compaction prefix fingerprint. A compacted lane is reused while
its throughId still exists in the transcript, so a rollback that crosses
the compaction point rebuilds from the transcript and an in-place edit of
a summarized message is tolerated (unsupported by design). A custom
TranscriptStorage no longer has to preserve exact message JSON for a
compaction to survive.
- Skip persisting a content-less assistant response, so a turn that errors
before the model writes anything no longer leaves an empty assistant
bubble in the transcript or the next turn's context.
- Fall back to a generic error message when a thrown error has no message,
instead of surfacing a blank error to the client.
- The test harness seedSessionInTail stamps the harness clientData onto
seeded records, matching how production preserves each record's metadata,
so recovery re-dispatch is testable for clientDataSchema agents.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VG39FXXkFFU24U5EtJMwPi
chat.agent transcript fixes: a turn that errors before the model produces any content no longer stores an empty assistant message, an error thrown without a message now shows a generic error instead of a blank one, and a custom transcript storage no longer needs to preserve exact message JSON for a compaction to survive a continuation.