From 367bbaaa1bf86510ba808fe31dbf322c980dfa40 Mon Sep 17 00:00:00 2001 From: Eric Rakestraw Date: Sat, 24 Oct 2026 01:21:11 +0000 Subject: [PATCH] Clarify sequence operation history in the configuration contract --- docs/config.md | 20 ++++++++++++-------- docs/roadmap/remediation.md | 25 +++++++++++++++++++++---- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/docs/config.md b/docs/config.md index a0b92b6..f9036bd 100644 --- a/docs/config.md +++ b/docs/config.md @@ -452,10 +452,11 @@ the descendant can therefore retain history after `Lookup` stops reporting it as effective. Equal-valued input is still an explicit base definition, while a derived value for absent input remains non-explicit. -Appending registered records during strict composition assigns each contribution -its assembled sequence index in history. A later precedence tier that supplies a -sequence records replacement at the sequence path; history does not imply -identity-based merging across tiers. +Strict composition assigns contributed records their assembled sequence positions +in history. Across tiers, history follows the selected +[collection operation](#strict-document-composition), including append and +whole-record upsert. Incoming contributions use their assigned positions, and +replaced payload remains available as historical evidence. A mapping assembled from the selected file and imports has one composite base origin whose locations follow [scoped assembly order](#explicit-imports), not source-record @@ -550,10 +551,13 @@ including a superseded value that could not have decoded into the final Go field Baseline, effective, and resolution values use canonical typed projection. A decoding event bridges replayed input and canonical typed values, so intermediate null/scalar replacements cannot incorrectly imply permanent default removal. Mapping -queries reconstruct each source or override contribution, while sequences remain -atomic: a descendant history identifies its presence before and after the containing -sequence replacement without implying element-wise merging. Removed paths remain -explainable; unknown and malformed paths return false. +queries reconstruct each source or override contribution. A sequence snapshot +represents the collection at that point in replay, and sequence diffs remain +atomic. Descendant queries describe their presence and values before and after +containing sequence operations. Combination follows the +[collection operation tables](#strict-document-composition); upsert replaces +matching records in full. Removed paths remain explainable; unknown and malformed +paths return false. Every snapshot applies the same historical tag, predicate, and recorded-dependency sensitivity closure as effective rendering before YAML is exposed. A redacted scalar diff --git a/docs/roadmap/remediation.md b/docs/roadmap/remediation.md index ec9002d..5558f0b 100644 --- a/docs/roadmap/remediation.md +++ b/docs/roadmap/remediation.md @@ -1,8 +1,8 @@ # Sequence Implementation Review Remediation -Status: findings 1–11 are complete. The subsequent integration audit at -`8d40983271de5239312eb0a2896737be88c5abdc` identified six additional open findings, -numbered 12–17 below. This record introduces no new release gate. +Status: all findings 1–17 are complete. The subsequent integration audit at +`8d40983271de5239312eb0a2896737be88c5abdc` identified findings 12–17, now +remediated below. This record introduces no new release gate. Reviewed commit: `0be7cdb00eff576fda6b30c0600b2134d4e2e086`. Implementation range: `bc6b977..0be7cdb`. @@ -30,6 +30,15 @@ Validation after the initial remediation: `./scripts/check.sh` and `go test -race ./...` passed with Go 1.26.10 on Linux. The original public-API probes for findings 1–9 now demonstrate the required corrected behavior. +Validation after integration remediation: the everyday check, full race suite, +and local documentation/public-boundary checks passed with the same toolchain. +The original and follow-up public-API probes demonstrate corrected behavior for +findings 1–9 and 12–15, including unrelated underlay payload at an old version +index. The accumulated-copy correction is verified by code inspection and +ownership regressions; the contract corrections are verified against the +implemented operations and replay. Each additional finding has its own completion +record and commit. + P1 denotes the highest-priority correctness issue here; P2 denotes normal-priority work needed to complete the selected behavior. Preserve the agreed scope while fixing these issues. In particular, do not resolve failures by restricting valid @@ -673,7 +682,15 @@ Do not introduce public caches, pooling, new caps, or performance thresholds. ## 17. Reconcile Legacy Sequence-History Contract Text — P2 -Status: [ ] Open. +Status: [x] Complete. + +Completion: metadata and explanation prose now describe history through the +selected collection operation, assigned item positions, and displaced payload. +The text distinguishes sequence snapshots and atomic diffs from append/upsert +combination and links to the canonical operation tables. Whole-record upsert, +existing queries, and sensitivity guarantees are unchanged. Verified against +replay/combination code, local documentation-link tests, and `git diff --check`; +the unchanged runtime is covered by the preceding everyday and full race checks. Owner: the metadata/provenance and explanation sections of [`docs/config.md`](../config.md#layered-metadata).