Skip to content

feat(eval): cover unresolved-symbol fallback in pre-edit gate - #257

Merged
Helweg merged 1 commit into
mainfrom
feat/pre-edit-fallback-dataset
Aug 6, 2026
Merged

feat(eval): cover unresolved-symbol fallback in pre-edit gate#257
Helweg merged 1 commit into
mainfrom
feat/pre-edit-fallback-dataset

Conversation

@Helweg

@Helweg Helweg commented Aug 6, 2026

Copy link
Copy Markdown
Owner

Follow-up to #256: completes the acceptance-gate coverage required by docs/pre-edit-context-design.md for fallback behavior on an ambiguous or unresolved symbol.

Changes

  • Add a third golden query edit-context-unresolved-fallback to benchmarks/golden/pre-edit-context.json. It requests edit context for a symbol that cannot be resolved and asserts:
    • expectedRoute: "search" (routing to the conceptual fallback pack, not a false definition hit)
    • expectedOutcome: "results"
    • the conceptual evidence surfaces formatResolutionRisk in src/tools/edit-context.ts
  • Update the documented mock-embedding baseline in the design doc for the 3-query dataset.
  • Extend the Unreleased changelog entry.

Verification

  • Gate passes end-to-end with the authoritative CI command (mock embeddings, --ci --budget benchmarks/budgets/pre-edit.json): Hit@5 100%, MRR@10 1.0, graph-neighbor recall 1.0, violations none, CI gate PASS.
  • Baseline updates: response tokens avg 358.5 to 314.3, selected-file ratio 0.7857 to 0.8571, hit/mrr per 1k response tokens 2.789 to 3.181, p95 latency 687ms to 672ms. All budget thresholds still hold; no budget file changes needed.
  • npm run typecheck, npm run lint, and eval unit tests (eval-schema, eval-budget, eval-metrics: 43 tests) pass.

Add a third golden query that requests edit context for a symbol that
cannot be resolved. The dataset asserts the tool routes to the
conceptual search pack (expectedRoute=search) and surfaces the
formatResolutionRisk implementation chunk in src/tools/edit-context.ts.

Update the documented mock-embedding baseline for the 3-query dataset:
response tokens average 358.5 -> 314.3, selected-file ratio 0.7857 ->
0.8571, hit/mrr per 1k response tokens 2.789 -> 3.181, p95 latency
687ms -> 672ms. All budget thresholds in pre-edit.json still pass
(Hit@5 1.0, MRR@10 1.0, graph-neighbor recall 1.0).
@Helweg Helweg added the feature New feature or capability label Aug 6, 2026
@Helweg
Helweg merged commit 8f2cb3a into main Aug 6, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New feature or capability

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant