diff --git a/docs/roadmap/interface-remediation.md b/docs/roadmap/interface-remediation.md index 0617568..86cd1ee 100644 --- a/docs/roadmap/interface-remediation.md +++ b/docs/roadmap/interface-remediation.md @@ -163,9 +163,14 @@ changed. Keep the contextual meaning of parsed numeric tokens across historical states and the one-entry-per-canonical-pointer enumeration of `HistoricalPaths`. -Indexes and compact derived records may remain, but their attribution must come -from the shared evidence. Metadata queries should not require full configuration -replay or YAML rendering to obtain definition and origin records. +Historical-path membership and enumeration must also derive from the shared +evidence. Preserve the existing inventory of default-only paths, displaced +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 @@ -197,6 +202,8 @@ the following owners to their replacements: | 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. | +| 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. | | 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. | @@ -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 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 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 affected implementation documentation and finding status. -These are high-level dependencies, not a requirement to combine unrelated fixes -in one commit. The implementation plan should select concrete edits and test -commands while keeping the four findings individually traceable. +This work will be completed in one implementation sprint. Intermediate stages +and commits need not be coherent or compile, and will not be made available to +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 @@ -294,8 +314,10 @@ The focused cases should cover: Check explicitness and recorded origins through final metadata and explanation. - Shape-changing CLI and resolution history, checking exact definitions, `Previous`, and genuine ancestor replacement/removal. Include contextual - enumeration/query coverage and preserve existing inheritance and overlay cases; - add another case only where those integrations expose an unprotected risk. + enumeration/query coverage, including historical paths whose evidence is + 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 default reconciliation, equal-valued writes, inheritance controls/transfers, mapped sequence replacements and removed descendants, and overlapping @@ -304,8 +326,9 @@ The focused cases should cover: agreement on attribution. - Historical sensitivity/dependency propagation, diagnostic source-location fallback, detached returned records, and complete retained-history accounting - under the new ownership graph. Use small controlled budget cases and existing - disclosure fixtures rather than memory or timing thresholds. + under the new ownership graph. Preserve budget rejection before effective + 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 audit fixture. Check both published diagnostics and rendered related-location 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 evidence, appropriate development checks, and both history interfaces deriving semantic attribution from the shared model. Review the final producer/consumer -map to confirm superseded independent reconstruction has been removed and -internal attribution readers have migrated. Passing the four defect regressions -while retaining the old parallel attribution machinery is not completion. +map to confirm superseded independent reconstruction has been removed, +historical-path discovery derives from shared evidence, and internal attribution +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. Scope here does not promise identical output from different inspection interfaces