T-0.1
File → Projection
Not yet tested
Hypothesis: Every file in a software project can be expressed as a projection of a set of entities and their relationships.
Test: Take 5 real files from DreamGraph's own codebase. For each file: identify all entities, identify all relationships, store as graph subgraph, regenerate file from subgraph alone.
Pass: Regenerated file is functionally equivalent (compiles, tests pass) for at least 3/5 files.
Fail: Fewer than 3/5 files can be reconstructed, or the graph representation loses critical structural information.
T-0.2
Folder → Context / View
Not yet tested
Hypothesis: Directories are arbitrary groupings. A "context" (query-defined scope) is a more powerful replacement.
Test: Define 3 contexts that cross directory boundaries (e.g. "all cognitive strategies", "all data persistence", "all user-facing interfaces"). Query the graph for matching entities. Compare completeness vs manual file listing.
Pass: Graph-based contexts capture ≥90% of relevant entities with ≤10% false positives.
Fail: Contexts miss significant entities or include too much noise.
T-0.3
Path → Query / Address
Not yet tested
Hypothesis: Entity identity should be a URI query, not a path. "What is logger?" is more stable than
/src/utils/logger.ts.
Test: Create 10 entity queries (natural language + URI form). Resolve each to the correct source location. Rename/move the source file. Resolve again.
Pass: URI-based resolution survives file moves without update. Path-based resolution breaks on move.
Fail: URI resolution cannot reliably locate entities, or requires path as a fallback in >30% of cases.
T-0.4
Save → Graph Mutation
Not yet tested
Hypothesis: "Saving a file" can be expressed as a set of graph mutations (entity create/update/delete + edge create/update/delete).
Test: Start with a known graph state. Edit a projected file (add function, rename param, delete import). Diff the edited projection against the original. Map each diff hunk to a graph operation.
Pass: Every meaningful edit maps to exactly one graph operation, with no ambiguous or unmappable hunks.
Fail: >20% of edits cannot be cleanly mapped to graph operations.