weavatrix 1.16.2 → 1.16.4

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/README.md CHANGED
@@ -58,7 +58,7 @@ weavatrix mcp .
58
58
  ```toml
59
59
  [mcp_servers.weavatrix]
60
60
  command = "npx"
61
- args = ["-y", "weavatrix@1.16.2", "mcp", "."]
61
+ args = ["-y", "weavatrix@1.16.4", "mcp", "."]
62
62
  ```
63
63
 
64
64
  Pass an absolute repository path when the Codex process cwd is not the project
@@ -67,7 +67,7 @@ you intend to analyze.
67
67
  ### Claude Code
68
68
 
69
69
  ```sh
70
- claude mcp add weavatrix -- npx -y weavatrix@1.16.2 mcp .
70
+ claude mcp add weavatrix -- npx -y weavatrix@1.16.4 mcp .
71
71
  ```
72
72
 
73
73
  ### Cursor
@@ -80,7 +80,7 @@ the plugin for the same server name:
80
80
  "mcpServers": {
81
81
  "weavatrix": {
82
82
  "command": "npx",
83
- "args": ["-y", "weavatrix@1.16.2", "mcp", "${workspaceFolder}"]
83
+ "args": ["-y", "weavatrix@1.16.4", "mcp", "${workspaceFolder}"]
84
84
  }
85
85
  }
86
86
  }
@@ -89,14 +89,14 @@ the plugin for the same server name:
89
89
  Profiles expose bounded views of the same engine:
90
90
 
91
91
  ```sh
92
- npx -y weavatrix@1.16.2 mcp . --profile=all
93
- npx -y weavatrix@1.16.2 mcp . --profile=code
94
- npx -y weavatrix@1.16.2 mcp . --profile=seo
95
- npx -y weavatrix@1.16.2 mcp . --profile=n8n
96
- npx -y weavatrix@1.16.2 mcp . --profile=dify
97
- npx -y weavatrix@1.16.2 mcp . --profile=agent
98
- npx -y weavatrix@1.16.2 mcp . --profile=diagram
99
- npx -y weavatrix@1.16.2 mcp . --profile=web3
92
+ npx -y weavatrix@1.16.4 mcp . --profile=all
93
+ npx -y weavatrix@1.16.4 mcp . --profile=code
94
+ npx -y weavatrix@1.16.4 mcp . --profile=seo
95
+ npx -y weavatrix@1.16.4 mcp . --profile=n8n
96
+ npx -y weavatrix@1.16.4 mcp . --profile=dify
97
+ npx -y weavatrix@1.16.4 mcp . --profile=agent
98
+ npx -y weavatrix@1.16.4 mcp . --profile=diagram
99
+ npx -y weavatrix@1.16.4 mcp . --profile=web3
100
100
  ```
101
101
 
102
102
  The package contains native binaries for Windows x64/arm64, macOS x64/arm64,
@@ -249,6 +249,13 @@ Every operation is read-only with respect to the analyzed repository.
249
249
  Pagination and explicit limits bound large neighborhoods, histories, searches,
250
250
  and contract inventories.
251
251
 
252
+ Need measured coverage? Run Weavatrix Quality first, then `coverage_map`.
253
+ The host will not invent percentages from an empty search path. Quality
254
+ publishes `.weavatrix/coverage/lcov.info`. Agent schema verdicts are a
255
+ supported-subset proof: unsupported keywords stay `undetermined`, and
256
+ skill hits are declared `allowed-tools`. Web3 consumers stay on the
257
+ paired files; a missing candidate is `missing_input`.
258
+
252
259
  ## 24 repository surfaces
253
260
 
254
261
  | Group | Surfaces |
