sigmap 8.18.0 → 8.19.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
@@ -10,6 +10,19 @@ Format: [Semantic Versioning](https://semver.org/)
10
10
 
11
11
  ---
12
12
 
13
+ ## [8.19.0] — 2026-07-19
14
+
15
+ Minor release — **"Honest Numbers" (v8.19, P0)**: the published retrieval lift now comes from a measured grep-agent comparison, not a random-file baseline, and every proxy metric says so on the label.
16
+
17
+ ### Added
18
+ - **Honest grep-agent baseline benchmark (#495, PR #496):** new `scripts/run-honest-benchmark.mjs` (`npm run benchmark:honest`) scores the production ranker against an internal single-shot grep-agent baseline — a pure-Node, zero-dependency, no-child-process repo scan ranked by distinct-term coverage then occurrences, `.gitignore`-aware, deterministic ordering — on the same 110-task / 19-repo corpus and the same scorer. **Measured: SigMap 86.4% hit@5 / MRR .780 vs grep 42.7% / .228 → 2.02× lift (+43.6pt)** → `benchmarks/reports/honest-baseline.json`. `computeLatest` derives `grep_baseline_hit_at_5` + `grep_lift` from the report (optional-report pattern; hermetic fixture unaffected).
19
+ - **Claim-hygiene guard test:** `test/integration/honest-baseline.test.js` (7 checks) — report shape, derived-not-hand-typed metrics, version.json mirror, and a one-way door: the 6.4×-vs-random lift, the 13.6% random baseline, and the unsourced "10% without" claim can never reappear on README or llms surfaces; the benchmark script itself is guarded to stay child-process-free.
20
+
21
+ ### Changed
22
+ - **Random-baseline lift retired from all human surfaces (#495, PR #496):** README and llms.txt/llms-full.txt now quote the measured grep-agent lift (2.02×) instead of 6.4×-vs-random; task success is labeled a **retrieval-tier proxy** ("modeled from retrieval tiers, not measured LLM sessions") and the "baseline 10%" / "up from 10%" claims are removed. The random-baseline fields (`baseline_hit_at_5`, `retrieval_lift`) remain in latest.json/version.json as data only. `readme-structure` guards advanced: README must show the grep baseline and must **not** show the random one.
23
+
24
+ ---
25
+
13
26
  ## [8.18.0] — 2026-07-12
14
27
 
15
28
  Minor release — **the §7.4 Phase-2 closer**: with these three changes, every quality-ceiling row in the master plan's scorecard is done or measure-gated-closed.
package/README.md CHANGED
@@ -59,10 +59,10 @@ That map is exactly what agentic grep is worst at: reproducible, auditable conte
59
59
 
60
60
  **Proof it pays off** (full benchmark below):
61
61
  <!--SM:whyMetrics-->
62
- - **86.7% hit@5** — right file found in top 5 results (vs 13.6% baseline)
62
+ - **86.7% hit@5** — right file in top 5 results (vs 42.7% single-shot grep baseline — 2.02× lift)
63
63
  - **96.9% token reduction** — average across 21 real repos
64
- - **68.9% task success rate** — up from 10% without context
65
- - **1.44 prompts per task** — down from 2.84 (49.2% fewer retries)
64
+ - **68.9% task-success proxy** — modeled from retrieval tiers, not measured LLM sessions
65
+ - **1.44 prompts per task** — down from 2.84 (49.2% fewer retries, modeled)
66
66
  <!--/SM:whyMetrics-->
67
67
  - **<!--SM:languages-->33<!--/SM:languages--> languages supported** — TypeScript, Python, Go, Rust, Java, R, and more
68
68
  - **No vendor lock-in** — works with any AI assistant or local LLM
@@ -122,13 +122,13 @@ Ask → Rank → Context → Validate → Judge → Learn
122
122
 
123
123
  <!--SM:benchmarkBlock-->
124
124
  ```
125
- Benchmark : sigmap-v8.18-main (21 repositories, including R language)
126
- Date : 2026-07-12
125
+ Benchmark : sigmap-v8.19-main (21 repositories, including R language)
126
+ Date : 2026-07-19
127
127
 
128
- Hit@5 : 86.7% (baseline 13.6% — 6.4× lift)
128
+ Hit@5 : 86.7% (grep-agent baseline 42.7% — 2.02× lift)
129
129
  Token reduction: 96.9% (across 21 repos)
130
- Prompt reduction : 49.2% (2.84 → 1.44 prompts per task)
131
- Task success : 68.9% (baseline 10%)
130
+ Prompt reduction : 49.2% (2.84 → 1.44 prompts per task, modeled)
131
+ Task success : 68.9% (proxy — modeled from retrieval tiers)
132
132
  Repos tested : 21 (JavaScript, Python, Go, Rust, Java, R, C++, C#, Dart, Swift, Ruby, PHP, Scala, Kotlin, and more)
133
133
  ```
134
134
  <!--/SM:benchmarkBlock-->
package/gen-context.js CHANGED
@@ -14607,7 +14607,7 @@ __factories["./src/mcp/server"] = function(module, exports) {
14607
14607
 
14608
14608
  const SERVER_INFO = {
14609
14609
  name: 'sigmap',
14610
- version: '8.18.0',
14610
+ version: '8.19.0',
14611
14611
  description: 'SigMap MCP server — code signatures on demand',
14612
14612
  };
14613
14613
 
@@ -19710,7 +19710,7 @@ function __tryGit(args, opts = {}) {
19710
19710
  catch (_) { return ''; }
19711
19711
  }
19712
19712
 
19713
- const VERSION = '8.18.0';
19713
+ const VERSION = '8.19.0';
19714
19714
  const MARKER = '\n\n## Auto-generated signatures\n<!-- Updated by gen-context.js -->\n';
19715
19715
 
19716
19716
  function requireSourceOrBundled(key) {
package/llms-full.txt CHANGED
@@ -11,19 +11,19 @@ ranking keeps the relevant context in scope (cutting tokens ~97% as a side
11
11
  effect), with no LLM calls, embeddings, or vector database. Works with Claude,
12
12
  Cursor, GitHub Copilot, Aider, Windsurf, local LLMs, and MCP.
13
13
 
14
- # Version: 8.18.0 | Benchmark: sigmap-v8.18-main (2026-07-12)
14
+ # Version: 8.19.0 | Benchmark: sigmap-v8.19-main (2026-07-19)
15
15
  # Source: auto-generated from package.json, version.json, benchmarks/latest.json, src/mcp/tools.js, src/config/defaults.js
16
16
  # Regenerate: npm run generate:llms | Validate: npm run validate:llms
17
17
 
18
18
  ---
19
19
 
20
- ## Core metrics (benchmark: sigmap-v8.18-main, 2026-07-12)
20
+ ## Core metrics (benchmark: sigmap-v8.19-main, 2026-07-19)
21
21
 
22
22
  | Metric | Without SigMap | With SigMap |
23
23
  |--------|----------------|-------------|
24
- | Retrieval hit@5 | 13.6% (random) | 86.7% (6.4× lift) |
24
+ | Retrieval hit@5 | 42.7% (single-shot grep) | 86.7% (2.02× lift) |
25
25
  | Token reduction | — | 96.9% average |
26
- | Task success proxy | 10% | 68.9% |
26
+ | Task-success proxy (modeled) | | 68.9% |
27
27
  | Prompts per task | 2.84 | 1.44 (49.2% fewer) |
28
28
  | Supported languages | — | 33 |
29
29
  | MCP tools | — | 20 |
package/llms.txt CHANGED
@@ -11,7 +11,7 @@ ranking keeps the relevant context in scope (cutting tokens ~97% as a side
11
11
  effect), with no LLM calls, embeddings, or vector database. Works with Claude,
12
12
  Cursor, GitHub Copilot, Aider, Windsurf, local LLMs, and MCP.
13
13
 
14
- # Version: 8.18.0 | Benchmark: sigmap-v8.18-main (2026-07-12)
14
+ # Version: 8.19.0 | Benchmark: sigmap-v8.19-main (2026-07-19)
15
15
  # Source: auto-generated from package.json, version.json, benchmarks/latest.json, src/mcp/tools.js, src/config/defaults.js
16
16
  # Regenerate: npm run generate:llms | Validate: npm run validate:llms
17
17
 
@@ -23,12 +23,12 @@ Cursor, GitHub Copilot, Aider, Windsurf, local LLMs, and MCP.
23
23
  - No blast-radius awareness before editing a hub file — `--impact` shows every file a change touches.
24
24
  - Pasted stack traces, CI logs, and JSON bloat the prompt — `squeeze` minimizes them and enriches the top frame from the symbol index.
25
25
 
26
- ## Core metrics (benchmark: sigmap-v8.18-main, 2026-07-12)
26
+ ## Core metrics (benchmark: sigmap-v8.19-main, 2026-07-19)
27
27
 
28
- - hit@5 retrieval: 86.7% vs 13.6% random baseline (6.4× lift)
28
+ - hit@5 retrieval: 86.7% vs 42.7% single-shot grep baseline (2.02× lift)
29
29
  - Token reduction: 96.9% average across benchmark repos
30
- - Task success: 68.9% vs 10% without SigMap
31
- - Prompts per task: 1.44 vs 2.84 baseline (49.2% fewer)
30
+ - Task-success proxy: 68.9% (modeled from retrieval tiers, not measured LLM sessions)
31
+ - Prompts per task: 1.44 vs 2.84 baseline (49.2% fewer, modeled)
32
32
  - Languages: 33 supported · MCP tools: 20
33
33
  - Dependencies: zero npm runtime dependencies · fully offline
34
34
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap",
3
- "version": "8.18.0",
3
+ "version": "8.19.0",
4
4
  "description": "The deterministic, verifiable grounding layer for AI code work — a zero-dependency signature-and-evidence map that grounds Claude, Cursor, Copilot, Aider, Windsurf, local LLMs & MCP agents against your real code (repo + installed libraries) so they stop hallucinating files, imports & APIs. Runs offline via npx; byte-stable output; ~97% token reduction as proof.",
5
5
  "main": "packages/core/index.js",
6
6
  "exports": {
@@ -50,6 +50,7 @@
50
50
  "check:metrics": "node scripts/gen-benchmark-latest.mjs --check && node scripts/check-version-meta.mjs && node scripts/sync-metrics.mjs --check",
51
51
  "prepublishOnly": "node scripts/check-bundle.mjs && node scripts/build-bundle.mjs --check && node scripts/gen-benchmark-latest.mjs --check && node scripts/check-version-meta.mjs && node scripts/sync-metrics.mjs --check && node scripts/generate-llms.mjs",
52
52
  "benchmark:grounding": "node scripts/run-hallucination-benchmark.mjs",
53
+ "benchmark:honest": "node scripts/run-honest-benchmark.mjs --save",
53
54
  "benchmark:llm-ablation": "node scripts/run-llm-ablation.mjs"
54
55
  },
55
56
  "files": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap-cli",
3
- "version": "8.18.0",
3
+ "version": "8.19.0",
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": "8.18.0",
3
+ "version": "8.19.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: '8.18.0',
21
+ version: '8.19.0',
22
22
  description: 'SigMap MCP server — code signatures on demand',
23
23
  };
24
24