Skip to content

SC-3581 - #411

Draft
StephanSchmidt wants to merge 4 commits into
mainfrom
autofix/sc-3581
Draft

SC-3581#411
StephanSchmidt wants to merge 4 commits into
mainfrom
autofix/sc-3581

Conversation

@StephanSchmidt

Copy link
Copy Markdown
Collaborator

PM ticket: SC-3581
Branch: autofix/sc-3581

humanbot 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.
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