Skip to content

Conversation

@khaong
Copy link
Contributor

@khaong khaong commented Feb 1, 2026

Summary

  • Add --raw-transcript flag to entire explain -c that outputs raw JSONL transcript directly
  • Change --full to show parsed, human-readable transcript instead of appending raw JSONL
  • Rename verbose transcript section from "Prompts" to "Transcript (checkpoint scope)" / "Transcript (full session)"
  • Add docs/KNOWN_LIMITATIONS.md documenting the amend checkpoint loss issue (tracked in ENT-161)

Test plan

  • Run entire explain -c <id> - should show "Transcript (checkpoint scope):" with parsed entries
  • Run entire explain -c <id> --full - should show "Transcript (full session):" with parsed entries
  • Run entire explain -c <id> --raw-transcript - should output raw JSONL
  • Verify --raw-transcript, --full, and --short are mutually exclusive
  • Run mise run test to 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 explain usability but not data integrity.

Overview
entire explain --checkpoint gains --raw-transcript to print the underlying JSONL transcript directly (bypassing pager/formatting) and enforces new flag constraints (--short/--full/--raw-transcript mutually exclusive; --generate incompatible with --raw-transcript).

Transcript display is reworked: default/verbose now show a parsed transcript scoped to the checkpoint, while --full shows 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.md documenting that git commit --amend -m can drop the Entire-Checkpoint trailer and orphan the link.

Written by Cursor Bugbot for commit 8d8be6a. This will update automatically on new commits. Configure here.

khaong and others added 2 commits February 1, 2026 13:24
…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
@khaong khaong requested a review from a team as a code owner February 1, 2026 02:52
Copilot AI review requested due to automatic review settings February 1, 2026 02:52
Copy link
Contributor

Copilot AI left a 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-transcript flag that outputs raw JSONL transcript data directly (bypasses pager for committed checkpoints)
  • Changed --full flag 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.md documenting 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
Copy link

@cursor cursor bot left a 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>
Base automatically changed from alex/test-explain-checkpoint-boundaries to main February 2, 2026 00:20
@gtrrz-victor gtrrz-victor merged commit 1eebc9a into main Feb 2, 2026
4 checks passed
@gtrrz-victor gtrrz-victor deleted the alex/explain-raw-transcript branch February 2, 2026 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants