Clarify shared history migration and sprint acceptance

This commit is contained in:
2026-10-26 14:00:18 +00:00
parent f9ec66e867
commit f6d54a094a

View File

@@ -163,9 +163,14 @@ changed.
Keep the contextual meaning of parsed numeric tokens across historical states Keep the contextual meaning of parsed numeric tokens across historical states
and the one-entry-per-canonical-pointer enumeration of `HistoricalPaths`. and the one-entry-per-canonical-pointer enumeration of `HistoricalPaths`.
Indexes and compact derived records may remain, but their attribution must come Historical-path membership and enumeration must also derive from the shared
from the shared evidence. Metadata queries should not require full configuration evidence. Preserve the existing inventory of default-only paths, displaced
replay or YAML rendering to obtain definition and origin records. descendants, consumed inheritance controls, and historical mapping-key and
sequence-index shapes, including evidence that a public projection coalesces or
omits. Indexes and compact derived records may remain, but their membership and
attribution must come from that evidence. Metadata queries should not require
full configuration replay or YAML rendering to obtain definition and origin
records.
#### Distinct Public Projections #### Distinct Public Projections
@@ -197,6 +202,8 @@ the following owners to their replacements:
| Current owner | Required change | | Current owner | Required change |
| --- | --- | | --- | --- |
| History-building portions of `metadataFromDecoded`, `applyOverlayMetadata`, and `appendPostDecodeCLIHistory` in [load_metadata.go](../../internal/engine/load_metadata.go) and [override_context.go](../../internal/engine/override_context.go) | Produce or project shared evidence instead of independently reconstructing pointer-keyed histories. Retain effective-field construction where it is still needed. | | History-building portions of `metadataFromDecoded`, `applyOverlayMetadata`, and `appendPostDecodeCLIHistory` in [load_metadata.go](../../internal/engine/load_metadata.go) and [override_context.go](../../internal/engine/override_context.go) | Produce or project shared evidence instead of independently reconstructing pointer-keyed histories. Retain effective-field construction where it is still needed. |
| Resolution-history construction in `applyResolutionMetadata` and `appendResolutionDescendantHistory` in [load_metadata.go](../../internal/engine/load_metadata.go) | Derive resolution records and previous origins through common semantic selection and attribution. Retain the effective-field updates still needed by final metadata. |
| Historical-path inventory in `finalizeMetadataPaths` in [metadata.go](../../internal/engine/metadata.go) | Derive historical membership, shape indexes, and enumeration from the shared evidence while preserving the existing path inventory. Retain effective-path indexing where needed. |
| Previous-origin reconstruction and inheritance insertion in [inheritance_history.go](../../internal/engine/inheritance_history.go) | Use common semantic selection and attribution while preserving the existing inheritance projection rules. | | Previous-origin reconstruction and inheritance insertion in [inheritance_history.go](../../internal/engine/inheritance_history.go) | Use common semantic selection and attribution while preserving the existing inheritance projection rules. |
| Relevance and chronology orchestration in [explain.go](../../internal/engine/explain.go) | Consume the shared model; retain useful value reconstruction and redaction helpers. | | Relevance and chronology orchestration in [explain.go](../../internal/engine/explain.go) | Consume the shared model; retain useful value reconstruction and redaction helpers. |
| Separate published inheritance evidence for metadata and explanation in [load_result.go](../../internal/engine/load_result.go) | Consolidate under the frozen history owner where independent copies are unnecessary; keep required output detachment. | | Separate published inheritance evidence for metadata and explanation in [load_result.go](../../internal/engine/load_result.go) | Consolidate under the frozen history owner where independent copies are unnecessary; keep required output detachment. |
@@ -232,6 +239,12 @@ a full document copy per event, a new quota, or a new concurrency guarantee.
Reduced duplication is a design benefit to evaluate, not a promised memory or Reduced duplication is a design benefit to evaluate, not a promised memory or
speed improvement. speed improvement.
Preserve final retained-history budget admission before effective secret lookup
and application validation. Do not defer that check to publication or a later
query. Count the resulting retained ownership graph; tests should exercise its
budget boundary and failure timing without requiring obsolete duplicate copies
or the old representation's exact node totals.
### 4. Preserve Composition Claimant Order Through Diagnostics ### 4. Preserve Composition Claimant Order Through Diagnostics
Keep the order produced by `compositionConflictDiagnostic` in Keep the order produced by `compositionConflictDiagnostic` in
@@ -275,9 +288,16 @@ dependency-ready scheduling unchanged.
6. Review the integrated result, run applicable development checks, and update 6. Review the integrated result, run applicable development checks, and update
affected implementation documentation and finding status. affected implementation documentation and finding status.
These are high-level dependencies, not a requirement to combine unrelated fixes This work will be completed in one implementation sprint. Intermediate stages
in one commit. The implementation plan should select concrete edits and test and commits need not be coherent or compile, and will not be made available to
commands while keeping the four findings individually traceable. consumers. The order above describes dependencies within that sprint. It does
not require temporary adapters or parallel implementations merely to keep each
stage buildable.
Keep changes focused and the four findings individually traceable. Run focused
checks when the affected surface is buildable, and complete any pending checks
against the integrated result. The final sprint result must compile, pass the
applicable development checks, and satisfy the full completion criteria below.
## Validation And Completion ## Validation And Completion
@@ -294,8 +314,10 @@ The focused cases should cover:
Check explicitness and recorded origins through final metadata and explanation. Check explicitness and recorded origins through final metadata and explanation.
- Shape-changing CLI and resolution history, checking exact definitions, - Shape-changing CLI and resolution history, checking exact definitions,
`Previous`, and genuine ancestor replacement/removal. Include contextual `Previous`, and genuine ancestor replacement/removal. Include contextual
enumeration/query coverage and preserve existing inheritance and overlay cases; enumeration/query coverage, including historical paths whose evidence is
add another case only where those integrations expose an unprotected risk. coalesced or omitted by a public projection. Preserve existing inheritance and
overlay cases; add another case only where those integrations expose an
unprotected risk.
- Shared-model projections across composite mapping origins, typed decoding and - Shared-model projections across composite mapping origins, typed decoding and
default reconciliation, equal-valued writes, inheritance controls/transfers, default reconciliation, equal-valued writes, inheritance controls/transfers,
mapped sequence replacements and removed descendants, and overlapping mapped sequence replacements and removed descendants, and overlapping
@@ -304,8 +326,9 @@ The focused cases should cover:
agreement on attribution. agreement on attribution.
- Historical sensitivity/dependency propagation, diagnostic source-location - Historical sensitivity/dependency propagation, diagnostic source-location
fallback, detached returned records, and complete retained-history accounting fallback, detached returned records, and complete retained-history accounting
under the new ownership graph. Use small controlled budget cases and existing under the new ownership graph. Preserve budget rejection before effective
disclosure fixtures rather than memory or timing thresholds. secret lookup and application validation. Use small controlled budget cases
and existing disclosure fixtures rather than memory or timing thresholds.
- A composition conflict whose acquisition and assembly orders differ, using the - A composition conflict whose acquisition and assembly orders differ, using the
audit fixture. Check both published diagnostics and rendered related-location audit fixture. Check both published diagnostics and rendered related-location
order, while retaining coverage for ordinary diagnostic canonicalization. order, while retaining coverage for ordinary diagnostic canonicalization.
@@ -318,9 +341,10 @@ No benchmark campaign, broader audit, or new release gate is part of this roadma
Completion requires all four findings to have implementation and regression Completion requires all four findings to have implementation and regression
evidence, appropriate development checks, and both history interfaces deriving evidence, appropriate development checks, and both history interfaces deriving
semantic attribution from the shared model. Review the final producer/consumer semantic attribution from the shared model. Review the final producer/consumer
map to confirm superseded independent reconstruction has been removed and map to confirm superseded independent reconstruction has been removed,
internal attribution readers have migrated. Passing the four defect regressions historical-path discovery derives from shared evidence, and internal attribution
while retaining the old parallel attribution machinery is not completion. readers have migrated. Passing the four defect regressions while retaining the
old parallel attribution machinery is not completion.
The audit's previous passing suite is not validation of these future changes. The audit's previous passing suite is not validation of these future changes.
Scope here does not promise identical output from different inspection interfaces Scope here does not promise identical output from different inspection interfaces