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 +94 -0
- package/docs/releases/v0.2.12.md +45 -0
- package/package.json +2 -2
- package/skill/SKILL.md +14 -5
- package/docs/releases/v0.2.10.md +0 -53
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.
|
|
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.
|
|
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;
|
|
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` → `
|
|
199
|
-
dependents ⇒ write tests first) →
|
|
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
|
package/docs/releases/v0.2.10.md
DELETED
|
@@ -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.
|