weavatrix 0.2.10 → 0.2.12

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
@@ -49,6 +49,100 @@ Weavatrix answers questions a text index cannot:
49
49
  impact, bounded call-argument flow, Git graph drift, architecture/duplicate/API ratchets, and
50
50
  affected-test evidence.
51
51
 
52
+ ## Worked examples
53
+
54
+ These are representative sequences from local dogfooding, not fabricated chat transcripts. Counts
55
+ describe the observed repository snapshots and will move with the code.
56
+
57
+ ### Understand an unfamiliar backend without reading it linearly
58
+
59
+ ```text
60
+ Question: Where does an attack-mitigation request go?
61
+
62
+ module_map
63
+ -> production territories and strongest module dependencies
64
+ list_endpoints
65
+ -> 462 routes observed in a 1,076-file backend snapshot
66
+ trace_endpoint
67
+ -> composed router mount -> controller -> service -> task/messaging
68
+ -> bounded call-site excerpts around decisive edges
69
+ ```
70
+
71
+ Use `module_map` for the initial application shape, then switch to the exact endpoint or symbol. Do
72
+ not lead with a broad natural-language `query_graph` when the route or identifier is already known.
73
+
74
+ ### Check whether a backend handler is used by another repository
75
+
76
+ ```text
77
+ Question: Can this handler be removed?
78
+
79
+ list_known_repos -> trace_api_contract
80
+ backend endpoints observed: 163
81
+ client callsites joined: 267 across two registered clients
82
+ handler liveness: NOT_DEAD_EXTERNAL_USE
83
+ unresolved dynamic URLs: POSSIBLE_EXTERNAL_USE / UNKNOWN
84
+ ```
85
+
86
+ This joins separately cached local graphs; it does not upload source. Medium/high-confidence
87
+ external use can keep a handler out of the dead-code queue, while dynamic or ambiguous calls remain
88
+ explicitly incomplete evidence.
89
+
90
+ ### Change one method with an evidence trail
91
+
92
+ ```text
93
+ inspect_symbol -> context_bundle -> get_dependents -> coverage_map
94
+ -> edit the bounded workset
95
+ -> verified_change phase=verify base_ref=<merge-base>
96
+ ```
97
+
98
+ On an observed BranchPilot diff, `change_impact` separated removed methods/signatures from additive
99
+ exports and ranked a 98-node radius without collapsing runtime and type-only coupling. If measured
100
+ coverage, the architecture contract, or requested tests are missing, the final state is `UNKNOWN`,
101
+ not a cosmetic pass.
102
+
103
+ ### Review Health and clone debt without auto-deleting code
104
+
105
+ ```text
106
+ run_audit category=dependencies debt=all
107
+ -> missing direct dependency (observed: mongodb)
108
+ -> lockfile drift and unresolved imports
109
+ run_audit debt=all
110
+ -> runtime cycles separated from compile/type-only coupling
111
+ find_duplicates
112
+ -> clone families and same-name divergence
113
+ -> homogeneous router boilerplate suppressed by default
114
+ ```
115
+
116
+ Every dead-code, orphan, dependency and duplicate item remains review evidence. Confirm framework
117
+ conventions and source use before editing; Weavatrix does not auto-delete or merge findings.
118
+
119
+ ## Benchmarks
120
+
121
+ Two different gates ship in the repository:
122
+
123
+ - `npm run benchmark` is a reproducible golden suite for TypeScript, JavaScript, Python, Go, Java
124
+ and Rust, plus cross-repository HTTP matching, framework conventions and the MCP graph lifecycle.
125
+ - `npm run benchmark:real` compares revision-pinned local application snapshots with the checked-in
126
+ 0.2.1 relation baseline. It fails on unexplained signal loss; `MISSING`, `STALE` and `UNBASELINED`
127
+ remain incomplete, not green.
128
+
129
+ Latest local release run (Windows x64, Node 24.15.0, July 18, 2026):
130
+
131
+ | Gate | Result | Selected evidence |
132
+ |---|---:|---|
133
+ | Six language fixtures | 6/6 PASS | exact symbols/edges and complete edge provenance |
134
+ | Cross-repo fixture | PASS, 431.79 ms cold | endpoint match, typed wrapper, external use, affected screen |
135
+ | Lifecycle | PASS | `full -> incremental -> none -> reconnect/none`; 1,376-byte text response |
136
+ | Total fixture cold build | 1.31 s | all six language graphs; 6.4 KB bounded report |
137
+ | Real-repository baseline | 6/6 PASS | TS, JS, Python, Go, Java and Rust snapshots |
138
+
139
+ Real snapshots ranged from 473 nodes / 1,165 edges in 0.22 s (Go) to 8,192 nodes / 21,814 edges
140
+ in 9.44 s (TypeScript). The Java snapshot built 7,143 nodes / 23,708 edges in 2.61 s, including
141
+ receiver-aware cross-file calls. These are regression measurements on one machine, not competitor
142
+ benchmarks or universal latency claims. See [benchmark/cases.mjs](benchmark/cases.mjs),
143
+ [benchmark/real-repositories.json](benchmark/real-repositories.json), and run the commands above to
144
+ reproduce them on your own repositories.
145
+
52
146
  ## Quick start
