sigmap 8.26.0 → 8.26.2

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,30 @@ Format: [Semantic Versioning](https://semver.org/)
10
10
 
11
11
  ---
12
12
 
13
+ ## [8.26.2] — 2026-08-18
14
+
15
+ Patch release — **"Honest Harness" (#522)**: the benchmark suite's cross-suite instability is diagnosed, fixed, and gated — and the headline retrieval number honestly resettles on the now-stable harness.
16
+
17
+ ### Fixed
18
+ - **Benchmark cross-suite determinism (#522, PR #524):** two measured root causes. (1) The quality suite carried a stale 13-entry local copy of the retrieval harness's 21-entry `CONFIG_OVERRIDES` table and regenerated every repo unconditionally — the missing entries (express, flask, spring-petclinic, serilog) got default-srcDirs contexts, silently overwriting the canonical ones (measured: honest hit@5 77.6% → 66.4% after a quality run; flask 0.875 → 0). (2) The 20-task `retrieval` set scores against the **live SigMap repo**, whose context legitimately changes every release (measured: 0.85 → 0.55 over three releases) — real development drift, previously indistinguishable from harness noise. Fixes: a single canonical `benchmarks/config-overrides.json` loaded by both suites; the quality suite now mirrors the retrieval harness's apply/restore semantics exactly (always apply · regenerate · restore in `finally`); the honest report labels the self-repo row (`selfRepo: true`, `*` + note in output). New gate `npm run validate:benchmark-determinism` runs honest → quality → honest and fails on any divergence — verified green post-fix (identical at 77.6% / 125 tasks). 5 CI-safe source-level guard tests.
19
+
20
+ ### Changed
21
+ - **Headline honesty, again:** with the harness stable, the honest baseline resettles — the previously published 82.4% hit@5 included ~5pt of unlabeled self-repo drift. The refreshed numbers in this release are the first produced under the determinism gate. 134 test files.
22
+
23
+ ---
24
+
25
+ ## [8.26.1] — 2026-08-18
26
+
27
+ Patch release — **"Trust Quick Wins II" (G1)**: the extraction layer gets the same honesty treatment the benchmarks got in v8.19.
28
+
29
+ ### Added
30
+ - **`KNOWN_LIMITATIONS.md` + README extraction-honesty tiers (#520, PR #521):** one page stating plainly what each extractor tier can and cannot do — Tier 1 AST (Python via `python_ast.py`, regex fallback without `python3`), Tier 2 anchored regex (the 11 `withAnchor` brace languages, doc hints on 6), Tier 3 pattern/heuristic (the rest + generic fallback) — plus the truncation caps (25 signatures/file, 8 members/block) and what falls off, the nested-paren regex gap (the stated G4/D1 precondition), and the honest `verify` implication: a real symbol missing from the index flags `fake-symbol` at **medium** confidence — a conservative false positive, never a silent pass. README carries a compact "Extraction honesty" tier label linking the page. A 6-check guard test drift-locks the doc's counts to `version.json` and cross-checks the Tier-2 count against the extractors that actually call `withAnchor`.
31
+
32
+ ### Changed
33
+ - 6 new guard checks (133 test files). No runtime code changed; the npm tarball is unaffected.
34
+
35
+ ---
36
+
13
37
  ## [8.26.0] — 2026-08-18
14
38
 
15
39
  Minor release — **"Agent Economy III" (v8.26, F3+F4)**: the optimal SigMap usage loop ships as installable agent skills in every client's native format — completing the Agent Economy pillar (F1 budget → F2 tune → F3+F4 skills).
package/README.md CHANGED
@@ -59,7 +59,7 @@ 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
- - **82.2% hit@5** — right file in top 5 results (vs 44.0% single-shot grep baseline — 1.87× lift)
62
+ - **82.2% hit@5** — right file in top 5 results (vs 44.0% single-shot grep baseline — 1.76× lift)
63
63
  - **96.8% token reduction** — average across 21 real repos
64
64
  - **64.8% task-success proxy** — modeled from retrieval tiers, not measured LLM sessions
65
65
  - **1.53 prompts per task** — down from 2.84 (46.1% fewer retries, modeled)
@@ -123,9 +123,9 @@ Ask → Rank → Context → Validate → Judge → Learn
123
123
  <!--SM:benchmarkBlock-->
124
124
  ```
125
125
  Benchmark : sigmap-v8.26-main (21 repositories, including R language)
126
- Date : 2026-08-17
126
+ Date : 2026-08-18
127
127
 
128
- Hit@5 : 82.2% (grep-agent baseline 44.0% — 1.87× lift)
128
+ Hit@5 : 82.2% (grep-agent baseline 44.0% — 1.76× lift)
129
129
  Token reduction: 96.8% (across 21 repos)
130
130
  Prompt reduction : 46.1% (2.84 → 1.53 prompts per task, modeled)
131
131
  Task success : 64.8% (proxy — modeled from retrieval tiers)
@@ -397,6 +397,18 @@ All implemented with zero external dependencies.
397
397
 
398
398
  [Full language table →](https://sigmap.io/guide/generalization.html)
399
399
 
400
+ ### Extraction honesty
401
+
402
+ Not all 33 languages get the same depth — and we say so plainly:
403
+
404
+ | Tier | Coverage | Depth |
405
+ |------|----------|-------|
406
+ | **AST** | Python (`python3` on PATH; regex fallback without) | Full parse |
407
+ | **Anchored regex** | 11 brace languages (JS, TS, Go, Rust, Java, Kotlin, Swift, PHP, Scala, Dart, C#) | Declarations + `:start-end` line anchors; doc hints on 6 |
408
+ | **Pattern/heuristic** | Everything else + generic fallback | Line-oriented patterns |
409
+
410
+ Caps: 25 signatures/file · 8 members/block. Full details, known regex gaps, and what they mean for `verify`: **[KNOWN_LIMITATIONS.md](KNOWN_LIMITATIONS.md)**.
411
+
400
412
  ---
401
413
 
402
414
  ## License
package/gen-context.js CHANGED
@@ -15195,7 +15195,7 @@ __factories["./src/mcp/server"] = function(module, exports) {
15195
15195
 
15196
15196
  const SERVER_INFO = {
15197
15197
  name: 'sigmap',
15198
- version: '8.26.0',
15198
+ version: '8.26.2',
15199
15199
  description: 'SigMap MCP server — code signatures on demand',
15200
15200
  };
15201
15201
 
@@ -20807,7 +20807,7 @@ function __tryGit(args, opts = {}) {
20807
20807
  catch (_) { return ''; }
20808
20808
  }
20809
20809
 
20810
- const VERSION = '8.26.0';
20810
+ const VERSION = '8.26.2';
20811
20811
  const MARKER = '\n\n## Auto-generated signatures\n<!-- Updated by gen-context.js -->\n';
20812
20812
 
20813
20813
  function requireSourceOrBundled(key) {
package/llms-full.txt CHANGED
@@ -11,17 +11,17 @@ 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.26.0 | Benchmark: sigmap-v8.26-main (2026-08-17)
14
+ # Version: 8.26.2 | Benchmark: sigmap-v8.26-main (2026-08-18)
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.26-main, 2026-08-17)
20
+ ## Core metrics (benchmark: sigmap-v8.26-main, 2026-08-18)
21
21
 
22
22
  | Metric | Without SigMap | With SigMap |
23
23
  |--------|----------------|-------------|
24
- | Retrieval hit@5 | 44.0% (single-shot grep) | 82.2% (1.87× lift) |
24
+ | Retrieval hit@5 | 44.0% (single-shot grep) | 82.2% (1.76× lift) |
25
25
  | Token reduction | — | 96.8% average |
26
26
  | Task-success proxy (modeled) | — | 64.8% |
27
27
  | Prompts per task | 2.84 | 1.53 (46.1% fewer) |
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.26.0 | Benchmark: sigmap-v8.26-main (2026-08-17)
14
+ # Version: 8.26.2 | Benchmark: sigmap-v8.26-main (2026-08-18)
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,9 +23,9 @@ 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.26-main, 2026-08-17)
26
+ ## Core metrics (benchmark: sigmap-v8.26-main, 2026-08-18)
27
27
 
28
- - hit@5 retrieval: 82.2% vs 44.0% single-shot grep baseline (1.87× lift)
28
+ - hit@5 retrieval: 82.2% vs 44.0% single-shot grep baseline (1.76× lift)
29
29
  - Token reduction: 96.8% average across benchmark repos
30
30
  - Task-success proxy: 64.8% (modeled from retrieval tiers, not measured LLM sessions)
31
31
  - Prompts per task: 1.53 vs 2.84 baseline (46.1% fewer, modeled)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap",
3
- "version": "8.26.0",
3
+ "version": "8.26.2",
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": {
@@ -34,6 +34,7 @@
34
34
  "benchmark:centrality-blend": "node scripts/run-centrality-blend-benchmark.mjs --save",
35
35
  "benchmark:surface-enrichment": "node scripts/run-surface-enrichment-benchmark.mjs --save",
36
36
  "validate:squeeze": "node scripts/run-squeeze-benchmark.mjs --gate",
37
+ "validate:benchmark-determinism": "node scripts/check-benchmark-determinism.mjs --cross-suite",
37
38
  "health": "node gen-context.js --health",
38
39
  "map": "node gen-project-map.js",
39
40
  "mcp": "node gen-context.js --mcp",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap-cli",
3
- "version": "8.26.0",
3
+ "version": "8.26.2",
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.26.0",
3
+ "version": "8.26.2",
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.26.0',
21
+ version: '8.26.2',
22
22
  description: 'SigMap MCP server — code signatures on demand',
23
23
  };
24
24