id: T053 name: ChainFire Core Finalization goal: Clean up legacy OpenRaft code and complete Gossip integration for robust clustering status: planned priority: P1 owner: peerB created: 2025-12-12 depends_on: [T041] blocks: [T039] context: | **Findings from T049 Audit:** - openraft dependency still in Cargo.toml. - Legacy code in chainfire-raft/src/storage.rs. - cluster.rs has // TODO: Implement cluster joining via gossip. - core.rs has // TODO: Use actual network layer instead of mock. **User Direction (PROJECT.md Item 1):** "Raft+Gossip." - Gossip is a core requirement for the cluster management KVS. acceptance: - openraft removed from all Cargo.toml files - chainfire-raft crate cleaned of adapter code - Cluster joining uses Gossip (foca) for discovery - Node addition/removal flows fully implemented - Network layer mocks replaced with real implementation where appropriate steps: - step: S1 name: OpenRaft Cleanup done: Remove dependency and legacy adapter code status: pending owner: peerB priority: P0 - step: S2 name: Gossip Integration done: Implement cluster joining via Gossip status: pending owner: peerB priority: P1 notes: | - Use existing chainfire-gossip crate - Implement cluster.rs TODOs - step: S3 name: Network Layer Hardening done: Replace mocks with real network stack in core status: pending owner: peerB priority: P1 evidence: [] notes: | Solidifies the foundation for all other services relying on ChainFire (PlasmaVMC, FiberLB, etc.)