{ "planPath": "docs/plans/2026-07-17-localdb-implementation.md", "tasks": [ {"id": 7, "planTask": 1, "subject": "Task 1: Scaffold the library", "status": "pending"}, {"id": 8, "planTask": 2, "subject": "Task 2: HybridLogicalClock", "status": "pending", "blockedBy": [7]}, {"id": 9, "planTask": 3, "subject": "Task 3: Lib-owned schema + LocalDbSchema migrator", "status": "pending", "blockedBy": [7]}, {"id": 10, "planTask": 4, "subject": "Task 4: LocalDbConnectionFactory + ILocalDb API", "status": "pending", "blockedBy": [8, 9]}, {"id": 11, "planTask": 5, "subject": "Task 5: Table registration + capture triggers", "status": "pending", "blockedBy": [10]}, {"id": 12, "planTask": 6, "subject": "Task 6: Options validation + AddZbLocalDb DI", "status": "pending", "blockedBy": [10]}, {"id": 13, "planTask": 7, "subject": "Task 7: Contracts — localdb_sync.v1 proto", "status": "pending", "blockedBy": [7]}, {"id": 14, "planTask": 8, "subject": "Task 8: OplogStore — read/ack/prune/peer state", "status": "pending", "blockedBy": [10]}, {"id": 15, "planTask": 9, "subject": "Task 9: LwwApplier", "status": "pending", "blockedBy": [11, 13]}, {"id": 16, "planTask": 10, "subject": "Task 10: SyncSession state machine", "status": "pending", "blockedBy": [14, 15]}, {"id": 17, "planTask": 11, "subject": "Task 11: gRPC adapters + BackgroundService + replication DI", "status": "pending", "blockedBy": [16]}, {"id": 18, "planTask": 12, "subject": "Task 12: Snapshot resync", "status": "pending", "blockedBy": [17]}, {"id": 19, "planTask": 13, "subject": "Task 13: Telemetry meters + ISyncStatus", "status": "pending", "blockedBy": [18]}, {"id": 20, "planTask": 14, "subject": "Task 14: Convergence integration + property tests", "status": "pending", "blockedBy": [18]}, {"id": 21, "planTask": 15, "subject": "Task 15: README, pack verify, scadaproj index row", "status": "pending", "blockedBy": [19, 20]} ], "lastUpdated": "2026-07-17" }