SC-3581 - #411
Draft
StephanSchmidt wants to merge 4 commits into
Draft
Conversation
added 4 commits
August 5, 2026 08:18
…them Nothing owned the answer to "where do Claude transcripts live on this host": each reader rebuilt the operator's ~/.claude/projects inline, so the trees agent containers keep inside the project were invisible to every one of them. TranscriptRoots names all of them once. Roots are resolved and de-duplicated because the scan carries no per-message dedupe, so a tree reachable twice would be counted twice — an overstated number is no better than an understated one. Resolution also makes a symlinked root walkable at all, since filepath.Walk lstats its root and follows no links. ScanTokensRoots and CalculateUsageRoots fold the existing single-root scans, degrading per root: one unreadable tree contributes nothing rather than emptying the whole answer.
…anels The token and cost panels described the wrong machine: they read the operator's own tree alone and presented the result as the whole picture, with no hint that it was partial. Everything the pipeline spent was written where the scanner never looked, and every agent-side model was missing from the by-model breakdown. The production scanner now reads the enumerator over the project dirs the daemon already holds, so no new configuration appears and no single project is assumed. A nil registry still yields the operator's tree alone, and the single cached scan per range is unchanged.
…operator's The CLI's local path rebuilt the same hardcoded home-directory root the board did, so fixing only the board would have left two surfaces disagreeing about what the machine spent. `usage` never forwards to the daemon and so has no project registry: it reads the registered dirs from the daemon info file, which records them and is readable whether or not a daemon is running, and offers the working directory too so the command is still complete on a machine where a daemon was never started.
The feature bullet promised usage "for the current window" without saying whose, which is exactly the ambiguity that let a half-picture read as the whole one.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PM ticket: SC-3581
Branch: autofix/sc-3581