Commit graph

10 commits

Author SHA1 Message Date
trvon
40bea78f9a
fix(cpp): recover receivers from local initialization
Some checks failed
build / build-linux (push) Has been cancelled
build / build-macos (push) Has been cancelled
build / release (push) Has been cancelled
Recover parenthesized object declarations only when their apparent parameters resolve to earlier visible value bindings. Respect recovered scope, alias hiding and prototype shadowing instead of manufacturing receiver types.

Preserve heuristic confidence and source provenance. Add positive and negative regressions plus a three-repeat labeled initialization fixture to the quality gate.

Validation: cargo fmt --check and ./scripts/quality-gate.sh passed.
2026-10-11 18:19:08 -06:00
trvon
d292b9f3f2
feat: add brick_callers and brick_uncalled caller-status queries
Agents asking "is this function used?" get resolved, unknown, or
unreferenced per function instead of a bare zero in-degree. Unknown lists
why callers may exist: same-name unresolved call sites (excluding foreign
receivers and macros), name references (callbacks, address-taken, macro
bodies), virtual/trait-impl/external-base/outside-class members, framework
attributes, implicit protocol invocations, entry points, test code,
incomplete parses, and, unless assume_closed_world is set, exported or
external-linkage functions. Unreferenced is a review candidate with an
explicit heuristic/compiler evidence basis, never a dead-code proof.

The queries are read-only over validated schema-4 models and return
complete canonical nodes and edges plus metrics.resolution coverage.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 15:12:13 -06:00
trvon
48436f35b7
feat: resolve C/C++ and Rust calls across files and typed receivers
C++ calls now resolve through the include closure: header prototypes pair
with definitions in other translation units, lookup walks class (including
in-repository bases), namespace, and `using` scopes outward, and static or
anonymous-namespace definitions stay file-local. Member calls resolve only
through explicitly declared receiver types (parameters, locals, fields,
this, smart pointers, aliases); template parameters stay unknown. Calls
hidden by the most vexing parse are recovered, casts are no longer calls,
reference-returning and conversion-operator declarations are named
correctly, and benign `= {}` default-argument recoveries no longer drop
prototypes or flag files.

Rust method calls resolve through a crate-wide impl index for self, typed
parameters and lets, struct fields, Self-returning constructors, dyn
traits, and Type::/Self:: associated calls, with foreign imports and
generics never guessed. Calls inside expression macros are re-parsed.

Every unresolved call records source.unresolved-reason, weaker resolutions
record source.resolution/source.extraction, and metrics.resolution reports
per-language call-site coverage. Declarations gain facts consumed by
caller-status queries (qualified names, linkage, virtual, trait impls,
attributes, name references, parse-incomplete). C++/Rust External targets
include the reason in their identity; out-of-line C++ methods keep their
IDs.

Linear node/edge scans and per-node ancestor walks are replaced with
indexes, cutting a YAMS scan from 575 s to 23 s.

New labeled cpp_xtu and rust_methods corpora run three times in the
quality gate.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-22 15:11:04 -06:00
trvon
050b1b105b
feat: support explicit cross-worktree structural diffs
Some checks failed
build / build-linux (push) Successful in 1m2s
build / build-macos (push) Has been cancelled
build / release (push) Has been cancelled
2026-09-05 12:34:35 -06:00
trvon
01836ba3f5
feat: resolve Rust grouped imports and module aliases
Some checks failed
build / build-linux (push) Successful in 1m9s
build / build-macos (push) Has been cancelled
build / release (push) Has been cancelled
Expand module-scoped use trees into exact import paths and bindings. Resolve renamed public symbols and module aliases without global-name fallback; keep unknown and block-local bindings conservative.

Add positive and negative integration tests and an exact three-repeat import benchmark to the quality gate.
2026-09-04 23:11:19 -06:00
trvon
3fec92f10c
feat: make source graphs accurate across C++ JS TS Dart and Rust
Some checks failed
build / build-linux (push) Successful in 1m3s
build / build-macos (push) Has been cancelled
build / release (push) Has been cancelled
Use pinned grammar frontends and scoped heuristic resolution to recover declarations and prevent false dependencies. Constrain filesystem traversal and normalize Fold root aliases.

Add exact multilingual fixtures, seventeen regression tests, and a three-repeat benchmark to the quality gate.
2026-09-04 23:05:06 -06:00
trvon
a8c7cc22e5
test: add reproducible architecture benchmark campaign 2026-09-01 18:25:40 -06:00
trvon
f26d541181
chore: remove tracked Python bytecode
Some checks failed
build / build-linux (pull_request) Successful in 35s
build / build-macos (pull_request) Has been cancelled
build / release (pull_request) Has been cancelled
2026-08-30 14:26:22 -06:00
trvon
2f162372c2
bench: fingerprint benchmark working trees 2026-08-30 14:26:22 -06:00
trvon
99c1790464
chore: initial import of brick (evidence-aware code structure visualization) 2026-08-30 09:17:34 -06:00