53
147
 
54
148
  Requires Node ≥ 18. One command:
@@ -0,0 +1,45 @@
1
+ # Weavatrix 0.2.12
2
+
3
+ ## Agent workflow routing and cross-repository API clarity
4
+
5
+ 0.2.12 incorporates a second hands-on evaluation across Weavatrix, BranchPilot,
6
+ controller-rest-api and its registered clients. It does not reduce the product to a short list: the
7
+ skill still maps all 38 methods across application understanding, graph views, Health, dependencies,
8
+ dead code, duplicates, coverage, history, endpoints, impact, architecture and Hosted governance.
9
+
10
+ The skill now makes three high-leverage routing decisions explicit:
11
+
12
+ - prefer `trace_api_contract` over disconnected per-repository searches when a backend change can
13
+ affect registered clients;
14
+ - use `change_impact` as a diff-risk classifier that separates additive exports from
15
+ signature/body/removal risk, runtime/type-only radius and honest coverage evidence;
16
+ - treat `verified_change` as a proof layer around an agent's edit, never a hidden source editor or
17
+ auto-fix.
18
+
19
+ The one-symbol refactor workflow now carries exact context, dependents and coverage through the
20
+ post-edit `verified_change` ratchet. The public site also surfaces cross-repository API contract
21
+ tracing as a first-class graph capability rather than hiding it under generic multi-repository mode.
22
+
23
+ ## Worked examples and public benchmark evidence
24
+
25
+ The README and public site now show four concrete dogfood scenarios instead of relying on feature
26
+ names alone: orienting inside a 1,076-file backend and tracing one of 462 observed routes; proving
27
+ external handler use across three registered repositories; classifying a BranchPilot change before
28
+ editing; and turning Health plus clone evidence into a bounded review queue. The examples preserve
29
+ uncertainty for dynamic URLs, advisory coverage and review-required findings.
30
+
31
+ The public benchmark section reports reproducible fixture and revision-pinned real-repository
32
+ regression gates with dates, environment, commands and explicit limits. It does not present these
33
+ machine-dependent local measurements as competitor benchmarks. A lightweight CSS motion sequence
34
+ illustrates the graph-to-verdict workflow and respects `prefers-reduced-motion`; no synthetic product
35
+ screenshots are used.
36
+
37
+ ## Compatibility and verification
38
+
39
+ - Runtime implementation, tool names, schemas and result envelopes are unchanged from 0.2.11.
40
+ - Hosted sync payload v2/v3 and architecture-contract transport are unchanged.
41
+ - Skill inventory: all 38 current methods are routed; 0 missing.
42
+ - Full Node suite baseline: 506 tests, 503 passed, 3 platform skips, 0 failed.
43
+ - Six-language fixture, cross-repository and lifecycle benchmark: `PASS`.
44
+ - Six locally available revision-pinned real-repository baselines: `PASS`.
45
+ - Release metadata, 99-character MCP Registry description and MCPB validation: `PASS`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "weavatrix",
3
- "version": "0.2.10",
3
+ "version": "0.2.12",
4
4
  "type": "module",
