weavatrix 1.16.3 → 1.17.1

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
@@ -12,7 +12,7 @@
12
12
  Weavatrix answers the questions agents otherwise invent: what breaks if this
13
13
  file changes, who consumes this n8n field, whether an MCP schema still
14
14
  accepts yesterday’s request, which viem call sites follow an ABI layout
15
- change, and whether `.weavatrix/architecture.json` still holds. **64
15
+ change, and whether `.weavatrix/architecture.json` still holds. **67
16
16
  read-only operations**, one revision-bound graph, no LSP and no prompt pack.
17
17
 
18
18
  Codex, Claude Code, Cursor, and Grok get impact, architecture, APIs, Git
@@ -58,7 +58,7 @@ weavatrix mcp .
58
58
  ```toml
59
59
  [mcp_servers.weavatrix]
60
60
  command = "npx"
61
- args = ["-y", "weavatrix@1.16.3", "mcp", "."]
61
+ args = ["-y", "weavatrix@1.17.1", "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.3 mcp .
70
+ claude mcp add weavatrix -- npx -y weavatrix@1.17.1 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.3", "mcp", "${workspaceFolder}"]
83
+ "args": ["-y", "weavatrix@1.17.1", "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.3 mcp . --profile=all
93
- npx -y weavatrix@1.16.3 mcp . --profile=code
94
- npx -y weavatrix@1.16.3 mcp . --profile=seo
95
- npx -y weavatrix@1.16.3 mcp . --profile=n8n
96
- npx -y weavatrix@1.16.3 mcp . --profile=dify
97
- npx -y weavatrix@1.16.3 mcp . --profile=agent
98
- npx -y weavatrix@1.16.3 mcp . --profile=diagram
99
- npx -y weavatrix@1.16.3 mcp . --profile=web3
92
+ npx -y weavatrix@1.17.1 mcp . --profile=all
93
+ npx -y weavatrix@1.17.1 mcp . --profile=code
94
+ npx -y weavatrix@1.17.1 mcp . --profile=seo
95
+ npx -y weavatrix@1.17.1 mcp . --profile=n8n
96
+ npx -y weavatrix@1.17.1 mcp . --profile=dify
97
+ npx -y weavatrix@1.17.1 mcp . --profile=agent
98
+ npx -y weavatrix@1.17.1 mcp . --profile=diagram
99
+ npx -y weavatrix@1.17.1 mcp . --profile=web3
100
100
  ```
101
101
 
102
102
  The package contains native binaries for Windows x64/arm64, macOS x64/arm64,
@@ -227,7 +227,7 @@ Three commits before `ec8bf30` this package was 1.9.2; the agent reads that
227
227
  follow-up to a diff without touching the worktree. Binary blobs fail closed
228
228
  instead of being decoded into garbage.
229
229
 
230
- ## The 64 read-only operations
230
+ ## The 67 read-only operations
231
231
 
232
232
  | Workflow | Operations |
233
233
  | --- | --- |
@@ -235,12 +235,9 @@ instead of being decoded into garbage.
235
235
  | Change impact | `get_dependents`, `change_impact`, `select_tests`, `verified_change`, `prepare_change`, `graph_diff` |
236
236
  | Exact source context | `search_code`, `read_source`, `inspect_symbol`, `go_to_definition`, `find_references`, `context_bundle`, `map_stacktrace` |
237
237
  | Health and quality | `find_duplicates`, `find_dead_code`, `run_audit`, `coverage_map`, `hot_path_review`, `perf_attribution` |
238
-
239
- Need measured coverage from this MCP host? Run Weavatrix Quality first, then
240
- `coverage_map`. The host will not invent percentages from an empty search
241
- path. Quality publishes `.weavatrix/coverage/lcov.info`.
242
238
  | APIs and transports | `list_endpoints`, `trace_endpoint`, `trace_api_contract` |
