Research Phases

0

Vocabulary & Primitives

Validate that the primitive mapping holds. Formal specification of NoFS primitives. Testable against DreamGraph's own codebase.

Suite 0 →
1

Projection Engine Spike

Build minimal projector: graph → TypeScript source. Test determinism and granularity. Measure latency baselines.

Suites 1, 4, 5 →
2

Reconciliation Engine

Build diff → graph mutation mapper. Test the 10-diff suite. Handle conflict detection.

Suite 3 →
3

Instance & Federation

Validate instance isolation. Cross-instance entity resolution. Versioning semantics.

Suite 9 →
4

Compatibility

VS Code FileSystemProvider prototype. FUSE bridge investigation. Git strategy selection.

Suite 7 →
5

Validation

Identity stability under refactoring. Developer usability testing. Eject safety verification. Go/no-go decision.

Suites 2, 8 →

Success Criteria

Validated when:

  • ≥70% of tests in Suites 0–5 pass (technical feasibility)
  • ≥1 compatibility strategy in Suite 7 works (practical usability)
  • Suite 8 escape hatch passes (safety net exists)
  • Suite 9 instance isolation + basic federation pass (multi-drive model works)

Invalidated when:

  • <50% of Suite 0 tests pass (primitives don't hold)
  • Suite 3 reconciliation fails on "simple" cases (fundamental blocker)
  • Suite 6 p95 latency exceeds 5s for non-LLM projections (too slow)
  • Suite 9 isolation fails (instances contaminate each other)

Open Questions

1
Graph schema for source code

NoFS needs function/class/interface/type/const as first-class graph entities. Is the current schema extensible, or does it need a new entity layer?

2
Formatting preservation

Should formatting be a graph property, or applied as a post-projection transform?

3
Comments and documentation

Comments are not entities in the traditional sense. Are they edges (annotations on entities) or properties?

4
Multi-language support

TypeScript first, but the model should be language-agnostic. How do language-specific constructs map to graph primitives?

5
Incremental projection

Full file regeneration is wasteful. Can projections be incrementally updated when a single entity changes?

6
Graph versioning

If the graph is the source of truth, it needs versioning. Is this a separate problem from git, or does it subsume git?

7
Federation transport

Current federation is file-based. For live cross-instance resolution, does this need a protocol? (gRPC, HTTP, IPC?)