@@ -275,7 +282,7 @@ export in git → existing JSON/YAML parse → typed domain → inventory / trac
275
282
  | [Dify](https://weavatrix.com/dify) | `dify_inventory`, `dify_trace`, `dify_context` | Product 1.13.0 |
276
283
  | Agent packages | `agent_inventory`, `agent_trace`, `agent_context`, `agent_change_impact` | Product 1.14.0 |
277
284
  | Mermaid diagrams | `diagram_inventory`, `diagram_trace`, `diagram_context` | Product 1.14.0 |
278
- | Web3 integration | `web3_inventory`, `web3_trace`, `web3_impact`, `web3_context` | Product 1.16.2 |
285
+ | Web3 integration | `web3_inventory`, `web3_trace`, `web3_impact`, `web3_context` | Product 1.16.4 |
279
286
 
280
287
  | Need | Use |
281
288
  | --- | --- |
@@ -295,17 +302,20 @@ coding agent
295
302
  |
296
303
  | MCP over stdio
297
304
  v
298
- weavatrix 1.16.2
305
+ weavatrix 1.16.4
299
306
  profile catalog · refresh · watcher · MCP framing
300
307
  |
301
308
  v
302
- weavatrix-rust 2.16.2
309
+ weavatrix-rust 2.16.4
303
310
  typed graph · analysis · 64 product operations including n8n, Dify, agent packages, Mermaid, and Web3
304
311
  ```
305
312
 
306
313
  This npm product owns MCP transport and native distribution. The
307
314
  [`weavatrix-rust`](https://github.com/Weavatrix/weavatrix-rust) crate is
308
315
  the reusable protocol-independent engine; it is not an MCP server.
316
+ [`weavatrix-stream`](https://github.com/Weavatrix/weavatrix-stream)
317
+ provides adapters for Weavatrix observations; this host does not take a
318
+ runtime dependency on it.
309
319
  Its standalone diagnostic therefore reports `weavatrix-rust <engine-version>`,
310
320
  while this MCP product reports both its product and embedded-engine identities.
311
321
 
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weavatrix",
3
- "version": "1.16.2",
4
- "weavatrixEngineVersion": "2.16.2",
3
+ "version": "1.16.4",
4
+ "weavatrixEngineVersion": "2.16.4",
5
5
  "description": "Native repository intelligence for coding agents: 64 read-only MCP operations backed by typed evidence graphs, impact, architecture, APIs, Git, search, semantics, memory, n8n workflows, Dify apps, agent packages, Mermaid diagrams, and Web3 ABIs.",
6
6
  "author": "Sergii Ziborov <sergii.ziborov@gmail.com>",
7
7
  "license": "MIT",
package/server.json CHANGED
@@ -7,14 +7,14 @@
7
7
  "url": "https://github.com/Weavatrix/weavatrix",
8
8
  "source": "github"
9
9
  },
10
- "version": "1.16.2",
10
+ "version": "1.16.4",
11
11
  "websiteUrl": "https://weavatrix.com",
12
12
  "packages": [
13
13
  {
14
14
  "registryType": "npm",
15
15
  "registryBaseUrl": "https://registry.npmjs.org",
16
16
  "identifier": "weavatrix",
17
- "version": "1.16.2",
17
+ "version": "1.16.4",
18
18
  "runtimeHint": "npx",
19
19
  "transport": {
20
20
  "type": "stdio"
package/skill/SKILL.md CHANGED
@@ -38,7 +38,12 @@ contracts. Do not call it merely because the server is available.
38
38
  `web3_trace` / `web3_impact` / `web3_context` for supplied ABI,
39
39
  artifacts, and static viem/wagmi consumers. Those paths are static graph
40
40
  evidence, not a live n8n, Dify, MCP, Mermaid, or blockchain runtime.
41
- 5. Use repository-native tests or benchmarks for behavioral proof.
41
+ 5. Use repository-native tests or benchmarks for behavioral proof. For
42
+ measured line coverage, run Weavatrix Quality `quality_run` so it writes
43
+ `.weavatrix/coverage/lcov.info`, then call `coverage_map`. Do not start
44
+ with `coverage_map` — it never runs tests. A missing report is
45
+ unmeasured, not 0%. See
46
+ [references/tools/coverage_map.md](references/tools/coverage_map.md).
42
47
 
43
48
  Do not call `open_repo` "just in case". Cross-repository tools take explicit
44
49
  roots in their arguments. Multi-root retarget requires launching with
@@ -58,6 +63,7 @@ audit and coverage results.
58
63
  - Keep source spans, graph revision, relation type, extractor, and confidence
59
64
  attached to findings.
60
65
  - Treat static reachability and audit output as candidates, not runtime proof.
66
+ `coverage_map` is an ingest. Quality builds the LCOV file.
61
67
  - Preserve exact transport identity; do not merge Kafka, AMQP/RabbitMQ, NATS,
62
68
  SNS/SQS, JMS, GraphQL, and gRPC evidence because operation names match.
63
69
  - The core is local, offline, and read-only. Use `weavatrix-refactor` only for
@@ -44,7 +44,7 @@ cannot silently switch to another repository. Pass an explicit
44
44
  - [`find_duplicates`](tools/find_duplicates.md) — Deterministic Type-1/2/3 clone families.
45
45
  - [`find_dead_code`](tools/find_dead_code.md) — Conservative unreferenced-symbol review queue.
46
46
  - [`run_audit`](tools/run_audit.md) — Repository structure and evidence completeness audit.
47
- - [`coverage_map`](tools/coverage_map.md) — Measured coverage discovery or explicit static reachability.
47
+ - [`coverage_map`](tools/coverage_map.md) — Ingest a report Quality already built. Does not run tests. Missing report is unmeasured, not 0%.
48
48
  - [`hot_path_review`](tools/hot_path_review.md) — Rank functions by static complexity times resolved call fan-in.
49
49
  - [`perf_attribution`](tools/perf_attribution.md) — Correlate a measurement series with the declarations that changed between the revisions that produced it.
50
50
  - [`get_architecture_contract`](tools/get_architecture_contract.md) — Read or preview the local target-architecture contract.
@@ -97,7 +97,7 @@ runtime, gateway, or policy authority. Requires engine `weavatrix-rust`
97
97
  - [`agent_inventory`](tools/agent_inventory.md) — List plugins, skills, MCP bindings, catalog tools, and supplied observations.
98
98
  - [`agent_trace`](tools/agent_trace.md) — Declared origin, profile, transport, and package bindings for one identity.
99
99
  - [`agent_context`](tools/agent_context.md) — Bounded context; `allowed-tools` is not a grant.
100
- - [`agent_change_impact`](tools/agent_change_impact.md) — Compare two catalog snapshots; a known inject transform can keep one exposure compatible.
100
+ - [`agent_change_impact`](tools/agent_change_impact.md) — Compare two catalog snapshots on a supported schema subset. Unsupported keywords stay undetermined. Duplicate labels are `ambiguous-identity`. Skill hits are declared `allowed-tools`.
101
101
 
102
102
  ## Mermaid diagrams
103
103
 
@@ -112,9 +112,9 @@ engine `weavatrix-rust` 2.14.3.
112
112
 
113
113
  Local ABI JSON, supplied solc/Foundry artifacts, and static viem/wagmi
114
114
  sources only. Not a compiler, RPC client, or wallet. Requires engine
115
- `weavatrix-rust` 2.16.2.
115
+ `weavatrix-rust` 2.16.4.
116
116
 
117
- - [`web3_inventory`](tools/web3_inventory.md) — List ABIs, artifacts, and static consumers.
118
- - [`web3_trace`](tools/web3_trace.md) — Walk proven ABI, artifact, and consumer bindings.
119
- - [`web3_impact`](tools/web3_impact.md) — Interface deltas and consumer-specific effects, including silent event misdecode.
117
+ - [`web3_inventory`](tools/web3_inventory.md) — List ABIs, artifacts, and static consumers. Truncation is reported.
118
+ - [`web3_trace`](tools/web3_trace.md) — Walk the requested depth from the seed. A cut reports truncation.
119
+ - [`web3_impact`](tools/web3_impact.md) — Interface deltas on the paired files. A missing candidate is `missing_input`. Comment properties are not the callee.
120
120
  - [`web3_context`](tools/web3_context.md) — Bounded fragments plus explicit deployment gaps.
@@ -7,7 +7,11 @@ adapter compensation, and declared consumers.
7
7
 
8
8
  After adding `before` and `after` catalog JSON files to the repository. A
9
9
  known inject transform can keep one exposure compatible while the upstream
10
- required list grew. Incomplete pagination is not a deletion.
10
+ required list grew. Incomplete pagination is not a deletion. Verdicts are
11
+ a supported-subset proof: unsupported keywords stay `undetermined`. A
12
+ boolean `enum: [true, false]` is not a restriction. `integer` to
13
+ `number` is a widening. Duplicate tool labels are `ambiguous-identity`.
14
+ Skill hits are declared `allowed-tools`, not proven calls.
11
15
 
12
16
  ## Inputs
13
17
 
@@ -1,29 +1,69 @@
1
1
  # `coverage_map`
2
2
 
3
- Measured coverage discovery or explicit static reachability.
3
+ Ingest a measured coverage report and hang it on graph nodes. This is not a
4
+ test runner.
4
5
 
5
- ## When to use
6
+ ## Do not get lost
6
7
 
7
- Attach measured coverage reports to graph nodes and keep static reachability separately labeled.
8
+ | Product | Job |
9
+ | --- | --- |
10
+ | Weavatrix Quality (`quality_run` / `wvq run`) | **Build** the report with the project's own frozen runner and write `.weavatrix/coverage/lcov.info`. |
11
+ | Weavatrix `coverage_map` | **Ingest** a report that already exists. Never spawn `cargo test`, Vitest, Jest, Bun, Go, or Playwright. |
8
12
 
9
- A missing measured report must not be described as clean coverage.
13
+ Call Quality first when you need measured numbers. Then call `coverage_map`.
14
+ Calling `coverage_map` alone on a repository that has no report is a successful
15
+ empty ingest: `measured_coverage.present = false`, plus separately labeled
16
+ static reachability. That is not 0% and not 100%.
10
17
 
11
- ## Inputs
18
+ Cortex Loom "coverage certificates" are packet facts. They are not line
19
+ coverage and they do not feed this tool.
12
20
 
13
- - `output_format` ("text" | "json" | "structured", default "json") — text returns the concise text block only; json returns structured output and mirrors it into text for clients that read only content; structured drops that mirror, which is the larger copy, and is safe only where the client reads structuredContent.
14
- - `path` (string).
15
- - `top_n` (integer, min 0).
21
+ ## Search paths (first file wins)
16
22
 
17
- ## Minimal call
23
+ 1. `lcov.info`
24
+ 2. `coverage/lcov.info`
25
+ 3. `.weavatrix/coverage/lcov.info` — the path Quality publishes
26
+ 4. `tarpaulin-report.json`
27
+ 5. `target/tarpaulin/tarpaulin-report.json`
28
+ 6. `target/llvm-cov/coverage.json`
29
+ 7. `coverage/coverage-final.json`
18
30
 
19
- ```json
20
- {
21
- "name": "coverage_map",
22
- "arguments": {
23
- "output_format": "text"
24
- }
25
- }
26
- ```
31
+ ## Arguments
27
32
 
28
- Use `output_format:"text"` for compact agent interaction. The live MCP
29
- `tools/list` schema remains authoritative for this installed version.
33
+ - `path` — substring filter on report file paths
34
+ - `top_n` — cap the returned file list
35
+
36
+ ## How to read the reply
37
+
38
+ - `measured_coverage.present = true` — a report was parsed. `report` is the
39
+ repository-relative path. `source` states that Weavatrix did not execute
40
+ tests.
41
+ - `measured_coverage.present = false` — none of the search paths existed.
42
+ `files` is empty. `static_reachability` may still list likely tests. The
43
+ `warning` field repeats that this is not measured coverage.
44
+ - `status: COMPLETE` with `present = false` is not a green coverage gate.
45
+
46
+ ## Quality builds the report
47
+
48
+ Weavatrix Quality does not invent a second test stack. Discovery uses what
49
+ the repository already has:
50
+
51
+ - Rust: `cargo llvm-cov` when that Cargo subcommand exists (skipped on
52
+ `windows-gnu`, which lacks `profiler_builtins`), else `cargo tarpaulin`,
53
+ else plain `cargo test` (no measured report).
54
+ - JavaScript/TypeScript: Vitest with an already-declared coverage provider,
55
+ else Jest `--coverage`, else Bun `--coverage`. Playwright is used only
56
+ when no other JS runner owns the package.
57
+ - Go: the registered `go-test` coverprofile is normalized and then published
58
+ as LCOV on the Weavatrix search path.
59
+
60
+ Policy bindings may still say `cargo-test`. Discovery may upgrade the spawn
61
+ to `cargo-llvm-cov` or `cargo-tarpaulin`. Mutation stays on `cargo-test` so
62
+ each mutant is not measured as if it were a coverage run.
63
+
64
+ ## Agent sequence
65
+
66
+ 1. `quality_run` (or `wvq run`) on the same repository, **or** place one of
67
+ the files above yourself.
68
+ 2. `coverage_map` (optionally `path` / `top_n`).
69
+ 3. Treat `present = false` as "unmeasured", not as "uncovered" or "safe".
@@ -7,7 +7,10 @@ deltas, including silent event misdecode risk.
7
7
 
8
8
  A contract ABI changed and a client still binds an older copy. An indexed
9
9
  mask change can decode without throwing. Deployment state stays
10
- `not_provided` unless a runtime observation was supplied.
10
+ `not_provided` unless a runtime observation was supplied. Consumers stay
11
+ on the paired baseline/candidate files. A missing candidate is
12
+ `missing_input`, not `MEMBER_REMOVED`. Comment properties inside a call
13
+ object are not the callee.
11
14
 
12
15
  ## Inputs
13
16
 
@@ -6,7 +6,9 @@ call site.
6
6
  ## When to use
7
7
 
8
8
  After `web3_inventory`, when a function or event name is not enough: follow
9
- the exact occurrence to its ABI member and static client binding.
9
+ the exact occurrence to its ABI member and static client binding. `depth`
10
+ is walked from the seed; a cut reports truncation instead of pretending
11
+ the walk finished.
10
12
 
11
13
  ## Inputs
12
14