Roadmap

Completed

MilestoneSummary
M1–M3Single-node log with Intention DAG/HLC, DAG conflict resolution (LWW), async actor pattern, two-node sync via Iroh, Mesh API with token-based join
M4Generic RSM platform: extracted lattice-model, lattice-kvstore, WAL-first persistence, gRPC introspection
M5Atomic multi-key transactions: batch().put(k1,v1).put(k2,v2).commit()
M6Multi-store: root store as control plane, StoreManager with live reconciliation, per-store gossip
DecouplingNode/Net separation via NodeProvider traits, NetEvent channel owned by net layer, unified StoreManager
Kernel AuditOrphan resolution refactor, MAX_CAUSAL_DEPS limit, zero .unwrap() policy, clean module hierarchy
M7Client/Daemon split: library extraction, latticed daemon with UDS gRPC, LatticeBackend trait, RPC event streaming, socket security
M8Reflection & introspection: lattice-api crate, deep type schemas, ReflectValue structured results, store watchers & FFI stream bindings
M10Fractal Store Model: replaced Mesh struct with recursive store hierarchy, TABLE_SYSTEM with HeadList CRDTs, RecursiveWatcher for child discovery, invite/revoke peer management, PeerStrategy (Independent/Inherited), flattened StoreManager, NetworkService (renamed from MeshService), proper Node::shutdown()
M11Weaver Migration & Protocol Sync: Intention DAG (IntentionStore), Negentropy set reconciliation, Smart Chain Fetch, stream-based Bootstrap (Clone) Protocol without gossip storms

Milestone 12: Network Abstraction & Simulation

Decouple lattice-net from Iroh-specific types so multi-node networks can be simulated in-memory. Required before validating Negentropy sync at scale.

12A: Transport Abstraction

12B: In-Memory Simulation Harness


Milestone 12C: Symmetric Sync

Negentropy sync is pull-only — only the initiator discovers missing items. The responder sends its data but never computes its own needs, requiring two sync calls for full bidirectional exchange.


Milestone 13: Crate Dependency Architecture

Remove improper architectural couplings and establish clean abstraction boundaries between crates.


Milestone 14: Intelligent Reconciliation (“Meet” Operator)

Add the “Meet” operator: find the common ancestor of two divergent heads, extract the deltas, and attempt a 3-way merge.

14A: Kernel Primitives

14B: The “Meet” Operator (Core Logic)

14C: Store Integration (lattice-kvstore)


Milestone 15: Log Lifecycle & Pruning

Manage log growth on long-running nodes via snapshots, pruning, and finality checkpoints.

See: DAG-Based Pruning Architecture for details on Ancestry-based metrics and Log Rewriting.

15A: Snapshotting

15B: Waterlevel Pruning

15C: Checkpointing / Finality

15D: Recursive Store Bootstrapping (Pruning-Aware)

15E: Hash Index Optimization ✅

15E: Advanced Sync Optimization (Future)


Milestone 16: Content-Addressable Store (CAS)

Node-local content-addressable blob storage. Replication policy managed separately. Requires M11 and M12.

16A: Low-Level Storage (lattice-cas)

16B: Replication & Safety (CasManager)

16C: Wasm & FUSE Integration

16D: CLI & Observability


Milestone 17: Lattice File Sync MVP

File sync over Lattice. Requires M11 (Sync) and M15 (CAS).

17A: Filesystem Logic

17B: FUSE Interface


Milestone 18: Wasm Runtime

Replace hardcoded state machines with dynamic Wasm modules.

18A: Wasm Integration

18B: Data Structures & Verification


Milestone 19: Embedded Proof (“Lattice Nano”)

Run the kernel on the RP2350.

Because CLI is already separated from Daemon (M7) and storage is abstracted (M9), only the Daemon needs porting. Note: Requires substantial refactoring of lattice-kernel to support no_std.

19A: no_std Refactoring

19B: Hardware Demo


Technical Debt


Active Migrations & Backfills


Future