Skip to content

Commit 26aa3f7

Browse files
committed
feat: v1.6.0 search quality - RRF fusion, intent classification, reranker
- Reciprocal Rank Fusion (k=60, rank-based scoring) - Intent-aware query classification (5 types) - Hard test-file filtering (0% spec contamination) - Import-graph proximity reranking - File-level deduplication - Chunk optimization (100→50 lines, 0 overlap) - Embedding upgrade (@huggingface/transformers v3) BREAKING CHANGE: Re-indexing required due to model and chunking changes
1 parent 8286254 commit 26aa3f7

File tree

14 files changed

+1207
-577
lines changed

14 files changed

+1207
-577
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ nul
1515
*~
1616
.claude
1717
.codebase-intelligence.json
18+
.cursor/

CHANGELOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,37 @@
11
# Changelog
22

3+
## [1.6.0](https://github.com/PatrickSys/codebase-context/compare/v1.5.1...v1.6.0) (2026-02-10)
4+
5+
### Added
6+
7+
- **Search Quality Improvements** — Weighted hybrid search with intent-aware classification
8+
- Intent-aware query classification (EXACT_NAME, CONCEPTUAL, FLOW, CONFIG, WIRING)
9+
- Reciprocal Rank Fusion (RRF, k=60) for robust rank-based score combination
10+
- Hard test-file filtering (eliminates spec contamination in non-test queries)
11+
- Import-graph proximity reranking (structural centrality boosting)
12+
- File-level deduplication (one best chunk per file)
13+
- **Evaluation Harness** — Frozen fixture set with reproducible methodology
14+
- **Embedding Upgrade** — Granite model support (47M params, 8192 context)
15+
- **Chunk Optimization** — 100→50 lines, overlap 10→0, merge small chunks
16+
17+
### Changed
18+
19+
- **Dependencies**: `@xenova/transformers` v2 → `@huggingface/transformers` v3
20+
- **Indexing**: Tighter chunks (50 lines) with zero overlap
21+
- **Search**: RRF fusion immune to score distribution differences
22+
23+
### Fixed
24+
25+
- Intent-blind search (conceptual queries now classified and routed correctly)
26+
- Spec file contamination (test files hard-filtered from non-test query results)
27+
- Embedding truncation (granite's 8192 context eliminates previous 512 token limit)
28+
29+
### BREAKING CHANGES
30+
31+
**Re-index required** after upgrade due to model and chunking changes:
32+
- Existing `.codebase-context/` indices from v1.5.x incompatible
33+
- Run `refresh_index(incrementalOnly: false)` or delete `.codebase-context/` folder
34+
335
## [1.5.1](https://github.com/PatrickSys/codebase-context/compare/v1.5.0...v1.5.1) (2026-02-08)
436

537

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,10 @@
9494
"type-check": "tsc --noEmit"
9595
},
9696
"dependencies": {
97+
"@huggingface/transformers": "^3.8.1",
9798
"@lancedb/lancedb": "^0.4.0",
9899
"@modelcontextprotocol/sdk": "^1.25.2",
99100
"@typescript-eslint/typescript-estree": "^7.0.0",
100-
"@xenova/transformers": "^2.17.0",
101101
"fuse.js": "^7.0.0",
102102
"glob": "^10.3.10",
103103
"hono": "4.11.7",
@@ -125,6 +125,7 @@
125125
"pnpm": {
126126
"onlyBuiltDependencies": [
127127
"esbuild",
128+
"onnxruntime-node",
128129
"protobufjs",
129130
"sharp"
130131
]

0 commit comments

Comments
 (0)