weavatrix 1.16.4 → 1.17.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/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.4", "mcp", "."]
61
+ args = ["-y", "weavatrix@1.17.2", "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.4 mcp .
70
+ claude mcp add weavatrix -- npx -y weavatrix@1.17.2 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.4", "mcp", "${workspaceFolder}"]
83
+ "args": ["-y", "weavatrix@1.17.2", "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.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
92
+ npx -y weavatrix@1.17.2 mcp . --profile=all
93
+ npx -y weavatrix@1.17.2 mcp . --profile=code
94
+ npx -y weavatrix@1.17.2 mcp . --profile=seo
95
+ npx -y weavatrix@1.17.2 mcp . --profile=n8n
96
+ npx -y weavatrix@1.17.2 mcp . --profile=dify
97
+ npx -y weavatrix@1.17.2 mcp . --profile=agent
98
+ npx -y weavatrix@1.17.2 mcp . --profile=diagram
99
+ npx -y weavatrix@1.17.2 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
  | --- | --- |
@@ -236,7 +236,8 @@ instead of being decoded into garbage.
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
238
  | APIs and transports | `list_endpoints`, `trace_endpoint`, `trace_api_contract` |
239
- | 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` |
240
241
  | Git and repositories | `git_history`, `git_read_blob`, `cross_repo_git`, `open_repo`, `list_known_repos`, `rebuild_graph` |
241
242
  | Native extensions | `vector_search`, `semantic_link`, `seo_link_suggestions`, `memory_context` |
242
243
  | n8n workflows | `n8n_inventory`, `n8n_trace`, `n8n_context` |
@@ -249,6 +250,19 @@ Every operation is read-only with respect to the analyzed repository.
249
250
  Pagination and explicit limits bound large neighborhoods, histories, searches,
250
251
  and contract inventories.
251
252
 
253
+ `build_graph` and `architecture_inventory` share one typed build model. They
254
+ preserve nested Cargo, npm/TypeScript, Go, and Python components, many-to-many
255
+ declared memberships, collision-free identities, configuration predicates,
256
+ and immutable source evidence. Totals and SCC/cycle witnesses are computed
257
+ before pagination, so a response cap cannot change the graph verdict.
258
+
259
+ `ci_restrictions` reuses that target-aware topology while reading local GitHub
260
+ Actions workflows and literal checks. Root files, repeated commands, UTF-8 BOM
261
+ offsets, optional events, base branches, and changed-path scenarios keep exact
262
+ evidence. Dynamic conditions, mutually exclusive configuration unions, actual
263
+ runs, and remote required checks remain explicit unknowns; a workflow file
264
+ alone never establishes a passing gate.
265
+
252
266
  Need measured coverage? Run Weavatrix Quality first, then `coverage_map`.
253
267
  The host will not invent percentages from an empty search path. Quality
254
268
  publishes `.weavatrix/coverage/lcov.info`. Agent schema verdicts are a
@@ -302,12 +316,12 @@ coding agent
302
316
  |
303
317
  | MCP over stdio
304
318
  v
305
- weavatrix 1.16.4
319
+ weavatrix 1.17.2
306
320
  profile catalog · refresh · watcher · MCP framing
307
321
  |
308
322
  v
309
- weavatrix-rust 2.16.4
310
- typed graph · analysis · 64 product operations including n8n, Dify, agent packages, Mermaid, and Web3
323
+ weavatrix-rust 2.17.1
324
+ typed graph · analysis · 67 product operations including local CI, n8n, Dify, agent packages, Mermaid, and Web3
311
325
  ```
312
326
 
313
327
  This npm product owns MCP transport and native distribution. The
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.4",
4
- "weavatrixEngineVersion": "2.16.4",
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.2",
4
+ "weavatrixEngineVersion": "2.17.1",
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.4",
10
+ "version": "1.17.2",
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.4",
17
+ "version": "1.17.2",
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` /
@@ -19,7 +19,7 @@ cannot silently switch to another repository. Pass an explicit
19
19
  - [`get_community`](tools/get_community.md) — Return one coupling community (containment and package edges excluded).
20
20
  - [`list_communities`](tools/list_communities.md) — List deterministic coupling communities (containment and package edges excluded).
21
21
  - [`module_map`](tools/module_map.md) — Production folder map at a requested directory depth.
22
- - [`build_graph`](tools/build_graph.md) — Workspace, target and runner topology from manifest evidence.
22
+ - [`build_graph`](tools/build_graph.md) — Typed workspace, target, configuration, task, and runner topology from captured manifest evidence.
23
23
  - [`search_code`](tools/search_code.md) — Literal or Rust-regex repository search without ripgrep.
24
24
  - [`read_source`](tools/read_source.md) — Bounded source context by node or repository path.
25
25
  - [`inspect_symbol`](tools/inspect_symbol.md) — Definition, direct relationships and source evidence.
@@ -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) — Nested observed components, declared memberships, complete edge totals, and typed cycle witnesses 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.
@@ -0,0 +1,28 @@
1
+ # `architecture_inventory`
2
+
3
+ Observed package, nested component, declared-membership, and typed edge
4
+ evidence. No style label or 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
+ Component identities distinguish paths that sanitize alike, including the
12
+ repository root. Files can retain every matching declared membership. Edge
13
+ totals and component SCC/cycle witnesses are computed before presentation
14
+ limits, and each recovered fact keeps its immutable source evidence. A cycle in
15
+ the component quotient is reported as architecture, not as symbol recursion.
16
+
17
+ ## Inputs
18
+
19
+ - `output_format` (`text`, `json`, or `structured`).
20
+ - `expected_repository` (optional active-root guard).
21
+
22
+ ## Minimal call
23
+
24
+ ```json
25
+ {"name":"architecture_inventory","arguments":{"output_format":"text"}}
26
+ ```
27
+
28
+ The live MCP `tools/list` schema is authoritative.
@@ -1,10 +1,14 @@
1
1
  # `build_graph`
2
2
 
3
- Workspace, target and runner topology from manifest evidence.
3
+ Typed workspace, package, target, task, and runner topology from captured
4
+ manifest evidence.
4
5
 
5
6
  ## When to use
6
7
 
7
- Inspect workspace members, targets, aggregators, and runner topology extracted from manifests.
8
+ Inspect Cargo, npm/TypeScript, Go, and Python workspace members, targets,
9
+ aggregators, entry points, configuration variants, and runner topology. The
10
+ same model feeds architecture and local CI linkage; source evidence is captured
11
+ with the analyzed snapshot rather than reread from a changing worktree.
8
12
 
9
13
  ## Inputs
10
14
 
@@ -24,3 +28,7 @@ Inspect workspace members, targets, aggregators, and runner topology extracted f
24
28
 
25
29
  Use `output_format:"text"` for compact agent interaction. The live MCP
26
30
  `tools/list` schema remains authoritative for this installed version.
31
+
32
+ `max_members` limits presentation only. Returned totals still describe the
33
+ complete recovered model, and the result reports an incomplete page instead of
34
+ pretending omitted members do not exist.
@@ -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.