{ "planPath": "archreview/plans/PLAN-R2-01-cluster-host-failover.md", "tasks": [ { "id": 1, "subject": "Task 1: Rewrite failover-drill.sh — standby-victim default + explicit active-victim gap mode", "status": "pending", "blockedBy": [] }, { "id": 2, "subject": "Task 2: Correct the recovery narrative + document the first-seed bootstrap constraint", "status": "pending", "blockedBy": [ 1 ] }, { "id": 3, "subject": "Task 3: RUN the drill live (both directions) and record measured timings", "status": "pending", "blockedBy": [ 1, 2 ] }, { "id": 4, "subject": "Task 4: Wire FailoverTimingTests to TwoNodeClusterFixture — measure the ~25s envelope in-process", "status": "pending", "blockedBy": [] }, { "id": 5, "subject": "Task 5: Apply the wonder-app-vd03 appsettings overlay edits (NodeName + AllowSingleNodeCluster, drop phantom seeds)", "status": "pending", "blockedBy": [] }, { "id": 6, "subject": "Task 6: Complete the install.ps1 recovery actions (sc.exe failureflag) + RUNBOOK recovery step", "status": "pending", "blockedBy": [] }, { "id": 7, "subject": "Task 7: Correct the factually wrong N2 deferral record in the master tracker", "status": "pending", "blockedBy": [ 5, 6 ] }, { "id": 8, "subject": "Task 8: Metrics-staleness for never-reported sites (FirstSeenAt anchor)", "status": "pending", "blockedBy": [] }, { "id": 9, "subject": "Task 9: Purge the stale \"cluster leader\" narration from CentralHealthReportLoop", "status": "pending", "blockedBy": [] }, { "id": 10, "subject": "Task 10: Generalize the registrar — SingletonRegistrar with an optional role scope", "status": "pending", "blockedBy": [] }, { "id": 11, "subject": "Task 11: Route the two site singletons through the registrar — deployment-manager + event-log-handler gain drains", "status": "pending", "blockedBy": [ 10 ] } ], "lastUpdated": "2026-07-13T03:25:44Z" }