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 +24 -0
- package/README.md +15 -3
- package/gen-context.js +2 -2
- package/llms-full.txt +3 -3
- package/llms.txt +3 -3
- package/package.json +2 -1
- package/packages/cli/package.json +1 -1
- package/packages/core/package.json +1 -1
- package/src/mcp/server.js +1 -1
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.
|
|
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-
|
|
126
|
+
Date : 2026-08-18
|
|
127
127
|
|
|
128
|
-
Hit@5 : 82.2% (grep-agent baseline 44.0% — 1.
|
|
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.
|
|
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.
|
|
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.
|
|
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-
|
|
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.
|
|
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.
|
|
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-
|
|
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.
|
|
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.
|
|
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",
|
package/src/mcp/server.js
CHANGED