Files
ScadaBridge/docs/plans/2026-06-26-deploy-config-notify-and-fetch.md.tasks.json
T

28 lines
2.7 KiB
JSON

{
"planPath": "docs/plans/2026-06-26-deploy-config-notify-and-fetch.md",
"tasks": [
{"id": 24, "subject": "Task 1: PendingDeployment entity + EF mapping + migration", "status": "completed"},
{"id": 25, "subject": "Task 2: Pending-deployment repository (supersession + purge)", "status": "completed", "blockedBy": [24]},
{"id": 26, "subject": "Task 3: RefreshDeploymentCommand message contract", "status": "completed"},
{"id": 27, "subject": "Task 4: Fetch options + token helper", "status": "completed"},
{"id": 28, "subject": "Task 5: Internal config-fetch endpoint (token-gated)", "status": "completed", "blockedBy": [24, 25, 27]},
{"id": 29, "subject": "Task 6: Central send path — stage pending + send notify + promote", "status": "completed", "blockedBy": [25, 26, 27]},
{"id": 30, "subject": "Task 7: CommunicationService.RefreshDeploymentAsync + routing", "status": "completed", "blockedBy": [26]},
{"id": 31, "subject": "Task 8: Fix AskTimeoutException classification", "status": "completed", "blockedBy": [29]},
{"id": 32, "subject": "Task 9: HTTP deployment-config fetcher + site DI + options", "status": "completed", "blockedBy": [27]},
{"id": 33, "subject": "Task 10: DeploymentManagerActor handles RefreshDeploymentCommand", "status": "completed", "blockedBy": [26, 32]},
{"id": 34, "subject": "Task 11: SiteCommunicationActor routes RefreshDeploymentCommand", "status": "completed", "blockedBy": [26]},
{"id": 35, "subject": "Task 12: Unify replication on notify-and-fetch (id-only + standby fetch)", "status": "completed", "blockedBy": [32, 36]},
{"id": 36, "subject": "Task 13: Site storage older-write guard", "status": "completed"},
{"id": 37, "subject": "Task 14: Retire fat DeployInstanceCommand wire path", "status": "completed", "blockedBy": [29, 30, 33, 34]},
{"id": 38, "subject": "Task 15: appsettings CentralFetchBaseUrl + RUNBOOK", "status": "completed"},
{"id": 39, "subject": "Task 16: Integration test — large config, supersession, token", "status": "completed", "blockedBy": [29, 33, 35, 37]},
{"id": 40, "subject": "Task 17: Live smoke on docker cluster (found+fixed 2 reconcile bugs)", "status": "completed", "blockedBy": [42, 43, 44]},
{"id": 41, "subject": "Task 18a: reconcile messages + repo (expected-set + stage-if-absent)", "status": "completed", "blockedBy": [39]},
{"id": 42, "subject": "Task 18b: central reconcile handler", "status": "completed", "blockedBy": [41]},
{"id": 43, "subject": "Task 18c: site reconciliation actor (per-node) + wiring", "status": "completed", "blockedBy": [41]},
{"id": 44, "subject": "Task 19: Topology page fast load (staleness off live loop)", "status": "completed"}
],
"lastUpdated": "2026-06-26"
}