243
- | Architecture | `get_architecture_contract`, `verify_architecture`, `verify_capabilities`, `explain_architecture_violation`, `propose_architecture_exception` |
239
+ | Architecture | `architecture_inventory`, `get_architecture_contract`, `verify_architecture`, `verify_capabilities`, `explain_architecture_violation`, `propose_architecture_exception` |
240
+ | Local CI | `ci_restrictions`, `explain_restriction` |
244
241
  | Git and repositories | `git_history`, `git_read_blob`, `cross_repo_git`, `open_repo`, `list_known_repos`, `rebuild_graph` |
245
242
  | Native extensions | `vector_search`, `semantic_link`, `seo_link_suggestions`, `memory_context` |
246
243
  | n8n workflows | `n8n_inventory`, `n8n_trace`, `n8n_context` |
@@ -253,6 +250,20 @@ Every operation is read-only with respect to the analyzed repository.
253
250
  Pagination and explicit limits bound large neighborhoods, histories, searches,
254
251
  and contract inventories.
255
252
 
253
+ `architecture_inventory` describes observed components without assigning an
254
+ architecture style. `ci_restrictions` reads local GitHub Actions workflows and
255
+ recognizes literal checks, with optional event, base branch, and changed-path
256
+ scenario. `explain_restriction` retrieves one finding. Dynamic conditions,
257
+ actual runs, and remote required checks remain unknown until separate evidence
258
+ is supplied; a workflow file alone never establishes a passing gate.
259
+
260
+ Need measured coverage? Run Weavatrix Quality first, then `coverage_map`.
261
+ The host will not invent percentages from an empty search path. Quality
262
+ publishes `.weavatrix/coverage/lcov.info`. Agent schema verdicts are a
263
+ supported-subset proof: unsupported keywords stay `undetermined`, and
264
+ skill hits are declared `allowed-tools`. Web3 consumers stay on the
265
+ paired files; a missing candidate is `missing_input`.
266
+
256
267
  ## 24 repository surfaces
257
268
 
258
269
  | Group | Surfaces |
