Repository navigation
Conversation
- The turn-0 planner injection respects graph.Disabled(), so a KAI_GRAPH=off run withholds every graph contribution (with the engine's tool and context gates) and the graph's effect on review can be measured with one binary. - KAI_REVIEW_BLAST_CONTEXT=1 (default off): before the review starts, find every function whose range overlaps a changed line and list its callers from the symbol-level call graph in the first message. The blast radius was only computed after the review, as a panel; the reviewer saw callers only if it called kai_callers, which it rarely does. Missing callers are stated as "not proof there is none". Needs kai-engine with symbol-level CALLS (graph.Disabled, SymbolNodesScoped, HasCallGraph). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Why
Part of the symbol-level call graph work (kaicontext/kai-core#9 → kaicontext/kai-engine#128). Two review-side pieces:
KAI_GRAPH=offnow also skips the turn-0 planner injection, so with the engine's gates a run gets no graph tools, no symbol grep and no graph context. That's how the graph-on vs graph-off benchmark is run with one binary. Not for production.KAI_REVIEW_BLAST_CONTEXT=1(default off): before the review, every function whose range overlaps a changed line gets its callers listed in the first message, from the symbol-level graph. Today the blast radius is computed after the review as a panel, and the reviewer sees callers only if it callskai_callers— in the smoke run it did so once in two reviews, and the CHANGED SYMBOLS block tells it not to search the graph for changed names. The block says outright that a missing caller is not proof of none.Status — draft until
go.modbump (it won't compile against v0.6.86:graph.Disabled,SymbolNodesScoped,HasCallGraph).KAI_REVIEW_BLAST_CONTEXTever defaults on depends on those numbers.Tests
go test ./cmd/kaigreen against the local engine/core. New:TestRCChangedLines,TestRCBlastContextListsCallersOfChangedFunction(real capture: changedChargelists its two callers; an uncalled function yields no block).🤖 Generated with Claude Code