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.
@@ -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.