Skip to content

Issue mode: definition-level ranking + report hygiene (SWE dev Acc@5 0.456 → 0.596) - #134

Merged
ParsaVictor merged 2 commits into
mainfrom
phase-o/issue-hygiene
Oct 8, 2026
Merged

ParsaVictor merged 2 commits into
mainfrom
phase-o/issue-hygiene

Conversation

@ParsaVictor

Copy link
Copy Markdown
Owner

SWE-bench dev split (tuning set, disjoint from Lite test), dev-fast (59 issues), paired, file-level Acc@k:

@1 @3 @5 @10
plain BM25 0.175 0.386 0.474 0.526
before 0.246 0.421 0.456 –
this PR (localisation list) 0.263 0.509 0.596 0.719
  • strip issue-template scaffolding (comments, links, checklists, headings) from long reports
  • keep code-like tokens (L031, E501, utf8)
  • definition-level BM25 (chunk_rank, title ×3), RRF-fused into a new localization list in packet --json
  • research scripts under scripts/research/ (prototype, ablations, reranker tests)

Rejected with numbers: body tf in BM25F, fusion for packet seeds, cross-encoder on issues (details in contributions-log §8.3–8.4).

Twelve benchmark sets unchanged.

🤖 Generated with Claude Code

ParsaVictor and others added 2 commits October 9, 2026 01:30
…fast Acc@5 0.456 -> 0.596

Measured on SWE-bench *dev* (tuning set; no repository shared with Lite test),
dev-fast = 10 issues per dev repository, paired runs, file-level Acc@k:

              Acc@1  Acc@3  Acc@5  Acc@10
  plain BM25  0.175  0.386  0.474  0.526
  before      0.246  0.421  0.456   -
  this        0.263  0.509  0.596  0.719

- Issue-template scaffolding is stripped from reports (>= 60 words): HTML
  comments, links, checklists, section headings (not `#` lines inside code
  fences). It ranked CODE_OF_CONDUCT.md and the CLI module on sqlfluff.
- Code-like tokens (`L031`, `LT02`, `E501`, `utf8`) are kept whole: every word
  tokenizer dropped the one term a rule report shares with `rules/L031.py`.
- Definition-level BM25 (`chunk_rank`): file head + every definition span the
  graph recorded, path words on each, a file scores its best definition, the
  report's title counts 3x. Built lazily from the sources, cached like
  file_rank. Prototype in scripts/research/lex_variants.py first.
- `localization` in `packet --json`: the packet's files, then the ranking's
  runners-up, tests/docs/fixtures last, and for a long report RRF with the
  definition ranking. A packet holds 1-5 files; Acc@5 was capped by it.

Rejected with numbers (contributions-log 8.3/8.4): real body tf in BM25F
(0.544 -> 0.509 @5), the same fusion choosing packet seeds (no change), a
cross-encoder (jina-reranker-v2) on issues (0.492 -> 0.373 @3; it helps short
plain-language questions: ripgrep 0.208 -> 0.583, click 0.750 -> 0.958).

Twelve sets unchanged (dev 0.938 ... holdout-web 0.917/0.643, concept 0.679/0.398,
concept-holdout 0.500/0.156, concept-holdout2 0.958/0.342).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ParsaVictor
ParsaVictor merged commit d6854b6 into main Oct 8, 2026
3 checks passed
@ParsaVictor
ParsaVictor deleted the phase-o/issue-hygiene branch October 8, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant