brick/docs/ROADMAP.md
trvon 7c664cb5a0
Some checks failed
build / build-linux (pull_request) Successful in 1m3s
build / build-macos (pull_request) Has been cancelled
build / release (pull_request) Has been cancelled
docs: describe C/C++ and Rust resolution limits and next stages
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>
2026-09-22 15:12:04 -06:00

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.