Skip to main content

astria 1.4.0: scoped resolution and explicit uncertainty

· 3 min read

1.4.0 improves source resolution, reports ambiguous query seeds, and keeps graph refreshes complete across merges. It also adds declaration coverage, source redaction, and per-file semantic diagnostics. The release pipeline builds and verifies platform packages before publishing; check the GitHub release for publication status.

Resolve supported bindings without guessing​

Typed receivers stay within their function or block, annotated locals parse correctly, and exact TypeScript path aliases resolve to their source files. Unambiguous instance-field assignments can supply type evidence. Conflicting, deleted, computed-unknown, static, or shadowed bindings remain unresolved. These relationships are source-derived evidence, not compiler proof of runtime dispatch.

Symbol identity preserves punctuation-sensitive spelling, and member matching retains exact spelling. Refresh after upgrading and use current node IDs rather than retaining IDs from an older extraction.

Choose an exact query seed​

A repeated name no longer silently chooses a declaration. CLI and MCP responses report candidate IDs and locations; select the intended ID and query again. JSON retains complete ambiguousSeeds and unresolvedSeeds, while rendered diagnostics fit the text budget. If no explicit seed resolves, the query returns a miss instead of substituting keyword results. See the query reference.

Complete refreshes and broader extraction​

The post-merge hook checks the complete ORIG_HEAD..HEAD range, including fast-forward pulls. Graph-input changes can trigger refreshes even when the last incoming commit has no source edits. Reinstall hooks after upgrading to receive the current scripts.

Extensionless scripts are discovered through bounded shebang reads, including supported versioned interpreters. Kotlin aliases, C# delegates, Dart typedefs, and Swift macros gain declaration handling; type references and macro calls resolve only with uniquely supported evidence. The viewer now retains multiple relationship labels for the same neighbor.

Redaction and visible semantic coverage​

Credential-shaped source text is redacted before retention and semantic requests; credential literals do not become reference identities. Pattern detection does not replace deciding which repository content may be sent to a provider.

astria diagnose shows processed/total semantic chunks, cache status, and incomplete reasons for each file's last attempt. Incomplete enrichment still fails without publishing or caching partial semantic output as complete. The release also updates the TLS validation dependencies to address distrusted certificate paths. See the full changelog.

Upgrade​

After the package is published:

npm install -g @nodesify/astria@1.4.0
astria update .
astria hook install

The 1.4.0 documentation covers the current release. Older snapshots remain available through the version menu.