Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
4f21079
fix: preserve hub candidates and bounded weighted trails
forhappy Sep 26, 2026
8a13928
fix: ground code graph comparisons in fresh source evidence
forhappy Sep 26, 2026
c30cf4a
fix: retain structural hubs from extensionless sources
forhappy Sep 26, 2026
c9478b1
docs: record final native audit verification
forhappy Sep 26, 2026
4befc05
fix: preserve bounded weighted paths and enforce search work limits
forhappy Sep 26, 2026
fe1a1fb
test: preregister source-first fd query and call witnesses
forhappy Sep 26, 2026
ea527d1
test: audit source-first fd relationships and preserve failures
forhappy Sep 26, 2026
b62534c
fix: preserve Rust receiver shadowing and binding lifetimes
forhappy Sep 26, 2026
86958df
test: preregister natural-language tasks across five languages
forhappy Sep 26, 2026
1032fde
fix: preserve query subjects in agent answers
forhappy Sep 26, 2026
152efdd
bench: preregister multilingual MCP graph questions
forhappy Sep 26, 2026
47767e8
fix: restore MCP communities and reject ambiguous neighbors
forhappy Sep 26, 2026
7b2430e
fix: filter MCP relations before grouping neighbors
forhappy Sep 26, 2026
7c554c2
bench: define identity-based hub navigation diagnostic
forhappy Sep 26, 2026
e3652ae
bench: preserve virtual environment in hub follow-ups
forhappy Sep 26, 2026
6c84f44
fix: preserve MCP hub identity for direct navigation
forhappy Sep 26, 2026
11d731e
bench: add multilingual MCP path and failure diagnostics
forhappy Sep 26, 2026
9e21b0d
bench: add separate label-input MCP path comparison
forhappy Sep 26, 2026
fb42bb5
fix: preserve bounded MCP path identities and source anchors
forhappy Sep 27, 2026
b57f436
bench: audit hub source roles and connectivity explanations
forhappy Sep 27, 2026
30a5570
feat: explain hub connectivity by relation and direction
forhappy Sep 27, 2026
7c70fbe
bench: register held-out five-language confirmation panel
forhappy Sep 27, 2026
7c859f2
bench: audit frozen confirmation panel and preserve oracle corrections
forhappy Sep 27, 2026
85caa54
fix: make ambiguous query answers explicit and actionable
forhappy Sep 27, 2026
a5f4fe8
fix: resolve Go control receivers without leaking shadowed types
forhappy Sep 27, 2026
3ec3732
bench: register panel A MCP community and hub comparison
forhappy Sep 27, 2026
a29f298
fix: prevent filesystem hierarchy from inventing programmatic route p…
forhappy Sep 27, 2026
0c805b6
test: reject unsupported route containment in production qualification
forhappy Sep 27, 2026
c20db15
fix: derive file-route parents from framework semantics
forhappy Sep 27, 2026
bb1451a
docs: record passing route-parent fixture qualification
forhappy Sep 27, 2026
22814e5
fix: resolve Java constructor method receivers from syntax evidence
forhappy Sep 27, 2026
d71c389
docs: record passing Java fixture qualification
forhappy Sep 27, 2026
9b63873
fix: resolve proven export bindings without discarding ambiguity
forhappy Sep 27, 2026
bc4374a
eval: register source-reviewed directed path development questions
forhappy Sep 27, 2026
eaba102
eval: record directed call-path parity and unresolved failures
forhappy Sep 27, 2026
fc066af
docs: record passing export query fixture qualification
forhappy Sep 27, 2026
44ef68e
fix: correct query continuation evaluation and limit help
forhappy Sep 27, 2026
1605019
fix: preserve Java varargs and overload invocation phases
forhappy Sep 27, 2026
232608e
test: freeze source-backed responsibility explanation questions
forhappy Sep 27, 2026
964a625
test: record responsibility query gaps and final qualification
forhappy Sep 27, 2026
62f60b2
test: freeze bounded source follow-up protocol
forhappy Sep 27, 2026
0b3eddd
test: record symmetric source follow-up evidence coverage
forhappy Sep 27, 2026
090140f
fix: preserve literal identifier anchors in natural discovery
forhappy Sep 27, 2026
6711e3a
fix: preserve ambiguity across exact declaration ranking evidence
forhappy Sep 27, 2026
b8b1cfd
test: record literal identifier query diagnostics and verification
forhappy Sep 27, 2026
234753e
test: freeze source-defined community task pairs across five languages
forhappy Sep 27, 2026
bef1d76
test: audit source-defined community task cohesion and boundaries
forhappy Sep 27, 2026
7a6d6c9
test: freeze community-to-neighbor navigation protocol
forhappy Sep 27, 2026
a1b631d
test: audit public community-to-neighbor navigation failures
forhappy Sep 27, 2026
8f5eb5e
fix: prefer exact symbols for MCP neighbor navigation
forhappy Sep 27, 2026
500a456
test: align MCP text assertion with shared compact renderer
forhappy Sep 27, 2026
6bc29e9
test: stabilize missing and extra neighbor audit ordering
forhappy Sep 27, 2026
2054373
test: record exact-first neighbor navigation gains and remaining gaps
forhappy Sep 27, 2026
f660408
test: freeze source-anchored public navigation workflow
forhappy Sep 27, 2026
c3d4cc2
test: audit source-assisted public navigation across five languages
forhappy Sep 27, 2026
6c70df5
audit: freeze indexed receiver development evaluation
forhappy Sep 27, 2026
18bb37e
fix: resolve Rust indexed receivers from source types
forhappy Sep 27, 2026
a07ab99
audit: verify Rust indexed receiver recovery
forhappy Sep 27, 2026
bde19bb
audit: freeze neighbor identity development protocol
forhappy Sep 27, 2026
d51698d
feat: retain exact neighbor identities and relationship evidence
forhappy Sep 27, 2026
8eb1bf0
audit: compare explicit neighbor identities and source-assisted follo…
forhappy Sep 27, 2026
98759ae
audit: freeze directed identity and depth-bound comparison
forhappy Sep 27, 2026
2cc0250
audit: register native label control for directed identity comparison
forhappy Sep 27, 2026
1ec835b
fix(query): preserve incomplete depth-bound trail results
forhappy Sep 27, 2026
47ad5eb
audit: compare directed identity workflows and depth diagnostics
forhappy Sep 27, 2026
4e6ccb2
audit: register native responsibility explanation comparison
forhappy Sep 27, 2026
3a58309
fix(explain): report source verification only for checked digests
forhappy Sep 27, 2026
bf7bca6
audit: compare native responsibility explanations and provenance
forhappy Sep 27, 2026
bac936f
audit: register member-source evidence and symmetric source control
forhappy Sep 27, 2026
6d4df99
feat(explain): retrieve bounded recorded member implementations
forhappy Sep 27, 2026
5131598
audit: compare member evidence with symmetric source windows
forhappy Sep 27, 2026
2ef40e9
audit: register exact source-constrained symbol lookup
forhappy Sep 27, 2026
9cc6ba9
feat(query): add exact symbol search with explicit source filters
forhappy Sep 27, 2026
7aef6a0
audit: compare constrained symbol lookup and source evidence
forhappy Sep 27, 2026
1c6f2a4
Register shared-state access evidence audit across five languages
forhappy Sep 27, 2026
9cdeab6
Audit shared-state evidence gaps across five real repositories
forhappy Sep 27, 2026
4a1be26
Register Rust state-access correction and fixed-protocol replay
forhappy Sep 27, 2026
56d7d55
Register paired public retrieval control for Rust state contacts
forhappy Sep 27, 2026
390406c
Emit qualified Rust field-access evidence with exact occurrences
forhappy Sep 27, 2026
b4b8300
Record verified Rust state-access recovery and paired MCP evidence
forhappy Sep 27, 2026
d1b701b
audit: register Java field scope compiler challenge
forhappy Sep 27, 2026
7164461
audit: verify Java field scope against compiler and paired graphs
forhappy Sep 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/workflows/compass-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,17 @@ jobs:
# agent-view contracts rot silently.
cargo test -p compass-cli --tests --locked

