Unify layered provenance history

This commit is contained in:
2026-09-06 21:09:52 +00:00
parent ef0e6078f7
commit 26cece6d53
9 changed files with 347 additions and 48 deletions

View File

@@ -2,7 +2,7 @@
## Status and ownership
Status: implementation in progress; Stages 1–13 are complete and later stages are
Status: implementation in progress; Stages 1–14 are complete and later stages are
pending.
Audience: a `gpt-5.6-terra` coding agent implementing one stage per prompt, in
@@ -1038,7 +1038,31 @@ Acceptance:
## Stage 14 — Verify layered provenance and final snapshot agreement
Status: pending.
Status: complete.
Completion evidence (2026-09-06):
- Unified default, composed base, profile displacement, and resolution records in
the metadata history index. Container resolution now appends its operation to each
changed, added, or removed descendant while preserving the ancestor operation path
and path-specific previous origin; effective metadata still contains only the final
projected paths.
- Added a representative public `Load` workflow spanning a fresh default, selected
source, depth-first import, profile, derived default, mapping deletion, and
whole-sequence normalization. It verifies source order, equal-to-default
explicitness, null state, composite empty-mapping origins, chronological parent
replacement history, deduplicated reasons/dependencies, typed/final snapshot
agreement, and unchanged siblings.
- Verified nested metadata, source import locations, diagnostics, caller-owned
configuration, and private snapshots are detached. Repeated concurrent selected-
profile loads retain independent typed values, metadata, sources, and histories;
the race baseline passes.
- Promoted layered metadata semantics and concrete composite/synthetic origin cases
to the [current metadata contract](../config.md#layered-metadata), updated Go
reference comments, and recorded the adapted Narratio ownership/inspection cases.
Rendering, redaction, value snapshots, and explanation remain within later stages.
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.
Read: feature [presence](initial.md#paths-and-presence),
[history](initial.md#provenance-diagnostics-and-redaction), metadata API.