5
5
  "description": "Local repository intelligence MCP for AI coding agents: reusable architecture graph for fast application understanding, Health, dead code, clones, history, blast radius and architecture safeguards.",
6
6
  "author": "Sergii Ziborov <sergii.ziborov@gmail.com>",
@@ -26,7 +26,7 @@
26
26
  "skill",
27
27
  "scripts/run-agent-task-benchmark.mjs",
28
28
  "docs/agent-task-benchmark.md",
29
- "docs/releases/v0.2.10.md",
29
+ "docs/releases/v0.2.12.md",
30
30
  "README.md",
31
31
  "SECURITY.md",
32
32
  "LICENSE"
package/skill/SKILL.md CHANGED
@@ -59,16 +59,21 @@ projection; expand only when the answer requires it.
59
59
  - **Trace one endpoint through the application**: `trace_endpoint` for route -> handler -> bounded
60
60
  downstream call flow with edge-centered excerpts.
61
61
  - **Trace an API contract across repositories**: `list_known_repos` -> `trace_api_contract` with an
62
- explicit backend/client set; inspect each graph reconciliation state before using the verdict.
62
+ explicit backend/client set; prefer this over separate per-repository endpoint/search passes when
63
+ a backend change may affect registered clients, and inspect each graph reconciliation state before
64
+ using the verdict.
63
65
  - **Measure one symbol's transitive blast radius**: `get_dependents`.
64
- - **Review the current branch, diff, or external patch**: `change_impact`.
66
+ - **Review the current branch, diff, or external patch**: `change_impact`; it distinguishes additive
67
+ exports from signature/body/removal risk and separates runtime/type-only radius plus available
68
+ measured coverage or explicitly static reachability.
65
69
  - **Compare structural graph revisions**: `graph_diff base_ref=<merge-base>` for module edges, cycles,
66
70
  orphans and lost callers; without `base_ref`, compare the last rebuild snapshots.
67
71
  - **Use behavioral history**: `git_history` for churn x connectivity, hidden co-change and expected
68
72
  test/source coupling from bounded local Git numstat evidence.
69
73
  - **Plan and verify a serious change or pre-commit gate**: `verified_change phase=plan` -> edit ->
70
74
  `verified_change phase=verify base_ref=<same-ref>`. It composes exact context, impact, graph,
71
- architecture, duplicate, optional API and test proof into one PASS/BLOCKED/UNKNOWN envelope.
75
+ architecture, duplicate, optional API and test proof into one PASS/BLOCKED/UNKNOWN envelope. It is
76
+ a proof layer around an agent's edit, not a source editor or hidden auto-fix.
72
77
 
73
78
  ### Health, debt and testing scenarios
74
79
 
@@ -110,6 +115,9 @@ TypeScript/JavaScript overlay. Java receiver-type call edges are parser-resolved
110
115
 
111
116
  ## Ground rules
112
117
 
118
+ - **No hidden source mutation**: Weavatrix builds derived graph/cache artifacts and can run explicitly
119
+ authorized tests, but it does not edit repository source, auto-delete debt, merge clones, or rewrite
120
+ architecture policy. The coding agent remains responsible for the change and its tests.
113
121
  - **Evidence, not verdicts**: treat audit, hub, orphan and duplicate output as hypotheses. Confirm a
114
122
  finding in source and check framework/runtime conventions before deleting, merging or redesigning
115
123
  code. A same-name/different-body pair is a divergence candidate, not proof of duplication.
@@ -195,8 +203,9 @@ TypeScript/JavaScript overlay. Java receiver-type call edges are parser-resolved
195
203
  - **Orient in the configured repo**: `module_map` → `list_communities` → `god_nodes`. Hub ranking
196
204
  is production-only by default; use `include_classified:true` only when tests/generated/build
197
205
  surfaces are deliberately part of the question.