- name: Hub and bounded path regressions
run: |
cargo test -p compass-graph --test analyze_coverage --locked
cargo test -p compass-query --test bounded_path_oracle --test code_traversal --test coverage_paths --locked

- name: Rust state-access evidence contracts
run: cargo test -p compass-languages -p compass-resolve --test rust_field_access --locked

- name: Comparison scorer regressions (no competitor installation)
run: python3 -m unittest discover -s benchmarks/agent_query/tests

- name: Qualify natural-language query relevance
env:
CARGO_TARGET_DIR: ${{ github.workspace }}/target
Expand Down
127 changes: 127 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,133 @@

## Unreleased

- Emit Rust field-access evidence for source-proven nominal receivers, preserving
exact occurrences and unknown or shadowed receiver outcomes. Publish qualified
field contacts as references without inventing read/write effects. Rebuild
graphs to refresh older AST caches.

- Add `search --exact` and MCP `search_symbols` exact mode with optional
source file, declaration line and node-kind filters. Return all bounded exact
matches without lexical fallback; preserve ambiguity and incomplete lookup.

- Add opt-in `explain --source-members` to retrieve callable implementations
through recorded containment, including nested types. Share one source-byte
budget, retain individual verification status, and report unavailable or
omitted members explicitly.

- Label explanation excerpts without a stored source digest as unverified.
Preserve bounded source access and reject malformed or mismatching digests
instead of claiming that an anchor alone verifies current source.

- Report incomplete directed trail searches when the depth frontier remains
unexplored, instead of inferring a direction mismatch from a shorter
undirected route. Preserve successful bounded paths and closed negatives;
retain incomplete status in exploration even when no path is returned.

