Retire obsolete collection identity before replacement agreement
This commit is contained in:
@@ -435,7 +435,16 @@ Validation:
|
||||
|
||||
## 12. Complete Identity Retirement Across Replacement Shapes — P2
|
||||
|
||||
Status: [ ] Open.
|
||||
Status: [x] Complete.
|
||||
|
||||
Completion: source composition and inheritance now prepare eligible lower policy
|
||||
from actual replacement paths before agreement. Removed identity and record state
|
||||
cannot constrain a new pending key or reappear in later inheritance. Shared mode
|
||||
selection preserves explicit-mode persistence and authoritative registrations.
|
||||
Regressions cover null/scalar/mapping/list replacement, ancestor removal with a
|
||||
new key, reintroduction, and retained/application-constrained conflicts. Verified
|
||||
focused retirement/inheritance tests, engine ownership race coverage, and
|
||||
`./scripts/check.sh`.
|
||||
|
||||
Owners: [`resolveStrictCollectionPolicies`](../../internal/engine/compose.go),
|
||||
especially its `sequencePresent` reset condition;
|
||||
|
||||
Reference in New Issue
Block a user