fix(deployment-manager): resolve DeploymentManager-015..017 — reconciliation applies post-success side effects, updates RevisionHash, corrected XML doc
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
| Last reviewed | 2026-05-17 |
|
||||
| Reviewer | claude-agent |
|
||||
| Commit reviewed | `39d737e` |
|
||||
| Open findings | 3 |
|
||||
| Open findings | 0 |
|
||||
|
||||
## Summary
|
||||
|
||||
@@ -740,7 +740,7 @@ covers DeploymentManager-010), `DeployToAllSitesAsync_PartialFailure_ReportsPerS
|
||||
|--|--|
|
||||
| Severity | High |
|
||||
| Category | Correctness & logic bugs |
|
||||
| Status | Open |
|
||||
| Status | Resolved |
|
||||
| Location | `src/ScadaLink.DeploymentManager/DeploymentService.cs:631-655` |
|
||||
|
||||
**Description**
|
||||
@@ -785,7 +785,15 @@ reconciled deployment leaves the instance `Enabled` and a snapshot stored.
|
||||
|
||||
**Resolution**
|
||||
|
||||
_Unresolved._
|
||||
Resolved 2026-05-17 (commit pending): extracted the shared post-success side
|
||||
effects into `ApplyPostSuccessSideEffectsAsync` (sets instance `State =
|
||||
Enabled` + `UpdateInstanceAsync`, stores/refreshes the `DeployedConfigSnapshot`)
|
||||
and invoked it from both the normal deploy success path and the
|
||||
`TryReconcileWithSiteAsync` reconciled-success branch, so a reconciled
|
||||
deployment now performs the same instance-state and snapshot updates as a
|
||||
normal one (`configJson` is now computed before the reconciliation call and
|
||||
threaded into `TryReconcileWithSiteAsync`). Regression test:
|
||||
`DeployInstanceAsync_Reconciled_SetsInstanceEnabledAndStoresSnapshot`.
|
||||
|
||||
### DeploymentManager-016 — Reconciled prior record keeps its stale `RevisionHash`
|
||||
|
||||
@@ -793,7 +801,7 @@ _Unresolved._
|
||||
|--|--|
|
||||
| Severity | Medium |
|
||||
| Category | Correctness & logic bugs |
|
||||
| Status | Open |
|
||||
| Status | Resolved |
|
||||
| Location | `src/ScadaLink.DeploymentManager/DeploymentService.cs:639-651` |
|
||||
|
||||
**Description**
|
||||
@@ -824,7 +832,11 @@ normal deploy.
|
||||
|
||||
**Resolution**
|
||||
|
||||
_Unresolved._
|
||||
Resolved 2026-05-17 (commit pending): the reconciled-success branch of
|
||||
`TryReconcileWithSiteAsync` now also sets `prior.RevisionHash =
|
||||
targetRevisionHash`, so the persisted record, the `DeployReconciled` audit
|
||||
entry, and the site's actually-applied revision all agree. Regression test:
|
||||
`DeployInstanceAsync_Reconciled_PriorRecordRevisionHashUpdatedToTarget`.
|
||||
|
||||
### DeploymentManager-017 — `GetDeploymentStatusAsync` XML doc describes behaviour it does not implement
|
||||
|
||||
@@ -832,7 +844,7 @@ _Unresolved._
|
||||
|--|--|
|
||||
| Severity | Low |
|
||||
| Category | Documentation & comments |
|
||||
| Status | Open |
|
||||
| Status | Resolved |
|
||||
| Location | `src/ScadaLink.DeploymentManager/DeploymentService.cs:562-570` |
|
||||
|
||||
**Description**
|
||||
@@ -855,4 +867,9 @@ configuration database" — and, if useful, cross-reference
|
||||
|
||||
**Resolution**
|
||||
|
||||
_Unresolved._
|
||||
Resolved 2026-05-17 (commit pending): the `GetDeploymentStatusAsync` XML doc
|
||||
now states it returns the persisted `DeploymentRecord` from the configuration
|
||||
database as a pure local read, and cross-references `TryReconcileWithSiteAsync`
|
||||
as where the query-the-site-before-redeploy reconciliation actually lives.
|
||||
Documentation-only change; no regression test (a test asserting comment text
|
||||
would be meaningless).
|
||||
|
||||
Reference in New Issue
Block a user