Add audited application resolution
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## Status and ownership
|
||||
|
||||
Status: implementation in progress; Stages 1–7 are complete and later stages are
|
||||
Status: implementation in progress; Stages 1–8 are complete and later stages are
|
||||
pending.
|
||||
|
||||
Audience: a `gpt-5.6-terra` coding agent implementing one stage per prompt, in
|
||||
@@ -684,7 +684,36 @@ Acceptance:
|
||||
|
||||
## Stage 8 — Implement recorded application resolution
|
||||
|
||||
Status: pending.
|
||||
Status: complete.
|
||||
|
||||
Completion evidence (2026-09-06):
|
||||
|
||||
- Implemented per-load `Resolution`, `IsExplicit`, `Record`, `Default`, `Normalize`,
|
||||
`Error`, and `Warning` in [`resolution.go`](../../resolution.go), and enabled the
|
||||
resolver in `Load` after successful decode while leaving semantic validation gated.
|
||||
- Added schema-aware path/kind/dependency checks, safe reason requirements, dynamic
|
||||
and typed helper projection, final helper/path consistency checks, before/after
|
||||
structural comparison, exact/ancestor record coverage, and distinct safe failures
|
||||
for invalid values, targets, records, and unrecorded changes.
|
||||
- Coalesced repeated path intent deterministically, retaining unique reasons and
|
||||
dependencies, using the last helper value, and promoting mixed operations to
|
||||
normalization. Equal-valued derived intent remains recorded; map copy/writeback,
|
||||
container coverage, deletions, and new dynamic/map descendants are supported.
|
||||
- Integrated resolution origins and history without changing surviving input
|
||||
explicitness, retained private detached before/after snapshots, sorted records by
|
||||
semantic path, and made retained callback-context use panic with fixed value-free
|
||||
text. Resolver errors are suppressed unless explicitly reported through the
|
||||
context; warnings remain on successful results. The
|
||||
[current resolution contract](../config.md#recorded-application-resolution) owns
|
||||
this behavior.
|
||||
- Focused tests execute the timeout/artifact consumer shape, explicit null/zero and
|
||||
absent-baseline behavior, normalization, map writeback, equal and repeated helper
|
||||
intent, stable map-derived record order, subtree removal, snapshot detachment,
|
||||
unrelated targets, invalid paths/kinds/values, unrecorded mutation, safe hook
|
||||
failures, and closed resolution/version contexts. Verified `go test ./...`,
|
||||
`go test -race ./...`, `go vet ./...`, `go build ./...`, `go mod tidy -diff`, and
|
||||
`git diff --check` with Go 1.26.7 on linux/amd64. No deviations were required;
|
||||
semantic validation remains later work.
|
||||
|
||||
Read: feature [resolution callbacks](initial.md#resolution-and-validation-callbacks).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user