Clarify history for removed records and reused positions
This commit is contained in:
@@ -174,8 +174,8 @@ A history query at a final record's position includes the matched record's
|
|||||||
earlier evidence from its entry position. Preserve original source coordinates
|
earlier evidence from its entry position. Preserve original source coordinates
|
||||||
and include the recorded collection operation explaining the move. Recorded
|
and include the recorded collection operation explaining the move. Recorded
|
||||||
normalization and derivation retain their resolution origins; following prior
|
normalization and derivation retain their resolution origins; following prior
|
||||||
evidence does not erase the application operation. Keep removed evidence
|
evidence does not erase the application operation. Removed evidence remains
|
||||||
available under the historical inspection contract.
|
available as described below.
|
||||||
|
|
||||||
Explicit structural records remain the explanation of application-owned list
|
Explicit structural records remain the explanation of application-owned list
|
||||||
restructuring. Dependency paths retain their existing recording semantics;
|
restructuring. Dependency paths retain their existing recording semantics;
|
||||||
@@ -188,6 +188,29 @@ Public effective-configuration diff output remains atomic for lists. Resolution
|
|||||||
comparison may need a dedicated internal operation or comparison mode so that
|
comparison may need a dedicated internal operation or comparison mode so that
|
||||||
its new behavior does not alter unrelated callers.
|
its new behavior does not alter unrelated callers.
|
||||||
|
|
||||||
|
### Removed records and reused positions
|
||||||
|
|
||||||
|
For eligible registered collections, inspection distinguishes a surviving
|
||||||
|
record's lineage from evidence of records removed during resolution:
|
||||||
|
|
||||||
|
- Queries at surviving positions describe the surviving record's lineage,
|
||||||
|
including its matched entry evidence and the recorded collection operation.
|
||||||
|
A removed record that previously occupied that position does not become part
|
||||||
|
of the survivor's individual history.
|
||||||
|
- Collection-level history and explanation retain the removal and the removed
|
||||||
|
record's evidence, including available source attribution and before values.
|
||||||
|
- Historical positions that no longer exist remain inspectable under the
|
||||||
|
existing historical-path rules. Their availability does not give a reused
|
||||||
|
position a second, identity-addressed meaning.
|
||||||
|
|
||||||
|
For example, if `[reports, invoices]` becomes `[invoices]`, a query at
|
||||||
|
`/resources/0` follows `invoices` back to its entry position 1. The removal of
|
||||||
|
`reports` and its earlier evidence remain inspectable at `/resources`, rather
|
||||||
|
than being mixed into the individual history of `invoices`. The now-absent
|
||||||
|
position `/resources/1` remains available under the historical-path contract.
|
||||||
|
Original source coordinates are preserved, and existing sensitivity rules apply
|
||||||
|
to all retained evidence.
|
||||||
|
|
||||||
## Work needed from the baseline
|
## Work needed from the baseline
|
||||||
|
|
||||||
- Trace resolution comparison, record coverage, helper verification, metadata
|
- Trace resolution comparison, record coverage, helper verification, metadata
|
||||||
@@ -211,8 +234,9 @@ its new behavior does not alter unrelated callers.
|
|||||||
sensitivity; combined reorders and field edits; removed values; repaired entry
|
sensitivity; combined reorders and field edits; removed values; repaired entry
|
||||||
identities; and dynamic registration selectors. Check agreement between final
|
identities; and dynamic registration selectors. Check agreement between final
|
||||||
metadata and explanation while retaining entry-query behavior and atomic public
|
metadata and explanation while retaining entry-query behavior and atomic public
|
||||||
diff output. Review historical queries at removed and reused positions against
|
diff output. Verify the removal-and-position-reuse example above: surviving
|
||||||
the existing historical-path contract.
|
record queries follow their own lineage, collection queries retain removed
|
||||||
|
evidence, and absent historical positions remain inspectable.
|
||||||
- Update the resolution contract and relevant API comments when implemented.
|
- Update the resolution contract and relevant API comments when implemented.
|
||||||
Review ADR and policy follow-up for registered identity as the correspondence
|
Review ADR and policy follow-up for registered identity as the correspondence
|
||||||
used during resolution inspection, as well as the distinction between
|
used during resolution inspection, as well as the distinction between
|
||||||
@@ -226,5 +250,5 @@ design objective, not a new public performance guarantee.
|
|||||||
|
|
||||||
No configuration syntax, dependency, release gate, or new mutation-history system
|
No configuration syntax, dependency, release gate, or new mutation-history system
|
||||||
is proposed. Existing callbacks that record a whole list should continue to work.
|
is proposed. Existing callbacks that record a whole list should continue to work.
|
||||||
The matching-eligibility and final-position-addressing decisions are settled and
|
The matching-eligibility, final-position-addressing, and removed-record inspection
|
||||||
integrated above.
|
decisions are settled and integrated above.
|
||||||
|
|||||||
Reference in New Issue
Block a user