Repository navigation
fix(chat): show the reasoning level an OmO or omp session changed to after its first 64 KB - #279
Conversation
…after its first 64 KB
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. 🧰 Additional context used📚 Code guidelines (1)No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: devswha/herdr-web-ui/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 SummarySummary by CodeRabbit
WalkthroughNon-Codex transcript processing now captures model and reasoning-level changes that occur after the bounded metadata head and before the newest page. Metadata assembly uses these records in transcript order. Tests cover boundary, cache-reset, in-page, and clear behavior. ChangesTranscript metadata selection
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to This fix makes OmO, omp, and Gajae Code sessions show the correct reasoning level after a change past the first 64 KB. No merge-blocking risk was identified. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Prepares v0.3.41. - `package.json` and `herdr-plugin.toml` go to 0.3.41. - The `[Unreleased]` notes move under `[0.3.41] - 2026-10-02`; compare links added. - 19 entries that had no PR link get one, with `by @login` for outside contributors (#262 by @diegolhambi; #255, #277, #278, #279 by @ddotz). After the merge: `gh workflow run release.yml --ref main -f version=0.3.41`.
Change
For omp-family transcripts (OmO, omp, Gajae Code), the composer's "Reasoning …" label is folded from two places:
METADATA_HEAD_BYTES);These stores record the level only when it changes (
thinking_level_change). A change that falls between those two places is never read. For example, a session started athighand switched tomediumkeeps showinghigh.model_changehas the same gap, but assistant messages in the page usually hide it.applyHistoryBoundaryalready scans every appended line once per file, looking for clear records. That same pass now also keeps the latestmodel_changeandthinking_level_changerecord with its offsets.metadataHeadappends the records that lie after the head and before the page start, in file order:Buffer.includeschecks per scanned line, about +20% CPU on a cold 167 MB transcript (117 → 139 ms) and incremental after that.Validation
main(ef90055), unchanged, with a real 18 MB OmO session file. It starts withthinking_level_change: highat byte 286 and switches tomediumat byte 356,197.transcriptPage("omo-transcript", <file>).metadata.reasoning_effortis"high"onmain(expected"medium") and"medium"on this branch.forgetTranscriptState().null.main. It also fails if the filter that keeps out records from before the clear is removed.bun run generate:types --check,bun run typecheck,bun run build: pass.bun run test:unit: 728 pass, 1 skip, 0 fail (main: 725 pass, 1 skip, 0 fail).