- Add exact destination identities and full relationship records to MCP neighbor
results, preserving source anchors, provenance, direction and parallel calls.
Bound adjacency work and response size; report exhaustion explicitly.

- Resolve Rust method receivers reached through source-proven scalar indexes
into standard vectors, arrays, and slices, retaining field declaration scope
and each call occurrence. Preserve intermediate modules in qualified Rust
type paths instead of selecting a same-named outer type. Custom containers, ranges, unknown index types,
and shadowed collection names remain unresolved. Rebuild graphs to refresh
older AST caches.

- Prefer exact IDs and symbol names for MCP neighbor navigation before broader
prefix/substring matches, while preserving genuine declaration ambiguity and
fuzzy fallback when no exact candidate exists.

- Preserve literal compound identifiers in natural discovery questions ahead
of generic behavior matches, while retaining declaration collisions and
uncertainty from bounded name lookups.

- Preserve Java varargs signatures, parameter array types, and explicit array
argument dimensions. Resolve supported overloads in strict, loose, then
variable-arity order, retaining ambiguity when evidence cannot select a
unique target. Rebuild graphs to refresh older AST caches.

- Correct natural discovery help to report the 10,000 examined-relationship
default independently of the 128 returned-edge default. Runtime limits are
unchanged.

- Resolve coincident export-binding and declaration name matches through exact
export evidence, improving symbol-based paths and relationship queries while
preserving genuine ambiguity and exact-ID selection. Traversal caches retain
the weakest relationship confidence and deferred state.

- Resolve Java method receivers constructed directly at the call site,
including qualified types and bounded parentheses, while retaining overload
and occurrence evidence. Stop turning arbitrary receiver expressions into
invented external type names. Enclosing-instance construction no longer
selects an unrelated imported class. Rebuild older AST caches.

- Resolve file-route parents from framework nesting conventions instead of
choosing a nearby module. Preserve layout, flat-route, index, pathless, and
non-nesting distinctions; retain ambiguous parents without inventing edges.
Pages Router, Astro, and HTTP endpoints no longer acquire automatic layout
parents from directory order. Rebuild graphs under framework semantics 8.

- Restrict filesystem route hierarchy to recognized file-route conventions.
Independent programmatic routers no longer acquire containment edges merely
from shared receiver names and source directories, which could inflate hubs
and create unsupported navigation paths.

- Resolve Go receivers introduced by `if` and switch initializers using their
source-proven factory results. Respect nearer locals, range bindings, and
closure parameters instead of borrowing an outer receiver type; do not
substitute a same-named package factory for a callback or attribute a returned
callback invocation to its factory's receiver type. Rebuild older AST caches.

- Make ambiguous typed query headlines request exact node IDs without naming
a fallback subject or claiming no path. Include IDs for all retained
ambiguity candidates in text output.

- Explain MCP hub candidates with node kind and bounded relation/direction
counts, preserving parallel records and distinguishing incident records from
ranking degree. Report omitted relation categories explicitly.

- Require unique exact endpoints for MCP paths and return ambiguity candidates
instead of choosing by score. Explore within the requested hop bound using
shared work limits, prefer structural relations among equal-hop paths, and
include exact node/edge identities in structured responses.

- Include exact node IDs and source locations in MCP hub results, with a
versioned structured projection for follow-up navigation. Describe hubs as
topology candidates rather than established design defects.

- Preserve community IDs alongside labels in traversal caches, restoring MCP
community membership and statistics on typed graphs. Older disposable
traversal caches rebuild automatically.
- Return candidate paths and IDs for ambiguous MCP neighbor lookups instead
of silently selecting one declaration.
- Apply MCP neighbor relationship filters before grouping repeated neighbors,
preserving matching calls when another relation shares the same endpoints.

- Preserve parsed `ask` operands in agent and text answers so headlines,
answer evidence, path endpoints, and follow-up actions describe the requested
symbols.
- Match agent-answer subjects using the query engine's existing case and
function-label normalization, including names such as `convertSchema()`.

- Prevent Rust local receiver bindings from inheriting shadowed outer parameter
types in lets, loops, closures, match arms/guards, and conditional lets.
Preserve initializer and else-branch scope, and rebuild older AST caches.

- Fix weighted `path --max-depth` searches losing a feasible shorter prefix.
Search work exhaustion now fails explicitly instead of appearing disconnected.

- Fix bounded weighted node trails: retain shorter prefixes when a cheaper
route exhausts the hop limit, and never admit a previously rejected node
without charging the traversal budget.

- Respect explicit graph node kinds in topology analysis: method-shaped labels
and extensionless source files retain their structural candidates, and
explicitly typed files stay out of hub lists.

- Make god-node ranking stable for equal-degree nodes, retain project
declarations whose names overlap library names, and omit isolated nodes.
- Move theme selection into Graph settings, grouped with appearance controls.
Separate layout and selection settings, collapse keyboard shortcuts, and keep
theme settings available in every community overview design.
Expand Down
Loading
Loading