Research Overview
NoFS research is structured as testable hypotheses. Each hypothesis is a test case with a clear pass/fail criterion. The goal is to validate or invalidate each claim before any implementation begins.
Research Phases
Vocabulary & Primitives
Validate that the primitive mapping holds. Formal specification of NoFS primitives. Testable against DreamGraph's own codebase.
Suite 0 →Projection Engine Spike
Build minimal projector: graph → TypeScript source. Test determinism and granularity. Measure latency baselines.
Suites 1, 4, 5 →Reconciliation Engine
Build diff → graph mutation mapper. Test the 10-diff suite. Handle conflict detection.
Suite 3 →Instance & Federation
Validate instance isolation. Cross-instance entity resolution. Versioning semantics.
Suite 9 →Compatibility
VS Code FileSystemProvider prototype. FUSE bridge investigation. Git strategy selection.
Suite 7 →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)
Test Suites
Primitives
File → Projection, Folder → Context, Path → Query, Save → Mutation
4 hypotheses Suite 1Projection Lifecycle
Materialize, edit, reconcile, dissolve
3 hypotheses Suite 2Identity Model
Stable identity, relationship-based lookup, non-existent file generation
3 hypotheses Suite 3Reconciliation
Diff → graph ops, conflict resolution
2 hypotheses Suite 4Determinism
Stable output, bounded LLM variance
2 hypotheses Suites 5–6Performance
Granularity, projection latency, full materialization
5 hypotheses Suite 7Compatibility
FUSE, VS Code, Git integration
3 hypotheses Suite 8Mental Model
Explainability, escape hatch
2 hypotheses Suite 9Federation
Isolation, cross-instance, versioning, namespacing
6 hypothesesOpen Questions
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?
Should formatting be a graph property, or applied as a post-projection transform?
Comments are not entities in the traditional sense. Are they edges (annotations on entities) or properties?
TypeScript first, but the model should be language-agnostic. How do language-specific constructs map to graph primitives?
Full file regeneration is wasteful. Can projections be incrementally updated when a single entity changes?
If the graph is the source of truth, it needs versioning. Is this a separate problem from git, or does it subsume git?
Current federation is file-based. For live cross-instance resolution, does this need a protocol? (gRPC, HTTP, IPC?)