README limits now describe include-closure C++ lookup, declared-receiver member resolution, Rust macro re-parsing, unresolved reasons, and metrics.resolution, plus the remaining adapter gaps. The roadmap records candidate edges, the Fold compiler call lane, and compile_commands/Cargo module resolution as next stages; literature notes cite the call-graph and name-resolution papers found through paperbridge. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
61 lines
3.1 KiB
Markdown
61 lines
3.1 KiB
Markdown
# Roadmap
|
|
|
|
## Seed: v0.1
|
|
|
|
- Versioned graph JSON.
|
|
- Fast lexical multi-language preview.
|
|
- Pinned default C++/JS/TS/Dart/Rust grammar extraction, source-relative imports,
|
|
scoped heuristic resolution, and an exact labeled regression benchmark.
|
|
- Dart classes, functions/methods, imports, inheritance, and local calls.
|
|
- Focused P4_16 lexical structures, scoped transitions/apply/action calls, and
|
|
positive plus clean-negative fixtures.
|
|
- Qualified p4c v1.2.5.16 diagnostic-envelope import with Imported evidence and
|
|
fail-closed symbolic-adapter status.
|
|
- Explicit P4 parser-state/control-apply cycle, reachability, and unresolved
|
|
dependency metrics with clean negatives.
|
|
- Default-disabled Tree-sitter P4 pilot with pinned grammar/query identity,
|
|
parallel Syntactic/Heuristic evidence, a versioned availability/setup probe,
|
|
and a written non-promotion decision.
|
|
- Deterministic schema-v2 structural diff over compatible schema-v4 buildings,
|
|
with inspectable before/after facts and optional `brick check` count gates.
|
|
- Schema-v1 repository-relative forbidden-dependency policy with exact scope,
|
|
fail-closed wire values, and complete matched-edge evidence in `brick check`.
|
|
- Read-only MCP 2025-06-18 stdio queries for dependency impact, SCC cycles,
|
|
weak-graph bridges, and complete evidence over validated schema-v4 JSON.
|
|
- Fold SARIF/native finding overlay.
|
|
- Interactive Cytoscape building.
|
|
- Transparent structural indicators and deterministic tests.
|
|
|
|
## Next: compiler-grade relationships
|
|
|
|
- Adapter contract for YAMS graph JSON and Fold ProjectCallGraph/fact IDs.
|
|
- Qualification gate for real machine-readable P4 verifier contracts and
|
|
separate p4c-graphs structural evidence.
|
|
- Expand and qualify Tree-sitter/compiler frontends per language while keeping
|
|
them separate evidence backends; do not promote the P4 pilot until macro and
|
|
multi-project labeled-corpus gates pass.
|
|
- Overload/alias/dynamic-dispatch ambiguity represented as candidate edges
|
|
(schema 5); today ambiguity is an External target with reason `ambiguous`.
|
|
- Fold `ProjectCallGraph` and `fold-rust` MIR call export, imported as a
|
|
separate Imported call lane with per-file Heuristic/Imported agreement.
|
|
- `compile_commands.json` include paths and Cargo workspace/`mod`-tree module
|
|
resolution for the heuristic C++/Rust resolvers.
|
|
- Namespace/package clustering and richer versioned policy rule kinds beyond
|
|
the seed forbidden-dependency boundary.
|
|
|
|
## Later: behavior and symbolic structure
|
|
|
|
- Fold summary/counterexample overlays at function/block/operation levels.
|
|
- Runtime trace heat maps kept separate from static reachability.
|
|
- Rich diff visualization and rename-candidate analysis layered over the stable
|
|
JSON diff without changing its identity semantics.
|
|
- Richer MCP filters, pagination, unstable-wall interpretation, and remote
|
|
transports layered over the seed read-only stdio query surface.
|
|
|
|
## Quality campaign
|
|
|
|
- Labeled multi-language relationship corpus with positive and clean negatives.
|
|
- Precision/recall per edge kind and backend.
|
|
- Layout usability tasks and graph-size/latency/RSS benchmarks.
|
|
- Default changes only after repeated baseline/candidate artifacts and written
|
|
promotion decisions.
|