Conversation
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The PR changes production usage and cost metering for oversized transcripts and introduces a non-trivial selective JSON streaming path plus shared parser changes. Its tests are broad, but the runtime and accounting impact warrant human review. You can add or adjust custom eligibility rules. Learn more. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: pingdotgg/t3code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe transcript JSON reader now selects tokens directly and supports a configurable depth limit. Usage scanning parses small lines normally and projects selected fields from large lines. It tracks byte offsets and incomplete tails for resumed scans. ChangesTranscript usage scanning
Priority: ➖ Normal Estimated code review effort: 4 (Complex) | ~45 minutes Change: Bug fix · Severity of issue fixed: Medium Suggested reviewers: Merge Risk: ⚪ Minimal · up to Malformed oversized records do not prevent later usage records from being scanned. No merge-blocking issue was established. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to Large transcripts can now contribute usage without loading the entire record as a string. The review found no demonstrated new route to transcript files or material weakening of the existing cache and resume behavior. The remaining uncertainty is who can write the configured transcript directories in deployment. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
Large tool-output records can make Usage lose an entire transcript's totals. This streams oversized records and keeps their usage, without loading the full tool output into a string. Ordinary records keep native parsing.
Closes #7258.
UI
Same history, different accuracy. These recordings rescan the same 647 MiB fixture: a large Codex tool output, a large Claude usage record, and a duplicate Claude file. The expected total is 10,730 tokens. Main loses all 530 Codex tokens; this PR retains them without double-counting the duplicate.
The previews above are animated recordings at original speed, with a test-only stopwatch from the refresh click to the received result. Initial navigation and the sidebar are omitted for readability. Each refresh forces a complete reread; filesystem caches were not cleared.
This case shows the accuracy fix, not a speedup. Main ends sooner with a failed Codex read. The PR takes about 0.58 s longer to return the complete total. Neither app crashes in these recordings.
Other test results
Tested
099777b8against maine5a46d6con Linux web. Native clients and remote/tunnel execution were not exercised locally; selected metadata remains uncapped. Full test details and limitations.Implemented and tested with GPT-6-Astra through the Codex harness in T3 Code.