Repository navigation
v1.1.0
1.1.0 — 2026-10-06
- Preserve qualified symbol boundaries and import paths when resolving references; ambiguous candidates remain unresolved and inferred bindings retain
RESOLVEDevidence. Extraction cache v15 refreshes previously flattened targets. - Prefer exact implementation definitions for code-oriented queries, with scope and source metadata contributing to ranking.
- Name communities from source modules and packages; reports separately orient production code, documentation, and tests/benchmarks/examples, with source links and explicit relationship evidence.
- Propagate authoritative database decoding errors in analysis, clustering, hyperedge construction, and reports rather than silently discarding rows.
- Add 24 reserved questions on pinned Requests and Commander sources, a bounded iterative search baseline, and separate retrieval/build cost and provenance records. The new corpus and methods have not been evaluated.
- Simplify the README workflow and align architecture documentation with snapshot caching and reference evidence.
- Speculative graph nodes no longer claim a source file. A
stuborreferencenode exists precisely because no file defined the name, so it has no source locus; it previously borrowed whichever file referenced it first. That fabricated a file location for unresolved globals (a loneimport rusqlitebecamehealth.rs -> <first file to mention rusqlite>), producing 743 phantom file-to-file dependencies on this repo, four file "cycles" that do not exist in the source, and a falseFile:line inexplain. A whole-graph invariant pass clears stale loci on every run, so an incrementalupdateheals graphs built by earlier versions.explainnow reports(no source locus — unresolved name, no single owner)instead of naming a file that does not own the symbol. - Fewer false positives from test files.
is_test_filedid not recognise__tests__/,.test.ts, or.spec.ts, so JS/TS test helpers were scored as production code: on this repo a test-onlyassert()ranked as the #3 hub andtest_hubs_skippedstayed0. Hub detection, dead-code candidacy, and file-cycle inputs now use the same corrected matcher. astria health --min-score <n>exits non-zero when the score is belown, so the command works as a CI gate; it previously always exited 0, which made the obvious threshold check silently never fire.astria merge-gatechecks the extraction ruleset (extraction-current) alongside age and HEAD coverage. A graph reused from an older extraction cache passes both of those while reporting facts the current build would extract differently; the gate now fails and points atastria update ..- Ranking surfaces ignore non-code nodes. Hub concentration,
file_cycles,report"Key Files", "surprising connections", and the local embedding layer all exclude speculative nodes, so similarity between two unresolved bare names is no longer presented as structure. - Ground-truth note: measured on this repository, the fix removes 743 fabricated file dependencies, 4 false cycles, and 1,302
similar_toedges that joined two non-symbols; retrieval quality on the golden set is unchanged by these edits (MRR 0.5979 before and after, byte-identical), so this is a correctness and honesty change, not a ranking change.
What's Changed
- chore(release): lockfile entry for win32-x64-msvc@1.0.12 by @erictong0602 in #116
- fix(release): restore musl cdylib under rustc 1.99 (-crt-static) + homebrew 1.0.12 by @erictong0602 in #117
- chore(release): 1.1.0 — graph-evidence honesty and CI gates by @erictong0602 in #118
Full Changelog: v1.0.12...v1.1.0