fix(deployment): detach each instance's settled rows from the bulk deploy's shared unit of work after Finalize (review 2026-10-21 04/M3)

This commit is contained in:
Joseph Doherty
2026-10-22 06:48:28 -04:00
parent 32e63eaa96
commit 7aacc49043
6 changed files with 100 additions and 1 deletions
@@ -167,7 +167,11 @@ one is parallel:
does not reintroduce serialization. Shape mirrors
`ArtifactDeploymentService.DeployCoreAsync`.
3. **Finalize (serial).** Commit terminal statuses, apply post-success side
effects, write audit rows, release each operation lock.
effects, write audit rows, release each operation lock. Each finalised
instance's settled rows (staged `PendingDeployment`, snapshot, deployment
record) are then detached from the batch's shared unit of work, so the batch
does not hold N configs' JSON in the change tracker — or re-scan them on every
later save — until it ends (review 2026-10-21 04/M3).
**Disabled instances are skipped.** A bulk site deploy never touches an instance
in `Disabled` — no flatten, no send, no state change — because deploy is a legal