{ "planPath": "docs/plans/2026-07-18-secrets-0.2.0-upgrade-and-clustering.md", "tasks": [ { "id": 1, "nativeId": "7", "subject": "Task 1: HistorianGateway bump 0.1.2 -> 0.2.0", "status": "completed", "classification": "trivial", "parallelizableWith": [ 2, 3, 4 ] }, { "id": 2, "nativeId": "8", "subject": "Task 2: MxAccessGateway bump 0.1.2 -> 0.2.0", "status": "completed", "classification": "trivial", "parallelizableWith": [ 1, 3, 4 ] }, { "id": 3, "nativeId": "9", "subject": "Task 3: OtOpcUa bump 0.1.2 -> 0.2.0 (CPM)", "status": "completed", "classification": "trivial", "parallelizableWith": [ 1, 2, 4 ] }, { "id": 4, "nativeId": "10", "subject": "Task 4: ScadaBridge bump 0.1.2 -> 0.2.0 (CPM)", "status": "completed", "classification": "trivial", "parallelizableWith": [ 1, 2, 3 ] }, { "id": 5, "nativeId": "11", "subject": "Task 5: OtOpcUa add Akka replicator package", "status": "completed", "classification": "small", "blockedBy": [ 3 ], "parallelizableWith": [ 7 ] }, { "id": 6, "nativeId": "12", "subject": "Task 6: OtOpcUa wire Akka replication + shared KEK", "status": "completed", "classification": "high-risk", "blockedBy": [ 5 ] }, { "id": 7, "nativeId": "13", "subject": "Task 7: ScadaBridge add SqlServer replicator package", "status": "completed", "classification": "standard", "blockedBy": [ 4 ], "parallelizableWith": [ 5 ] }, { "id": 8, "nativeId": "14", "subject": "Task 8: ScadaBridge wire hub replication + per-node config", "status": "completed", "classification": "high-risk", "blockedBy": [ 7 ] }, { "id": 9, "nativeId": "15", "subject": "Task 9: Live convergence gate (both clustered apps)", "status": "completed", "classification": "high-risk", "blockedBy": [ 6, 8 ] }, { "id": 10, "nativeId": "16", "subject": "Task 10: Docs reconcile", "status": "completed", "classification": "small", "blockedBy": [ 9 ] } ], "checkpoints": [ { "afterTask": 4, "note": "All four apps on 0.2.0, advisory closed family-wide. Independently shippable \u2014 FF-merge and push each repo before Task 5." } ], "lastUpdated": "2026-07-18", "notes": "Tasks 1-10 complete. Live gate RUN 2026-07-18 with a SPLIT result: SQL-Server hub (ScadaBridge) PASSED 6/6 against a real SQL Server 2022 incl. partition survival and wrong-KEK fail-closed. Akka peer-to-peer (OtOpcUa) FAILED - resolving ISecretReplicator deadlocks in a real clustered process at ActorOf. Replication remains default-OFF everywhere; do NOT enable it in OtOpcUa until the deadlock is fixed." }