sigmap 7.24.2 → 7.25.1

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
@@ -10,6 +10,31 @@ Format: [Semantic Versioning](https://semver.org/)
10
10
 
11
11
  ---
12
12
 
13
+ ## [7.25.1] — 2026-06-21
14
+
15
+ Patch release — **Trust Hygiene (H4):** document the real CLI / MCP / adapter surface. Completes the v7.25.x milestone's documentation goals (only H2, the reproducible bundle build, remains).
16
+
17
+ ### Added
18
+ - **Document the shipped surface (#366):** `sigmap --help` now lists the five wired-but-undocumented commands — `conventions`, `scaffold`, `verify-plan`, `review-pr`, and `create` (the grounded-creation pipeline). The README gains a "Grounded creation & guardrails" section, lists all 15 MCP tools, and adds the `willow` adapter to the integrations table. A new `surface-docs` test pins the documented surface to source (`--help` must list the commands, README's MCP count must equal `TOOLS.length`, every `listAdapters()` entry must appear in the README table), so the docs can never silently undersell the product again.
19
+
20
+ ### Fixed
21
+ - **MCP tool undercount (#366):** the README advertised "10 on-demand tools" while the server ships **15** — corrected and now gated by the `surface-docs` test.
22
+
23
+ ---
24
+
25
+ ## [7.25.0] — 2026-06-21
26
+
27
+ Minor release — **Trust Hygiene (H1 + H3):** one generated source of benchmark truth, gated in CI. First installment of the v7.25.x milestone.
28
+
29
+ ### Added
30
+ - **Single source of benchmark truth (#363):** `benchmarks/latest.json` is now generated from the benchmark reports (`scripts/gen-benchmark-latest.mjs`), and `version.json` metrics, `README.md` (via `<!--SM:KEY-->` markers), and `llms.txt`/`llms-full.txt` all read from it (`scripts/sync-metrics.mjs`). Every hand-typed metric is removed — published numbers can no longer silently drift from the measured reports. New `npm run metrics:sync` regenerates the whole chain; `npm run check:metrics` gates it in `prepublishOnly` **and** CI.
31
+ - **Truthful `version.json` (#363):** `languages`, `extractors`, `mcp_tools`, and `tests` are auto-derived from source via a shared `scripts/lib/source-meta.mjs` (the same derivation the llms generator uses, so the language count can never diverge). Added the `extractors` field.
32
+
33
+ ### Changed
34
+ - **Every published number traces to one fresh, gated benchmark run (#363):** the long-standing drift (committed reports vs hand-typed README/`version.json`/`llms.txt`) is eliminated — all surfaces now derive from `benchmarks/latest.json`. This release regenerates that file from a **live** benchmark run (2026-06-21, `sigmap-v7.25-main`, 21 repos): hit@5 **75.6%** (13.6% baseline, 5.6× lift), token reduction **97%**, task success **52.2%**, prompts/task **1.72 → 2.84**, prompt reduction **39.4%**. `languages` corrected `31 → 33`; `extractors` (42) now reported.
35
+
36
+ ---
37
+
13
38
  ## [7.24.2] — 2026-06-19
14
39
 
15
40
  Patch release — surface the StarMapper stargazer map in the docs.
package/README.md CHANGED
@@ -48,11 +48,13 @@ SigMap extracts function and class signatures from your codebase and feeds the r
48
48
 
49
49
  ## Why SigMap?
50
50
 
51
+ <!--SM:whyMetrics-->
51
52
  - **75.6% hit@5** — right file found in top 5 results (vs 13.6% baseline)
52
53
  - **97.0% token reduction** — average across 21 real repos
53
54
  - **52.2% task success rate** — up from 10% without context
54
55
  - **1.72 prompts per task** — down from 2.84 (39.4% fewer retries)
55
- - **31 languages supported** — TypeScript, Python, Go, Rust, Java, R, and 25 others
56
+ <!--/SM:whyMetrics-->
57
+ - **<!--SM:languages-->33<!--/SM:languages--> languages supported** — TypeScript, Python, Go, Rust, Java, R, and more
56
58
  - **No vendor lock-in** — works with any AI assistant or local LLM
57
59
  - **No API costs** — use local models (Ollama, llama.cpp, vLLM) with zero token fees
58
60
  - **Full privacy** — keep your code and context on your machine
@@ -64,7 +66,7 @@ SigMap extracts function and class signatures from your codebase and feeds the r
64
66
 
65
67
  | Without SigMap | With SigMap |
66
68
  |---|---|
67
- | ❌ Guessing which files are relevant | ✅ Right file in context — 76% of the time |
69
+ | ❌ Guessing which files are relevant | ✅ Right file in context — <!--SM:hitWhole-->76%<!--/SM:hitWhole--> of the time |
68
70
  | ❌ Sending the full repo to your AI | ✅ Minimal context — only what matters |
69
71
  | ❌ Embeddings / vector DB required | ✅ Grounded answers, no infra needed |
70
72
 
@@ -87,9 +89,10 @@ Ask → Rank → Context → Validate → Judge → Learn
87
89
 
88
90
  ## Benchmark
89
91
 
92
+ <!--SM:benchmarkBlock-->
90
93
  ```
91
- Benchmark : sigmap-v7.0-main (21 repositories, including R language)
92
- Date : 2026-06-19
94
+ Benchmark : sigmap-v7.25-main (21 repositories, including R language)
95
+ Date : 2026-06-21
93
96
 
94
97
  Hit@5 : 75.6% (baseline 13.6% — 5.6× lift)
95
98
  Token reduction: 97.0% (across 21 repos)
@@ -97,6 +100,9 @@ Prompt reduction : 39.4% (2.84 → 1.72 prompts per task)
97
100
  Task success : 52.2% (baseline 10%)
98
101
  Repos tested : 21 (JavaScript, Python, Go, Rust, Java, R, C++, C#, Dart, Swift, Ruby, PHP, Scala, Kotlin, and more)
99
102
  ```
103
+ <!--/SM:benchmarkBlock-->
104
+
105
+ <sub>All numbers above are generated from `benchmarks/latest.json` (`npm run metrics:sync`) — never hand-typed.</sub>
100
106
 
101
107
  Measured on 90 coding tasks across 18 real public repos. No LLM API — fully reproducible.
102
108
 
@@ -163,6 +169,7 @@ volta install sigmap
163
169
  | `openai` | `.github/openai-context.md` | OpenAI API, Aider, local Ollama/llama.cpp |
164
170
  | `gemini` | `.github/gemini-context.md` | Google Gemini |
165
171
  | `codex` | `AGENTS.md` | OpenAI Codex (legacy) |
172
+ | `willow` | _Willow MCP store (HTTP POST — no file)_ | [Willow](https://github.com/rudi193-cmd/willow-1.9) knowledge store |
166
173
 
167
174
  ```bash
168
175
  sigmap --adapter copilot # default — works with Copilot, OpenCode
@@ -184,12 +191,29 @@ Use SigMap with open-source tools and fully self-hosted setups:
184
191
  | **JetBrains** | [Marketplace](https://plugins.jetbrains.com/plugin/31109-sigmap--ai-context-engine/) | [github.com/manojmallick/sigmap-jetbrains](https://github.com/manojmallick/sigmap-jetbrains) | IntelliJ IDEA, WebStorm, PyCharm, GoLand — tool window + actions |
185
192
  | **Neovim** | lazy.nvim / packer / vim-plug | [github.com/manojmallick/sigmap.nvim](https://github.com/manojmallick/sigmap.nvim) | `:SigMap`, `:SigMapQuery` float window, statusline widget |
186
193
 
187
- **MCP server** — 10 on-demand tools for Claude Code and Cursor:
194
+ **MCP server** — 15 on-demand tools for Claude Code and Cursor:
188
195
 
189
196
  ```bash
190
197
  sigmap --mcp
191
198
  ```
192
199
 
200
+ Tools: `read_context`, `search_signatures`, `get_map`, `create_checkpoint`, `get_routing`, `explain_file`, `list_modules`, `query_context`, `get_impact`, `get_lines`, `read_memory`, `get_callee_signatures`, plus the live-index notifications `sigmap_notify_file_created`, `sigmap_notify_symbol_added`, and `sigmap_notify_file_deleted`. Full reference: [llms-full.txt](llms-full.txt).
201
+
202
+ ---
203
+
204
+ ## Grounded creation & guardrails
205
+
206
+ Verify AI work against the live index instead of trusting it blind:
207
+
208
+ ```bash
209
+ sigmap conventions # extract the repo's file-naming / export / test conventions
210
+ sigmap scaffold "<name>" # propose a convention-matched file/dir (refuses if conventions conflict)
211
+ sigmap verify-plan <plan.md> # check a plan: do the files/symbols exist? blast radius? scope?
212
+ sigmap verify-ai-output <answer.md> # flag fabricated files/imports/symbols/tests in an AI answer
213
+ sigmap review-pr # audit a diff: scope drift, god-node edits, missing tests, security files
214
+ sigmap create "<task>" # run the whole pipeline: scaffold → verify-plan → verify-ai-output → review-pr
215
+ ```
216
+
193
217
  ---
194
218
 
195
219
  ## Try it
@@ -234,7 +258,7 @@ sigmap --health
234
258
  | Benchmark methodology | [benchmark.html](https://sigmap.io/guide/benchmark.html) |
235
259
  | Config reference | [config.html](https://sigmap.io/guide/config.html) |
236
260
  | Roadmap | [roadmap.html](https://sigmap.io/guide/roadmap.html) |
237
- | 31 languages | [generalization.html](https://sigmap.io/guide/generalization.html) |
261
+ | <!--SM:languages-->33<!--/SM:languages--> languages | [generalization.html](https://sigmap.io/guide/generalization.html) |
238
262
 
239
263
  ---
240
264
 
@@ -289,7 +313,7 @@ See [.github/PULL_REQUEST_TEMPLATE.md](.github/PULL_REQUEST_TEMPLATE.md) for the
289
313
 
290
314
  ---
291
315
 
292
- ## 31 languages
316
+ ## <!--SM:languages-->33<!--/SM:languages--> languages
293
317
 
294
318
  TypeScript · JavaScript · Python · Java · Kotlin · Go · Rust · C# · C/C++ · Ruby · PHP · Swift · Dart · Scala · Vue · Svelte · HTML · CSS/SCSS · YAML · Shell · SQL · GraphQL · Terraform · Protobuf · Dockerfile · TOML · XML · Properties · Markdown · R · GDScript
295
319
 
package/gen-context.js CHANGED
@@ -8102,7 +8102,7 @@ __factories["./src/mcp/server"] = function(module, exports) {
8102
8102
 
8103
8103
  const SERVER_INFO = {
8104
8104
  name: 'sigmap',
8105
- version: '7.24.2',
8105
+ version: '7.25.1',
8106
8106
  description: 'SigMap MCP server — code signatures on demand',
8107
8107
  };
8108
8108
 
@@ -13805,7 +13805,7 @@ function __tryGit(args, opts = {}) {
13805
13805
  catch (_) { return ''; }
13806
13806
  }
13807
13807
 
13808
- const VERSION = '7.24.2';
13808
+ const VERSION = '7.25.1';
13809
13809
  const MARKER = '\n\n## Auto-generated signatures\n<!-- Updated by gen-context.js -->\n';
13810
13810
 
13811
13811
  function requireSourceOrBundled(key) {
@@ -15603,6 +15603,11 @@ Usage:
15603
15603
  ${cmd} verify-ai-output <answer.md> Flag fake files/tests/imports/symbols/npm-scripts in an AI answer
15604
15604
  ${cmd} verify-ai-output <answer.md> --json Hallucination report as JSON (exits 1 if issues)
15605
15605
  ${cmd} verify-ai-output <answer.md> --report Write a standalone HTML report (red/amber/green)
15606
+ ${cmd} conventions Extract repo file-naming/export/test conventions (--conflicts, --inject, --report, --fix)
15607
+ ${cmd} scaffold "<name>" Propose a convention-matched file/dir scaffold (--ext, --threshold, --force, --json)
15608
+ ${cmd} verify-plan <plan.md|-> Check a plan vs the live index — files/symbols exist, blast radius, scope (--json)
15609
+ ${cmd} review-pr Audit a diff — scope drift, god-node edits, missing tests, security files (--staged, --json)
15610
+ ${cmd} create "<task>" Grounded-creation pipeline: scaffold → verify-plan → verify-ai-output → review-pr (--staged)
15606
15611
  ${cmd} squeeze <file|-> Minimize a pasted stacktrace/CI-log/JSON blob (--json for stats)
15607
15612
  ${cmd} ask "<query>" --squeeze Auto-accept input minimization (no prompt; for scripts/CI)
15608
15613
  ${cmd} ask "<query>" --no-squeeze Disable input minimization entirely
package/llms-full.txt CHANGED
@@ -9,13 +9,13 @@ the files relevant to the task — cutting tokens ~97% while keeping answers
9
9
  grounded. Deterministic, offline, no embeddings or vector database. Works with
10
10
  Claude, Cursor, GitHub Copilot, Aider, Windsurf, local LLMs, and MCP.
11
11
 
12
- # Version: 7.24.2 | Benchmark: sigmap-v7.0-main (2026-06-19)
13
- # Source: auto-generated from package.json, version.json, src/mcp/tools.js, src/config/defaults.js
12
+ # Version: 7.25.1 | Benchmark: sigmap-v7.25-main (2026-06-21)
13
+ # Source: auto-generated from package.json, version.json, benchmarks/latest.json, src/mcp/tools.js, src/config/defaults.js
14
14
  # Regenerate: npm run generate:llms | Validate: npm run validate:llms
15
15
 
16
16
  ---
17
17
 
18
- ## Core metrics (benchmark: sigmap-v7.0-main, 2026-06-19)
18
+ ## Core metrics (benchmark: sigmap-v7.25-main, 2026-06-21)
19
19
 
20
20
  | Metric | Without SigMap | With SigMap |
21
21
  |--------|----------------|-------------|
@@ -23,7 +23,7 @@ Claude, Cursor, GitHub Copilot, Aider, Windsurf, local LLMs, and MCP.
23
23
  | Token reduction | — | 97.0% average |
24
24
  | Task success proxy | 10% | 52.2% |
25
25
  | Prompts per task | 2.84 | 1.72 (39.4% fewer) |
26
- | Supported languages | — | 31 |
26
+ | Supported languages | — | 33 |
27
27
  | MCP tools | — | 15 |
28
28
  | npm runtime dependencies | — | 0 |
29
29
 
@@ -100,6 +100,11 @@ sigmap --impact <file> --depth <n> BFS depth limit (default 3, 0=unlimited
100
100
  sigmap verify-ai-output <answer.md> Flag fake files/tests/imports/symbols/npm-scripts in an AI answer
101
101
  sigmap verify-ai-output <answer.md> --json Hallucination report as JSON (exits 1 if issues)
102
102
  sigmap verify-ai-output <answer.md> --report Write a standalone HTML report (red/amber/green)
103
+ sigmap conventions Extract repo file-naming/export/test conventions (--conflicts, --inject, --report, --fix)
104
+ sigmap scaffold "<name>" Propose a convention-matched file/dir scaffold (--ext, --threshold, --force, --json)
105
+ sigmap verify-plan <plan.md|-> Check a plan vs the live index — files/symbols exist, blast radius, scope (--json)
106
+ sigmap review-pr Audit a diff — scope drift, god-node edits, missing tests, security files (--staged, --json)
107
+ sigmap create "<task>" Grounded-creation pipeline: scaffold → verify-plan → verify-ai-output → review-pr (--staged)
103
108
  sigmap squeeze <file|-> Minimize a pasted stacktrace/CI-log/JSON blob (--json for stats)
104
109
  sigmap ask "<query>" --squeeze Auto-accept input minimization (no prompt; for scripts/CI)
105
110
  sigmap ask "<query>" --no-squeeze Disable input minimization entirely
@@ -285,9 +290,9 @@ impact = {"depth":3,"includeSigs":true}
285
290
 
286
291
  ---
287
292
 
288
- ## Supported languages (35 extractors)
293
+ ## Supported languages (33 extractors)
289
294
 
290
- cpp, csharp, css, dart, dispatch, dockerfile, gdscript, generic, go, graphql, html, java, javascript, kotlin, markdown, php, properties, protobuf, python, r, ruby, rust, scala, shell, sql, svelte, swift, terraform, toml, typescript, typescript_react, vue, vue_sfc, xml, yaml
295
+ cpp, csharp, css, dart, dockerfile, gdscript, go, graphql, html, java, javascript, kotlin, markdown, php, properties, protobuf, python, r, ruby, rust, scala, shell, sql, svelte, swift, terraform, toml, typescript, typescript_react, vue, vue_sfc, xml, yaml
291
296
 
292
297
  ---
293
298
 
package/llms.txt CHANGED
@@ -9,8 +9,8 @@ the files relevant to the task — cutting tokens ~97% while keeping answers
9
9
  grounded. Deterministic, offline, no embeddings or vector database. Works with
10
10
  Claude, Cursor, GitHub Copilot, Aider, Windsurf, local LLMs, and MCP.
11
11
 
12
- # Version: 7.24.2 | Benchmark: sigmap-v7.0-main (2026-06-19)
13
- # Source: auto-generated from package.json, version.json, src/mcp/tools.js, src/config/defaults.js
12
+ # Version: 7.25.1 | Benchmark: sigmap-v7.25-main (2026-06-21)
13
+ # Source: auto-generated from package.json, version.json, benchmarks/latest.json, src/mcp/tools.js, src/config/defaults.js
14
14
  # Regenerate: npm run generate:llms | Validate: npm run validate:llms
15
15
 
16
16
  ## What SigMap solves
@@ -21,13 +21,13 @@ Claude, Cursor, GitHub Copilot, Aider, Windsurf, local LLMs, and MCP.
21
21
  - No blast-radius awareness before editing a hub file — `--impact` shows every file a change touches.
22
22
  - Pasted stack traces, CI logs, and JSON bloat the prompt — `squeeze` minimizes them and enriches the top frame from the symbol index.
23
23
 
24
- ## Core metrics (benchmark: sigmap-v7.0-main, 2026-06-19)
24
+ ## Core metrics (benchmark: sigmap-v7.25-main, 2026-06-21)
25
25
 
26
26
  - hit@5 retrieval: 75.6% vs 13.6% random baseline (5.6× lift)
27
27
  - Token reduction: 97.0% average across benchmark repos
28
28
  - Task success: 52.2% vs 10% without SigMap
29
29
  - Prompts per task: 1.72 vs 2.84 baseline (39.4% fewer)
30
- - Languages: 31 supported · MCP tools: 15
30
+ - Languages: 33 supported · MCP tools: 15
31
31
  - Dependencies: zero npm runtime dependencies · fully offline
32
32
 
33
33
  ## Quick start
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap",
3
- "version": "7.24.2",
3
+ "version": "7.25.1",
4
4
  "description": "97% token reduction for AI coding. Extracts function & class signatures with TF-IDF ranking to feed only the right files to Claude, Cursor, Copilot, Aider, Windsurf, local LLMs & MCP. Zero dependencies, runs offline via npx.",
5
5
  "main": "packages/core/index.js",
6
6
  "exports": {
@@ -38,7 +38,10 @@
38
38
  "version:sync": "node scripts/sync-versions.mjs",
39
39
  "generate:llms": "node scripts/generate-llms.mjs",
40
40
  "validate:llms": "node scripts/validate-llms.mjs",
41
- "prepublishOnly": "node scripts/check-bundle.mjs && node scripts/check-version-meta.mjs && node scripts/generate-llms.mjs",
41
+ "metrics:latest": "node scripts/gen-benchmark-latest.mjs",
42
+ "metrics:sync": "node scripts/gen-benchmark-latest.mjs && node scripts/check-version-meta.mjs --fix && node scripts/sync-metrics.mjs && node scripts/generate-llms.mjs",
43
+ "check:metrics": "node scripts/gen-benchmark-latest.mjs --check && node scripts/check-version-meta.mjs && node scripts/sync-metrics.mjs --check",
44
+ "prepublishOnly": "node scripts/check-bundle.mjs && node scripts/gen-benchmark-latest.mjs --check && node scripts/check-version-meta.mjs && node scripts/sync-metrics.mjs --check && node scripts/generate-llms.mjs",
42
45
  "benchmark:grounding": "node scripts/run-hallucination-benchmark.mjs",
43
46
  "benchmark:llm-ablation": "node scripts/run-llm-ablation.mjs"
44
47
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap-cli",
3
- "version": "7.24.2",
3
+ "version": "7.25.1",
4
4
  "description": "SigMap CLI wrapper — thin adapter for programmatic CLI invocation",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap-core",
3
- "version": "7.24.2",
3
+ "version": "7.25.1",
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: '7.24.2',
21
+ version: '7.25.1',
22
22
  description: 'SigMap MCP server — code signatures on demand',
23
23
  };
24
24