Add overlay migration regression coverage

This commit is contained in:
2026-09-23 18:31:20 +00:00
parent ae91f57bbe
commit 73ce6e9e31
8 changed files with 90 additions and 137 deletions

View File

@@ -1,6 +1,6 @@
# Configuration Overlay Rename Implementation Plan
Status: Stage 1 complete. Execute Stage 2.
Status: complete.
## Scope and operating instructions
@@ -188,3 +188,23 @@ Report the stage commit, validation results, any skipped platform-specific cases
and the API/filesystem migration summary. The implementation is complete only
when both stages pass and the roadmap's target surface and preserved behavior
are accounted for. There are no unresolved product questions in this plan.
### Completion
Completed 2026-09-23. Added regression coverage that accepts only
`overlays/<name>.yml` for selection, rejects a legacy-only selected file with
`CodeOverlayMissing`, and ignores a legacy sibling when the new selected file is
present. Explicit imports from a directory named `profiles` remain base-layer
imports. The maintained consumer confirms `ModelProfile` is unchanged while its
selected source reports `overlays/testing.yml` and `LayerOverlay`; public
layer/code strings and rendered explanation values are covered.
Validation passed with `./scripts/check.sh` and `GOPROXY=off go test -race
./internal/engine` on Go 1.26.8/linux. No additional platform-specific validation
was required; existing symlink coverage remains conditional on Linux or macOS.
The API audit found no legacy Go declarations, and the remaining `profile`
references are intentionally limited to application-domain fields, upstream or
historical records, migration guidance, and explicit legacy-path regressions. The
feature roadmap is now a completion summary; v0.4.0 release preparation must still
describe the Go API, selected-file directory, provenance layer, and diagnostic-code
breaks.