198
- - **Refactor safety for one symbol**: `inspect_symbol` → `get_dependents` → `coverage_map` (low coverage × many
199
- dependents ⇒ write tests first) → `read_source`.
206
+ - **Refactor safety for one symbol**: `inspect_symbol` → `context_bundle` → `get_dependents`
207
+ `coverage_map` (low coverage × many dependents ⇒ write tests first) → edit →
208
+ `verified_change phase=verify base_ref=<merge-base>`.
200
209
  - **Performance review**: `hot_path_review` → inspect its local evidence with `read_source` → use
201
210
  `get_dependents` for change risk → confirm with the repository's profiler/benchmark before editing.
202
211
  - **Pre-PR review of your current changes**: `change_impact` (auto merge-base; includes uncommitted
@@ -1,53 +0,0 @@
1
- # Weavatrix 0.2.10
2
-
3
- ## Broad graph workflows without losing graph depth
4
-
5
- 0.2.10 is a graph-quality, positioning and agent-routing patch. It does not narrow Weavatrix to text search, a
6
- single blast-radius tool, or three fixed workflows. The package, MCP registry metadata, portable
7
- MCPB, skill, README and public site now describe one reusable graph exposed through 38 methods and
8
- many task-specific projections: module/community/hub navigation, exact symbols and paths, local and
9
- cross-repository API flow, symbol/diff impact, structural and behavioral history, Health,
10
- dependencies, vulnerability evidence, dead code, clones, coverage, hot paths, proof-carrying change
11
- verification, intended-architecture ratchets, local multi-repository work and explicit Hosted
12
- governance.
13
-
14
- The skill's intent router now maps each independent scenario to the smallest sufficient graph view or
15
- analysis before lower-level source search. `module_map` is explicitly the first unfamiliar-repository
16
- orientation view, `run_audit` is the core production-first Health review, and `verified_change` is
17
- explicitly the pre-commit proof-carrying safeguard. Text search remains a useful source check, not the
18
- product center.
19
-
20
- ## Java call graph and Repo Lens baseline
21
-
22
- - Java field, parameter, local and static receiver types now resolve project-internal cross-file
23
- method calls. Overloads are selected by argument arity; ambiguous methods and external or
24
- same-basename impostor types fail closed. Call-site lines remain available to bounded context and
25
- endpoint traces, while hub ranking continues to count unique neighbors rather than occurrences.
26
- - A release regression test now asserts that the default offline catalog retains all 21 portable
27
- repository-analysis methods inherited from Repo Lens. Its Electron-only `app_action` and
28
- `app_job_status` process-control bridge is not misrepresented as an analyzer method: rebuild,
29
- audit, advisory refresh, duplicate review and coverage generation/mapping retain direct bounded
30
- MCP paths, while the persistent Electron job journal remains app-specific orchestration.
31
- - The skill routes every one of the 38 current methods into a concrete scenario, so graph, history,
32
- Health, duplicates, dead code and architecture governance remain first-class product surfaces.
33
- - The unconfigured-architecture starter now proposes product-code territories only: tests, docs,
34
- benchmarks, generated files and repository configs are filtered out, while direct source-root
35
- files are grouped without overlapping deeper modules. It remains a source-free owner-review
36
- proposal and is never saved or enforced automatically.
37
-
38
- ## Compatibility and data boundary
39
-
40
- Tool names, MCP schemas, result envelopes and Hosted sync payloads are unchanged. Java graph nodes
41
- and edges gain additive local `parameter_count` and `javaResolution` evidence; existing readers can
42
- ignore those fields, and the Hosted payload allowlist remains unchanged. The default profile still
43
- exposes 34 local tools and no HTTP tools. Hosted remains separately opt-in, preview-confirmed and
44
- wire-compatible with payload v3.
45
-
46
- ## Verification
47
-
48
- - Full Node suite: 506 tests, 503 passed, 3 platform skips, 0 failed.
49
- - Six-language, cross-repository, framework and MCP lifecycle benchmark: `PASS`.
50
- - Six available real-repository baselines, including the Java call-graph case: 6/6 `PASS`.
51
- - Release metadata consistency and JSON syntax: `PASS`.
52
- - Repo Lens portable analyzer parity: 21/21 methods present in the default offline profile.
53
- - Hosted API and sync-payload schemas are unchanged.