-
Notifications
You must be signed in to change notification settings - Fork 142
feat(explain): add --raw-transcript flag and improve transcript display #132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…rsed transcript - Add --raw-transcript flag to output raw JSONL transcript directly - Change --full to show parsed full session transcript (formatted [User]/[Assistant]/[Tool]) - Rename default verbose section from "Prompts" to "Transcript (checkpoint scope)" - Both transcript modes now show human-readable parsed format instead of raw JSONL - --raw-transcript, --full, and --short are mutually exclusive - Extract appendTranscriptSection helper to share logic between checkpoint types Entire-Checkpoint: 4a4241ca5b3d Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Documents that using `git commit --amend -m` loses the Entire-Checkpoint trailer, breaking the link to session metadata. Tracked in: ENT-161 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Entire-Checkpoint: 4701adf9da1a
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a --raw-transcript flag to entire explain -c for programmatic access to raw JSONL transcripts, and improves the transcript display by showing parsed, human-readable format for both default and --full modes instead of raw JSONL.
Changes:
- Added
--raw-transcriptflag that outputs raw JSONL transcript data directly (bypasses pager for committed checkpoints) - Changed
--fullflag behavior from showing raw JSONL to showing parsed full session transcript in human-readable format - Renamed transcript section headers to clarify scope: "Transcript (checkpoint scope)" for default verbose mode and "Transcript (full session)" for full mode
- Added
docs/KNOWN_LIMITATIONS.mddocumenting the amend checkpoint loss issue (ENT-161)
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| docs/KNOWN_LIMITATIONS.md | New documentation file describing the git commit --amend issue with checkpoint trailers and providing workarounds |
| cmd/entire/cli/explain.go | Implements --raw-transcript flag, refactors transcript display to use parsed format via summarise package, adds validation for new flag |
| cmd/entire/cli/explain_test.go | Updates test function signatures with new rawTranscript parameter, adds test for new flag existence, updates test expectations for new transcript section names |
- Make --generate and --raw-transcript mutually exclusive to avoid confusing behavior where summary is generated but never shown - Fix raw transcript pager inconsistency: temporary checkpoints now write directly to stdout (matching committed checkpoint behavior) - Return specific error "checkpoint %s has no transcript" for temporary checkpoints instead of generic "not found" message - Show scoped transcript for temporary checkpoints in verbose mode by computing the diff against parent commit's transcript length Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Entire-Checkpoint: 80d68eb8b0e1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
- Pass writer to explainTemporaryCheckpoint and use it for raw transcript output instead of hardcoded os.Stdout (fixes testability) - Fix countLines to just count newlines for JSONL content where each line ends with \n, avoiding off-by-one error in transcript scoping Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Summary
--raw-transcriptflag toentire explain -cthat outputs raw JSONL transcript directly--fullto show parsed, human-readable transcript instead of appending raw JSONLdocs/KNOWN_LIMITATIONS.mddocumenting the amend checkpoint loss issue (tracked in ENT-161)Test plan
entire explain -c <id>- should show "Transcript (checkpoint scope):" with parsed entriesentire explain -c <id> --full- should show "Transcript (full session):" with parsed entriesentire explain -c <id> --raw-transcript- should output raw JSONL--raw-transcript,--full, and--shortare mutually exclusivemise run testto verify all tests pass🤖 Generated with Claude Code
Note
Medium Risk
Moderate risk due to changed CLI flags/output semantics and new transcript parsing/slicing logic for both committed and temporary checkpoints; failures could impact
entire explainusability but not data integrity.Overview
entire explain --checkpointgains--raw-transcriptto print the underlying JSONL transcript directly (bypassing pager/formatting) and enforces new flag constraints (--short/--full/--raw-transcriptmutually exclusive;--generateincompatible with--raw-transcript).Transcript display is reworked: default/verbose now show a parsed transcript scoped to the checkpoint, while
--fullshows the parsed full-session transcript; temporary checkpoint scoping is computed by diffing against the parent transcript, and tests are updated accordingly.Adds
docs/KNOWN_LIMITATIONS.mddocumenting thatgit commit --amend -mcan drop theEntire-Checkpointtrailer and orphan the link.Written by Cursor Bugbot for commit 8d8be6a. This will update automatically on new commits. Configure here.