weavatrix 0.2.8 → 0.2.9
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 +82 -27
- package/SECURITY.md +30 -7
- package/docs/releases/v0.2.9.md +123 -0
- package/package.json +3 -3
- package/skill/SKILL.md +12 -7
- package/src/analysis/duplicate-groups.js +11 -2
- package/src/analysis/endpoints.js +209 -9
- package/src/mcp/catalog.mjs +13 -10
- package/src/mcp/evidence-snapshot.package-graph.mjs +257 -3
- package/src/mcp/graph-context.mjs +36 -1
- package/src/mcp/tools-actions.mjs +170 -36
- package/src/mcp/tools-context.mjs +25 -8
- package/src/mcp/tools-endpoints.mjs +162 -0
- package/src/mcp/tools-graph.mjs +1 -1
- package/src/mcp/tools-health.mjs +70 -41
- package/src/mcp/tools-source.mjs +3 -3
- package/src/mcp-server.mjs +30 -2
- package/src/mcp-source-tools.mjs +10 -7
- package/docs/releases/v0.2.8.md +0 -82
package/docs/releases/v0.2.8.md
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# Weavatrix 0.2.8
|
|
2
|
-
|
|
3
|
-
## Trust before surface area
|
|
4
|
-
|
|
5
|
-
0.2.8 is a correctness release. It does not add another MCP tool. It fixes false positives and
|
|
6
|
-
evidence hand-off failures found while running 0.2.7 against current JavaScript, TypeScript, Python,
|
|
7
|
-
and Rust repositories.
|
|
8
|
-
|
|
9
|
-
## Dead-code liveness
|
|
10
|
-
|
|
11
|
-
- A production declaration is no longer classified as `test-only` merely because the same identifier
|
|
12
|
-
appears in tests. Same-file occurrences beyond the indexed declaration count as conservative
|
|
13
|
-
production-use evidence.
|
|
14
|
-
- Exact positive point-query results are now revision/config fingerprint checked and consumed by
|
|
15
|
-
`find_dead_code`. If `inspect_symbol` found a reference, the symbol cannot remain in the dead queue.
|
|
16
|
-
- Complete exact zero-reference point results can still raise internal candidates to strong static
|
|
17
|
-
evidence. Partial, stale, malformed, or configuration-drifted cache entries fail closed.
|
|
18
|
-
|
|
19
|
-
These remain review candidates. Static absence never authorizes automatic deletion.
|
|
20
|
-
|
|
21
|
-
## Python manifest ownership
|
|
22
|
-
|
|
23
|
-
Python dependency collection now discovers nested `requirements*.txt`, `requirements/*.txt`,
|
|
24
|
-
`pyproject.toml`, and `Pipfile` manifests. Each import is judged against its nearest ancestor Python
|
|
25
|
-
manifest. A nested service therefore sees its own declared dependencies, while unrelated sibling code
|
|
26
|
-
cannot inherit them accidentally.
|
|
27
|
-
|
|
28
|
-
The conventional root filename `test.py` is now classified as test code by both path classification
|
|
29
|
-
and dependency severity logic.
|
|
30
|
-
|
|
31
|
-
## Endpoint false-positive guards
|
|
32
|
-
|
|
33
|
-
Endpoint extraction masks line and block comments while preserving source offsets. Commented-out
|
|
34
|
-
Express/Hono/Go/Rust/Java-style routes no longer enter the inventory.
|
|
35
|
-
|
|
36
|
-
Direct object routes also require an executable handler value. Primitive path maps such as
|
|
37
|
-
`{'/.codex': 'claude'}` are configuration data, not `ANY /.codex` endpoints.
|
|
38
|
-
|
|
39
|
-
## Rust graph metadata
|
|
40
|
-
|
|
41
|
-
Rust functions, methods, structs, enums, traits, types, modules, constants, statics, macros, and unions
|
|
42
|
-
now carry concrete `symbol_kind` values. Impl/trait functions retain `member_of`, visibility, selection
|
|
43
|
-
ranges and structural owner/member edges; public module declarations retain exported state.
|
|
44
|
-
|
|
45
|
-
This improves graph navigation and dead-code classification but remains tree-sitter parser evidence.
|
|
46
|
-
0.2.8 does not bundle rust-analyzer and does not claim exact Rust references.
|
|
47
|
-
|
|
48
|
-
## Mixed-language retrieval and compact proof
|
|
49
|
-
|
|
50
|
-
`query_graph` and workflows that reuse its seed ranking constrain explicit Rust, Python, TypeScript,
|
|
51
|
-
JavaScript, Go, Java, or C# questions to matching source extensions. Multiple explicitly named
|
|
52
|
-
languages form a union; exact `seed_files` continue to be the strongest pinning mechanism.
|
|
53
|
-
|
|
54
|
-
Compact `verified_change` output now lists each selected symbol's exact/bounded reference occurrence
|
|
55
|
-
count, referenced-file count, inbound-container count, and up to three inbound names. The short form
|
|
56
|
-
therefore cannot hide that a supposedly unused symbol has a known caller.
|
|
57
|
-
|
|
58
|
-
## Scope and remaining competitor gaps
|
|
59
|
-
|
|
60
|
-
The local engine still has no vector embedding search, runtime trace ingestion, clone-to-ADR layer,
|
|
61
|
-
Python/Rust/Java LSP integration, whole-program CFG, value propagation, or taint engine. Those are
|
|
62
|
-
separate precision projects, not claims attached to this patch release. Independent end-to-end
|
|
63
|
-
competitor scores also remain missing until collected under the blind benchmark protocol.
|
|
64
|
-
|
|
65
|
-
## Verification
|
|
66
|
-
|
|
67
|
-
- Full Node test suite: 487 tests, 484 passed, 3 platform skips, 0 failed.
|
|
68
|
-
- Deterministic language/cross-repository/lifecycle benchmark: `PASS`.
|
|
69
|
-
- Real pinned corpus: 6 of 6 repositories `PASS` across TypeScript, JavaScript, Python, Go, Java,
|
|
70
|
-
and Rust.
|
|
71
|
-
- Agent routing microbenchmark: 3 of 3 expected symbols, 0 false positives. Independent competitor
|
|
72
|
-
comparison remains `INCOMPLETE` because no blind same-task result was supplied.
|
|
73
|
-
- npm package dry-run succeeds for `weavatrix@0.2.8`; the portable MCPB validates, initializes its
|
|
74
|
-
staged TypeScript precision provider, passes the repository-plugin execution guard, and packs.
|
|
75
|
-
- Direct dogfood checks confirm the original regressions: local `USER_HEADER` is not dead/test-only;
|
|
76
|
-
nested `autobot/requirements.txt` covers `slack_bolt`; commented `DELETE /:id` and primitive
|
|
77
|
-
`ANY /.codex` are absent; explicit Rust retrieval returns only `.rs` seeds.
|
|
78
|
-
|
|
79
|
-
## Tool catalog
|
|
80
|
-
|
|
81
|
-
0.2.8 exposes the same 36 MCP tools as 0.2.7. The default offline profile exposes 33; pinned exposes
|
|
82
|
-
30. Network tools remain absent from offline and pinned profiles.
|