v0.3.11
Weavatrix 0.3.11
0.3.11 teaches the graph two new surfaces. SQL schemas become first-class graph
citizens with honest, evidence-gated dead-code verdicts, and Solidity joins the
parsed languages at zero dependency cost. The weavatrix.com site moved to its
own repository, so the engine repo now ships engine only.
SQL: the graph reaches the database schema
No SQL grammar ships in the pinned tree-sitter-wasms, so .sql indexing runs
on a dependency-free statement scanner (a new textOnly language-module class)
built for the graph's needs — symbols and references, not SQL semantics.
String literals and comments are blanked before structural scanning, so quoted
text can never fabricate a reference.
CREATE TABLE/VIEW/FUNCTION/PROCEDURE/INDEX/TRIGGERbecome graph
symbols; table columns (includingALTER TABLE ADD COLUMN) are member
symbols withmember_of, and tables carry their columns asfield_types.- References resolve inside
.sqlfiles (a view'sSELECT, an index'sON
table, a trigger'sEXECUTE FUNCTION, foreign-keyREFERENCES) — and, the
real point, from application code: literal SQL found in string literals of
any indexed language links the enclosing function to the table it queries.
change_impactandget_dependentson a table now answer "which code
touches this?" - Dead-code verdicts stay honest. Schema objects are judged only when the
repository demonstrably uses literal SQL the scanner can read — an
ORM-driven repo produces silence, not guesses. Columns of a
SELECT *-consumed table are never judged by name, and indexes/triggers
(DB-engine surface) are never judged at all. A flagged column reports
"no SQL statement in the indexed sources references it".
Solidity
The tree-sitter-solidity grammar already shipped inside the pinned
tree-sitter-wasms package — 0.3.11 registers it (and pins its SHA-256 in the
parser-artifact allowlist), so Solidity support adds zero new dependencies.
Contracts, interfaces, libraries, functions, constructors, modifiers, events,
errors, structs, enums and state variables are extracted with visibility and
membership; is inheritance, modifier invocations, emit, new Contract()
and using X for Y all feed the call/heritage resolvers. Imports resolve
through relative paths, Foundry remappings (remappings.txt / foundry.toml)
and root-anchored specs; npm-style specs (@openzeppelin/...) are recorded as
external dependencies. .sol files share directory scope like Go/C#/Rust,
which makes Solidity's plain import "./Base.sol" — a statement that names no
symbols — resolvable for siblings without guessing.
extractorSchemaV 6 → 7; cached graphs rebuild once, automatically.
Repository
The weavatrix.com landing site (pages, Cloudflare Worker config, deploy
workflow and its asset checks) moved byte-identically to the separate
weavatrix-site repository, removing ~1.2 MB of page assets from the engine
repo. The MCPB icon the site used to own is vendored at mcpb/icon.png; the
published npm package contents are unchanged.
Full Changelog: v0.3.10...v0.3.11