Skip to content

feat(claude): parse v2.1 system subtypes - #59

Merged
zawakin merged 1 commit into
mainfrom
feat/claude-system-subtypes
Jun 1, 2026
Merged

feat(claude): parse v2.1 system subtypes#59
zawakin merged 1 commit into
mainfrom
feat/claude-system-subtypes

Conversation

@zawakin

@zawakin zawakin commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up to the v2.1 log-format audit (#57). Handles three system record subtypes that were silently dropped (they fell through the _ => skip arm), surfacing them as timeline Notification events.

  • away_summaryNotification (info): the summary shown when returning to a session that ran in the background / as a remote agent. "Away summary: {content}".
  • api_errorNotification (warn): "API error (retry {attempt}/{max})" when retry metadata is present, else the raw content.
  • informationalNotification (info): generic info message.

Changes

  • claude/schema.rs: add retry_in_ms / retry_attempt / max_retries to SystemRecord (for api_error).
  • claude/parser.rs: three new match arms + 3 unit tests.

Consistent with how existing system subtypes (compact_boundary, stop_hook_summary, turn_duration) already map to Notification. No snapshot changes.

Notes

New metadata record types (ai-title, custom-title, last-prompt, agent-name, mode, permission-mode, attachment) are session-level metadata rather than timeline events; they'll be handled separately (session-metadata plumbing vs. timeline) per the roadmap in #57.

🤖 Generated with Claude Code

@zawakin zawakin self-assigned this Jun 1, 2026
@zawakin
zawakin merged commit 0f35392 into main Jun 1, 2026
8 checks passed
@zawakin
zawakin deleted the feat/claude-system-subtypes branch June 1, 2026 15:48
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.

1 participant