llmnav 0.6.4 → 0.6.6

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,6 +6,16 @@ The npm package follows Semantic Versioning. The `llmnav/N` source protocol is v
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.6.6] — 2026-08-12
10
+
11
+ ### Added
12
+
13
+ * Added a read-only cross-repository conformance matrix with repository-isolated validation, retrieval, audit, repeatability, cache-freshness, and held-language evidence.
14
+
15
+ ### Fixed
16
+
17
+ * Invalidated parsed file-state caches created by older source indexers so upgraded installations rebuild semantic and declaration hashes from source instead of silently reusing incompatible state.
18
+
9
19
  ## [0.6.4] — 2026-08-11
10
20
 
11
21
  ### Fixed
package/ROADMAP.md CHANGED
@@ -77,6 +77,12 @@ Implemented:
77
77
 
78
78
  The source grammar and generated formats will be declared stable only after use across multiple TypeScript, Go, Rust, Python, and mixed-language repositories. A 1.0 release requires migration tooling, documented compatibility guarantees, benchmark fixtures with published methodology, sustained Windows and Linux verification, and no unresolved high-severity parser or transaction ambiguity.
79
79
 
80
+ In progress:
81
+
82
+ * A read-only cross-repository conformance matrix measures validation, retrieval, audit, repeatability, and cache freshness without averaging weak repositories away.
83
+ * LLMNav, Workduck, Sairon, and AI BOM Generator currently pass repository-isolated conformance checks across JavaScript, TypeScript, Rust, Go, and Python.
84
+ * The current evidence covers 4 repositories and 5 required languages with no held or failed repository, while 1.0 still requires sustained Windows and Linux verification and published benchmark methodology.
85
+
80
86
  ## Non-goals
81
87
 
82
88
  LLMNav will not become a general documentation generator, a source-of-truth call graph maintained by comments, an autonomous code modification service, a hosted source-ingestion platform, or a mandatory embedding database.
@@ -94,6 +94,26 @@ npx llmnav eval --json
94
94
 
95
95
  Track at least Recall@1, Recall@5, and mean reciprocal rank. Record every acceptable target ID when a task has multiple valid entry points.
96
96
 
97
+ ## Cross-repository conformance matrix
98
+
99
+ Run the checked-in read-only matrix from a workspace that contains the configured sibling repositories:
100
+
101
+ ```sh
102
+ node benchmarks/run-conformance.js
103
+ ```
104
+
105
+ Use `--matrix <path>` to select another checked-in matrix and `--output <path>` to retain a JSON report. The report schema is `benchmarks/conformance-report.schema.json`.
106
+
107
+ Each repository keeps its own validation counts, retrieval thresholds, Recall@1, Recall@5, MRR, audit summary, repeatability result, and generated-cache freshness result. The harness deliberately does not average retrieval scores across repositories. A large or easy dataset must not hide a failing repository.
108
+
109
+ Verdicts have asymmetric meaning:
110
+
111
+ * `pass` requires valid cards, sufficient reviewed queries, repository thresholds, repeatable retrieval, and a source-current generated cache.
112
+ * `fail` requires a reproducible validation, retrieval, repeatability, cache-freshness, or measurement failure.
113
+ * `held` records missing adoption or insufficient reviewed cases without pretending that unmeasured language coverage passed or failed.
114
+
115
+ The default matrix currently measures LLMNav and Workduck. Go and Python remain held until their candidate repositories receive reviewed cards and task-language query datasets. Matrix output is navigation evidence, not an end-to-end claim about model tokens or coding-task success.
116
+
97
117
  ## End-to-end agent metrics
98
118
 
99
119
  A successful deployment should reduce exploration cost without reducing task correctness.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llmnav",
3
- "version": "0.6.4",
3
+ "version": "0.6.6",
4
4
  "description": "A deterministic semantic navigation layer for LLM coding agents.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -26,7 +26,7 @@ import {
26
26
  } from "./util.js";
27
27
 
28
28
  export const FILE_STATE_SCHEMA_VERSION = 1;
29
- export const SOURCE_INDEXER_VERSION = 5;
29
+ export const SOURCE_INDEXER_VERSION = 6;
30
30
  const STAT_HINTS_SCHEMA_VERSION = 1;
31
31
 
32
32
  export async function scanProjectIncremental(root, options = {}) {
package/src/spec.js CHANGED
@@ -10,7 +10,7 @@ rel=workflow>llmnav.rules.validate
10
10
  stability=contract
11
11
  */
12
12
 
13
- export const PACKAGE_VERSION = "0.6.4";
13
+ export const PACKAGE_VERSION = "0.6.6";
14
14
  export const SPEC_VERSION = "1";
15
15
 
16
16
  export const SCOPES = Object.freeze(["file", "module", "symbol"]);