Detach version labels in prepared execution snapshots

This commit is contained in:
2026-10-17 13:51:30 +00:00
parent a1f12f3185
commit 6fff3d822c
3 changed files with 24 additions and 2 deletions

View File

@@ -1,6 +1,6 @@
# Configuration Collections Implementation Review Findings
Status: Finding 1 completed; Findings 2–3 open. Review completed 2026-10-17.
Status: Findings 1–2 completed; Finding 3 open. Review completed 2026-10-17.
Reviewed implementation after `89af2a1` through `0221cd4` against the accepted
[feature roadmap](configuration-collections.md), [implementation plan](implementation.md),
@@ -89,7 +89,7 @@ and public API tests, configuration vet, and `git diff --check`.
## Finding 2: Detach The Optional Label In Internal Prepared Snapshots
Priority: P3. Status: open.
Priority: P3. Status: completed 2026-10-17.
Location: [clonePreparedRun](../../internal/usecase/prepared_execution.go),
lines 226–244; also its use by `PrepareExecution` and `PreparedExecution.Details`.
@@ -121,6 +121,14 @@ non-nil version label. Mutation of one returned internal snapshot must not chang
retained details, the execution snapshot, or a later result. Reuse existing
nil/empty public metadata coverage rather than reproducing it at every layer.
Completion: the prepared-run copier now detaches the optional version label with
the existing nil-aware helper. Extended the owning prepared-execution snapshot
test to mutate source and returned labels and verify later details, execution
metadata, and post-execution details remain unchanged. The regression failed
before the fix and passes afterward. Validation passed with `GOWORK=off`:
the focused regression, `go test -race ./...`, `go vet ./...`, all three offline
examples, and `git diff --check`.
## Finding 3: Document Engine Ownership In Terms Of The Shared Assembly
Priority: P3. Status: open.