sigmap 2.6.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,7 +6,43 @@ Format: [Semantic Versioning](https://semver.org/)
6
6
 
7
7
  ---
8
8
 
9
- ## [2.6.0] — upcoming · [#16](https://github.com/manojmallick/sigmap/issues/16) · branch: `feat/v2.6-research-mode`
9
+ ## [2.7.0] — upcoming · [#19](https://github.com/manojmallick/sigmap/issues/19) · branch: `feat/v2.7-ranking-optimization`
10
+
11
+ ### Planned additions
12
+ - **Fine-tuned ranking weights** — optimize `exactToken`, `symbolMatch`, `prefixMatch`, `pathMatch`, and `recencyBoost` weights in `src/retrieval/ranker.js` based on benchmark-driven evaluation
13
+ - **TF-IDF scoring option** — add TF-IDF (term frequency-inverse document frequency) as an alternative scoring method for better semantic relevance in large codebases
14
+ - **Configurable weight presets** — `precision`, `balanced`, `recall` presets for different use cases; configurable via `retrieval.preset` in config
15
+ - **`formatRankTable` and `formatRankJSON` improvements** — better output formatting for ranked results with score breakdown and relevance explanation
16
+ - **Performance optimization** — optimize ranking algorithm for large codebases (10K+ files), target <100ms for --query on 1000-file repos
17
+ - **Regression tests** — ensure hit@5 maintains ≥ 0.80 (no regression from v2.6)
18
+ - **Precision improvement** — target precision@5 improvement of ≥ 5% over v2.6
19
+
20
+ ### Config additions
21
+ ```json
22
+ {
23
+ "retrieval": {
24
+ "topK": 10,
25
+ "recencyBoost": 1.5,
26
+ "preset": "balanced",
27
+ "weights": {
28
+ "exactToken": 1.0,
29
+ "symbolMatch": 0.5,
30
+ "prefixMatch": 0.3,
31
+ "pathMatch": 0.8
32
+ }
33
+ }
34
+ }
35
+ ```
36
+
37
+ ### Go / No-go criteria
38
+ - All tests green (21 extractor + all integration suites)
39
+ - Benchmark hit@5 ≥ 0.80 (no regression from v2.6)
40
+ - Precision@5 improves by ≥ 5%
41
+ - `--query` performance <100ms for 1000-file repos
42
+
43
+ ---
44
+
45
+ ## [2.6.0] — 2026-04-05 · [#16](https://github.com/manojmallick/sigmap/issues/16)
10
46
 
11
47
  ### Planned additions
12
48
  - **`benchmarks/repos/`** — register 5 real open-source repos (express, flask, gin, spring-petclinic, rails) as git submodules or clone targets for evaluation
package/README.md CHANGED
@@ -86,28 +86,6 @@ AI agent session starts with full context
86
86
 
87
87
  ---
88
88
 
89
- ## 🔭 What's next — v2.5-v2.6 (in progress · [#14](https://github.com/manojmallick/sigmap/issues/14) · [#16](https://github.com/manojmallick/sigmap/issues/16))
90
-
91
- ### v2.5 — Impact Layer
92
-
93
- | Feature | Description |
94
- |---|---|
95
- | **`--impact <file>`** | Show every file that transitively depends on a changed file — instant blast-radius awareness |
96
- | **`--impact --json`** | Machine-readable output for CI pipelines |
97
- | **`get_impact` MCP tool** | 9th MCP tool — `{ file, depth? }` → impacted files + signatures |
98
- | **`src/map/dep-graph.js`** | Reverse-dependency graph built from the import analysis; circular deps handled safely |
99
- | **15 new tests** | `impact.test.js` — direct deps, transitive deps, depth limit, JSON output |
100
-
101
- ### v2.6 — Research Mode
102
-
103
- | Feature | Description |
104
- |---|---|
105
- | **`--benchmark --repo <path>`** | Run benchmarks against any external repository (express, flask, gin, spring-petclinic, rails) |
106
- | **`--report --paper`** | Generate paper-ready metrics: markdown + LaTeX tables for academic publishing |
107
- | **50 real eval tasks** | JSONL task file covering 5 real open-source repos — `benchmarks/tasks/retrieval-real.jsonl` |
108
- | **`src/eval/paper.js`** | Zero-dependency LaTeX table formatter for token reduction, hit@5, MRR, latency (p50/p95/p99) |
109
- | **8 new tests** | `paper.test.js` — report generation, LaTeX syntax validation, graceful failures |
110
-
111
89
  ## 🆕 What's new in 2.4
112
90
 
113
91
  | Feature | Description |
@@ -132,6 +110,25 @@ AI agent session starts with full context
132
110
 
133
111
  ---
134
112
 
113
+ ## 🔭 What's next — v2.7 (in progress · [#19](https://github.com/manojmallick/sigmap/issues/19))
114
+
115
+ ### v2.7 — Ranking Optimization
116
+
117
+ | Feature | Description |
118
+ |---|---|
119
+ | **Fine-tuned ranking weights** | Optimize weights in `src/retrieval/ranker.js` for better precision based on benchmark evaluation |
120
+ | **TF-IDF scoring** | Add term frequency-inverse document frequency scoring option for better semantic relevance |
121
+ | **Weight presets** | `precision`, `balanced`, `recall` presets — configurable via `retrieval.preset` |
122
+ | **Performance optimization** | <100ms query performance for 1000-file repos, optimized for large codebases (10K+ files) |
123
+ | **Precision improvement** | Target ≥5% precision@5 improvement while maintaining hit@5 ≥ 0.80 |
124
+
125
+ ---
126
+ | **`get_impact` MCP tool** | 9th MCP tool — `{ file, depth? }` → impacted files + signatures |
127
+ | **`src/map/dep-graph.js`** | Reverse-dependency graph built from the import analysis; circular deps handled safely |
128
+ | **15 new tests** | `impact.test.js` — direct deps, transitive deps, depth limit, JSON output |
129
+
130
+ ---
131
+
135
132
  ## 🚀 Quick start
136
133
 
137
134
  **No install required — just Node.js 18+.**
package/gen-context.js CHANGED
@@ -4304,7 +4304,7 @@ const path = require('path');
4304
4304
  const os = require('os');
4305
4305
  const { execSync } = require('child_process');
4306
4306
 
4307
- const VERSION = '2.6.0';
4307
+ const VERSION = '2.7.0';
4308
4308
  const MARKER = '\n\n## Auto-generated signatures\n<!-- Updated by gen-context.js -->\n';
4309
4309
 
4310
4310
  function requireSourceOrBundled(key) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap",
3
- "version": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "description": "Zero-dependency AI context engine — 97% token reduction. No npm install. Runs on Node 18+.",
5
5
  "main": "gen-context.js",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap-cli",
3
- "version": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "description": "SigMap CLI wrapper — thin adapter for programmatic CLI invocation",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -128,11 +128,9 @@ const health = score('/path/to/project');
128
128
 
129
129
  All existing CLI flags (`--generate`, `--watch`, `--mcp`, `--query`, `--analyze`, `--benchmark`, `--health`, …) are unchanged.
130
130
 
131
- ## What's next — v2.5-v2.6
131
+ ## What's next — v2.7
132
132
 
133
- v2.5 adds `analyzeImpact(changedFiles, cwd)` to `packages/core` given a list of changed files, it returns every file that transitively imports them. See [issue #14](https://github.com/manojmallick/sigmap/issues/14).
134
-
135
- v2.6 adds benchmark and paper reporting capabilities — run evaluations against external repos and export metrics in LaTeX format for academic papers. See [issue #16](https://github.com/manojmallick/sigmap/issues/16).
133
+ v2.7 adds ranking optimization and fine-tuned weights for better precision in query-aware retrieval. TF-IDF scoring option, configurable weight presets (precision, balanced, recall), and performance optimization for large codebases. See [issue #19](https://github.com/manojmallick/sigmap/issues/19).
136
134
 
137
135
  See the full [roadmap](https://manojmallick.github.io/sigmap/roadmap.html).
138
136
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap-core",
3
- "version": "2.6.0",
3
+ "version": "2.7.0",
4
4
  "description": "SigMap core library — zero-dependency code signature extraction, retrieval, and security scanning",
5
5
  "main": "index.js",
6
6
  "keywords": [
package/src/mcp/server.js CHANGED
@@ -18,7 +18,7 @@ const { readContext, searchSignatures, getMap, createCheckpoint, getRouting, exp
18
18
 
19
19
  const SERVER_INFO = {
20
20
  name: 'sigmap',
21
- version: '2.6.0',
21
+ version: '2.7.0',
22
22
  description: 'SigMap MCP server — code signatures on demand',
23
23
  };
24
24