@@ -279,7 +290,7 @@ export in git → existing JSON/YAML parse → typed domain → inventory / trac
279
290
  | [Dify](https://weavatrix.com/dify) | `dify_inventory`, `dify_trace`, `dify_context` | Product 1.13.0 |
280
291
  | Agent packages | `agent_inventory`, `agent_trace`, `agent_context`, `agent_change_impact` | Product 1.14.0 |
281
292
  | Mermaid diagrams | `diagram_inventory`, `diagram_trace`, `diagram_context` | Product 1.14.0 |
282
- | Web3 integration | `web3_inventory`, `web3_trace`, `web3_impact`, `web3_context` | Product 1.16.3 |
293
+ | Web3 integration | `web3_inventory`, `web3_trace`, `web3_impact`, `web3_context` | Product 1.16.4 |
283
294
 
284
295
  | Need | Use |
285
296
  | --- | --- |
@@ -299,17 +310,20 @@ coding agent
299
310
  |
300
311
  | MCP over stdio
301
312
  v
302
- weavatrix 1.16.3
313
+ weavatrix 1.17.1
303
314
  profile catalog · refresh · watcher · MCP framing
304
315
  |
305
316
  v
306
- weavatrix-rust 2.16.3
307
- typed graph · analysis · 64 product operations including n8n, Dify, agent packages, Mermaid, and Web3
317
+ weavatrix-rust 2.17.0
318
+ typed graph · analysis · 67 product operations including local CI, n8n, Dify, agent packages, Mermaid, and Web3
308
319
  ```
309
320
 
310
321
  This npm product owns MCP transport and native distribution. The
311
322
  [`weavatrix-rust`](https://github.com/Weavatrix/weavatrix-rust) crate is
312
323
  the reusable protocol-independent engine; it is not an MCP server.
324
+ [`weavatrix-stream`](https://github.com/Weavatrix/weavatrix-stream)
325
+ provides adapters for Weavatrix observations; this host does not take a
326
+ runtime dependency on it.
313
327
  Its standalone diagnostic therefore reports `weavatrix-rust <engine-version>`,
314
328
  while this MCP product reports both its product and embedded-engine identities.
315
329
 
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "weavatrix",
3
- "version": "1.16.3",
4
- "weavatrixEngineVersion": "2.16.3",
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.",
3
+ "version": "1.17.1",
4
+ "weavatrixEngineVersion": "2.17.0",
5
+ "description": "Native repository intelligence for coding agents: 67 read-only MCP operations backed by typed evidence graphs, impact, architecture, local CI restrictions, 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",
8
8
  "homepage": "https://weavatrix.com",
package/server.json CHANGED
@@ -2,19 +2,19 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.Weavatrix/weavatrix",
4
4
  "title": "Weavatrix",
5
- "description": "Native Weavatrix MCP: 64 read-only tools for code, n8n, Dify, agents, Mermaid, and Web3.",
5
+ "description": "Native Weavatrix MCP: 67 read-only tools for code, local CI, n8n, Dify, agents, Mermaid, Web3.",
6
6
  "repository": {
7
7
  "url": "https://github.com/Weavatrix/weavatrix",
8
8
  "source": "github"
9
9
  },
10
- "version": "1.16.3",
10
+ "version": "1.17.1",
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.3",
17
+ "version": "1.17.1",
18
18
  "runtimeHint": "npx",
19
19
  "transport": {
20
20
  "type": "stdio"
package/skill/SKILL.md CHANGED
@@ -23,12 +23,15 @@ contracts. Do not call it merely because the server is available.
23
23
  1. Call `graph_stats` and confirm `repository_context.root` matches the workspace
24
24
  you intend. The MCP process is pinned to its launch root; it will not silently
25
25
  answer for another repository.
26
- 2. Use `module_map` for orientation or `search_code` for a known literal.
26
+ 2. Use `module_map` or `architecture_inventory` for orientation, or
27
+ `search_code` for a known literal.
27
28
  3. Pin decisive evidence with `inspect_symbol`, `go_to_definition`,
28
29
  `find_references`, `context_bundle`, or `read_source`.
29
30
  4. Expand only when needed: `get_dependents` or `change_impact` for risk,
30
31
  `trace_endpoint` or `trace_api_contract` for runtime contracts,
31
- `verify_architecture` for policy, `run_audit` for a broad health pass,
32
+ `verify_architecture` for policy, `ci_restrictions` for local GitHub Actions
33
+ checks and `explain_restriction` for one finding, `run_audit` for a broad
34
+ health pass,
32
35
  `n8n_inventory` / `n8n_trace` / `n8n_context` for exported n8n
33
36
  workflows, and `dify_inventory` / `dify_trace` / `dify_context` for
34
37
  exported Dify YAML, and `agent_inventory` / `agent_trace` /
@@ -41,6 +41,9 @@ cannot silently switch to another repository. Pass an explicit
41
41
 
42
42
  ## Quality and architecture
43
43
 
44
+ - [`architecture_inventory`](tools/architecture_inventory.md) — Observed components and typed edges without a style label.
45
+ - [`ci_restrictions`](tools/ci_restrictions.md) — Local GitHub Actions checks and conditional applicability.
46
+ - [`explain_restriction`](tools/explain_restriction.md) — One restriction and its evidence limits.
44
47
  - [`find_duplicates`](tools/find_duplicates.md) — Deterministic Type-1/2/3 clone families.
45
48
  - [`find_dead_code`](tools/find_dead_code.md) — Conservative unreferenced-symbol review queue.
46
49
  - [`run_audit`](tools/run_audit.md) — Repository structure and evidence completeness audit.
@@ -97,7 +100,7 @@ runtime, gateway, or policy authority. Requires engine `weavatrix-rust`
97
100
  - [`agent_inventory`](tools/agent_inventory.md) — List plugins, skills, MCP bindings, catalog tools, and supplied observations.
98
101
  - [`agent_trace`](tools/agent_trace.md) — Declared origin, profile, transport, and package bindings for one identity.
99
102
  - [`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.
103
+ - [`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
104
 
102
105
  ## Mermaid diagrams
103
106
 
@@ -112,9 +115,9 @@ engine `weavatrix-rust` 2.14.3.
112
115
 
113
116
  Local ABI JSON, supplied solc/Foundry artifacts, and static viem/wagmi
114
117
  sources only. Not a compiler, RPC client, or wallet. Requires engine
115
- `weavatrix-rust` 2.16.3.
118
+ `weavatrix-rust` 2.16.4.
116
119
 
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.
120
+ - [`web3_inventory`](tools/web3_inventory.md) — List ABIs, artifacts, and static consumers. Truncation is reported.
121
+ - [`web3_trace`](tools/web3_trace.md) — Walk the requested depth from the seed. A cut reports truncation.
122
+ - [`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
123
  - [`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
 
@@ -0,0 +1,22 @@
1
+ # `architecture_inventory`
2
+
3
+ Observed package, component, and typed edge evidence. No style label or
4
+ target architecture is inferred.
5
+
6
+ ## When to use
7
+
8
+ Orient in an unfamiliar repository or compare observed structure with a
9
+ separately declared architecture contract.
10
+
11
+ ## Inputs
12
+
13
+ - `output_format` (`text`, `json`, or `structured`).
14
+ - `expected_repository` (optional active-root guard).
15
+
16
+ ## Minimal call
17
+
18
+ ```json
19
+ {"name":"architecture_inventory","arguments":{"output_format":"text"}}
20
+ ```
21
+
22
+ The live MCP `tools/list` schema is authoritative.
@@ -0,0 +1,28 @@
1
+ # `ci_restrictions`
2
+
3
+ Local GitHub Actions jobs, steps, literal checks, and their evidence limits.
4
+ It never runs a workflow or reads remote merge protection.
5
+
6
+ ## When to use
7
+
8
+ Identify configured CI checks and ask whether a known event, base branch, and
9
+ changed path would enter a workflow. `UNDETERMINED` is returned for dynamic
10
+ conditions, scripts, or unavailable action bodies.
11
+
12
+ ## Inputs
13
+
14
+ - `scope`: optional workflow-path substring.
15
+ - `scenario`: optional object with `event`, `branch` (PR base branch), and
16
+ `changed_files` (array of repository paths). Do not pass secrets.
17
+ - `max_results` and `token_budget`: response bounds.
18
+ - `output_format` and `expected_repository`: common MCP arguments.
19
+
20
+ ## Minimal call
21
+
22
+ ```json
23
+ {"name":"ci_restrictions","arguments":{"scenario":{"event":"pull_request","branch":"main","changed_files":["src/lib.rs"]},"output_format":"text"}}
24
+ ```
25
+
26
+ The response separates declaration, applicability, observed execution,
27
+ failure effect, and remote enforcement. A configured coverage threshold is
28
+ not measured coverage. The live MCP `tools/list` schema is authoritative.
@@ -0,0 +1,22 @@
1
+ # `explain_restriction`
2
+
3
+ Retrieve one local restriction by the ID returned from `ci_restrictions`.
4
+
5
+ ## When to use
6
+
7
+ Inspect its source digest and byte span, invocation, applicability, failure
8
+ effect, and unknowns before making a change.
9
+
10
+ ## Inputs
11
+
12
+ - `id` (required): exact restriction ID.
13
+ - `scenario`: optional `event`, `branch`, and `changed_files` object.
14
+ - `output_format` and `expected_repository`: presentation and active-root guard.
15
+
16
+ ## Minimal call
17
+
18
+ ```json
19
+ {"name":"explain_restriction","arguments":{"id":".github/workflows/ci.yml/quality/3/rustfmt_check/1","output_format":"text"}}
20
+ ```
21
+
22
+ The live MCP `tools/list` schema is authoritative.
@@ -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