feat: semantic_diff / review_diff — explain structural risk, not changed lines #34
Labels
No labels
code-review
correctness
dos
performance
security
severity/high
severity/low
severity/medium
tech-debt
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
h-dv/code-index#34
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Product
Turn
changed_symbolsfrom a symbol inventory into an agent-ready semantic review of a working tree, staged change, branch, or commit range.Report
Why
Line diffs answer what text changed. Agents need what the change means: “this private edit reaches three public entry points,” “this deletion orphans two helpers,” or “this new import creates the first reverse crate edge.”
The current
changed_symbolsalready performs the hardest diff-to-symbol mapping, including base-side deleted symbols. The missing layer is composition over existing indexed analyses, with stable finding IDs and honest confidence.Design
This should be an orchestrator, not a second implementation of every analysis:
changed_symbolsRenames should be reported as inferred pairs with confidence, while preserving added+deleted truth underneath. Do not claim behavioral equivalence from matching names alone.
Acceptance
Minimal v1 shipped in v0.6.0 (I030 Track C) as
review_diff— the narrow scope this issue's roadmap called for.changed_symbols' classification core extracted (collect_changed, zero behavior change, 19 existing tests green) and composed with onechange_impactcall: risk-ranked findings with stable reason codes (api_break_deletedwith live-breakage evidence,untested_changeas a disclosed static proxy,wide_blastwith witness chain,low_confidence_areaself-disclosure,seed_overflow), severity-sorted, capped at 50, confidence +graph_semanticsriding along. Deferred to a future round per the spec's larger vision: rename-pair inference, cycle/clone analyzers (#27/#28 not yet shipped), per-seed blast granularity. Bench: review + test-selection = 2 calls / 4.3KB on this repo (21 findings, 21-file test selection).Triage: P1 — keep open as
review_diffv2v1 shipped in v0.6.0, and the production-hardening follow-up changed two details from the existing shipment comment:
seed_overflowwas removeduntested_changeRecommended v2 scope:
Prefer evolving this tool over adding a separate
validate_changetool.