feat(transcript): noise tagging + llm review-relevance grading#495
Open
plind-junior wants to merge 1 commit into
Open
feat(transcript): noise tagging + llm review-relevance grading#495plind-junior wants to merge 1 commit into
plind-junior wants to merge 1 commit into
Conversation
make the review console's session transcript skimmable. two layers over the normalized transcript, both presentation-only — the raw session file stays the evidence of record. deterministic noise tagging (transcript.py): classify_noise tags injected scaffolding (system reminders, hook payloads, command output, meta) by prefix, and a message whose blocks are all noise rolls up to a single collapsed stub. no llm. llm review-relevance grading (transcript_grading.py): the deployment's compile.llm_cmd grades the surviving dialog messages key/low (ungraded = normal) so a reviewer skims to the exchanges that matter. every reply is mechanically validated — out-of-range indices, unknown grades, and non-dialog targets are dropped; an unusable reply degrades to an error note on the transcript, never an exception. results cache in state.db keyed by the raw file's content hash (index_db.get/put_transcript_grades). surface: `vouch session transcript --grade` (--regrade bypasses the cache) and the grade/regrade params on kb.session_transcript across mcp + jsonl. the review console renders the noise stubs and key/low badges with notes. capture's load_config gains a VOUCH_CAPTURE_DISABLE guard so the grading llm subprocess does not capture itself back into the kb.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
makes the review console's session transcript skimmable — a long agent session
buries the few exchanges a reviewer needs to judge whether the session's
proposals are trustworthy. two presentation-only layers over the normalized
transcript; the raw session file stays the evidence of record.
what changed
transcript.py):classify_noisetagsinjected scaffolding (system reminders, hook payloads, command output, meta)
by prefix, and a message whose blocks are all noise rolls up to a single
collapsed stub. no llm.
transcript_grading.py, new): thedeployment's
compile.llm_cmdgrades the surviving dialog messageskey/low(ungraded = normal) so a reviewer skims to what matters. every reply ismechanically validated — out-of-range indices, unknown grades, non-dialog
targets are dropped; an unusable reply degrades to an error note on the
transcript, never an exception. results cache in
state.dbkeyed by the rawfile's content hash (
index_db.get/put_transcript_grades).vouch session transcript --grade(--regradebypasses thecache) and the
grade/regradeparams onkb.session_transcriptacross mcp(
TranscriptView.tsx,MessageBlock.tsx,transcript.ts).capture.load_configgains aVOUCH_CAPTURE_DISABLEguard so the grading llmsubprocess does not capture itself back into the kb.
verification
full gate green: pytest (whole suite), mypy, ruff; webapp vitest (153 tests) and
tsc && vite build. new tests:test_transcript_grading.py,test_session_transcript.py(+84),TranscriptView.test.tsx(+158). cli flagsconfirmed wired. a live llm-grading drive needs a configured
compile.llm_cmd(not exercised here); the grading pipeline itself is covered by unit tests.