Correct diff masking for historical descendants
This commit is contained in:
@@ -248,8 +248,10 @@ Evidence: `go test ./internal/engine -run 'Diff|Effective|Snapshot'` and
|
||||
`./scripts/check.sh` passed. Coverage includes both mapping/scalar directions,
|
||||
mapping/sequence replacements with numeric path tokens, null/container changes,
|
||||
nested sequence mismatches, historical-only descendant classification,
|
||||
unrelated sensitive siblings, targeted masking through absence, and fallback
|
||||
preserving an absent reported side.
|
||||
unrelated sensitive siblings, and targeted masking through absence. Post-review
|
||||
remediation corrects the original stronger-policy tests: historical descendants
|
||||
alone do not mask same-kind scalars or public additions across absence. A
|
||||
historical-only selector still triggers fallback for incompatible present kinds.
|
||||
|
||||
## Stage 6 — Distinguish hidden changes from unchanged masked content
|
||||
|
||||
@@ -279,6 +281,14 @@ unchanged masked mapping and sequence members, masked additions/removals,
|
||||
sequence-length changes, structural fallback, and equal values with differing
|
||||
classification but no changed region.
|
||||
|
||||
Post-review regressions also verify public-only sequence changes alongside an
|
||||
unchanged scalar with historical sensitive descendants, plus public scalar
|
||||
addition/removal across historical absence. These retain visible snapshots and
|
||||
`HiddenChanged=false` while historical explanation sensitivity remains intact.
|
||||
The corrected tests failed before remediation and passed after removing the
|
||||
extra scalar/default fallback. Focused diff checks, `./scripts/check.sh`, and
|
||||
`go test -race ./...` passed.
|
||||
|
||||
## Stage 7 — Assemble the complete engine diff operation
|
||||
|
||||
Status: complete. Scope: internal-facing records, serialization, and real loads.
|
||||
|
||||
Reference in New Issue
Block a user