fix(optimize): exclude sidechains from behavioral signals - #994
Merged
Conversation
…gnals Only duplicate-reads has a structural reason to skip them: a subagent starts on a fresh context, so re-reading what its parent read is a necessary read, not a repeat. Reading node_modules or editing without reading is the same waste whoever does it, and the CLAUDE.md rule both findings suggest binds subagents too - filtering them there discarded most of the evidence on a subagent-heavy corpus.
iamtoruk
marked this pull request as ready for review
August 18, 2026 16:44
timothybrush
pushed a commit
to timothybrush/codeburn
that referenced
this pull request
Aug 18, 2026
parseLargeJsonl dropped promptSource for exactly the lines SDK-generated prompts live on, so the recurring-context detector regex-scanned the ends of the raw line for it. Add the field to LARGE_ROOT_FIELDS (tiny scalar, add-only, isSidechain already there) and delete the workaround: it read only 2 KB from each end, so a flag further in was missed. No cache change: optimize scans the raw JSONL each run, so promptSource never has to persist on CachedFile. Fixes getagentseal#1030. With getagentseal#994 this closes getagentseal#1023.
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.
Problem
Claude subagent sidechain transcripts were treated as user-started sessions by codeburn optimize. They inflated the displayed session population and generated low-worth, context-heavy, outlier, capability, coaching, and model-default advice that sidechains fail by construction.
Root cause
The session-level isSidechain marker was parsed but not consistently applied across optimize consumers. Some raw transcript detectors classified each line independently, the compact parser for large JSONL lines dropped the marker, and model/coaching paths consumed sidechain-inclusive project populations.
Change
User impact
codeburn optimize reports user-started session counts and no longer recommends behavioral or actionable changes based solely on subagent transcripts. Delegated token usage remains fully represented in spend, call, token, and configuration-overhead totals.
Preservation and out of scope
Testing
Fixes #974.