Skip to content

[P1] Use semantic key identity in borrowed Node merges - #87

Draft
jskoiz wants to merge 1 commit into
mainfrom
c1/issue-76-borrowed-merge-identity
Draft

[P1] Use semantic key identity in borrowed Node merges#87
jskoiz wants to merge 1 commit into
mainfrom
c1/issue-76-borrowed-merge-identity

Conversation

@jskoiz

@jskoiz jskoiz commented Aug 21, 2026

Copy link
Copy Markdown
Owner

Summary

  • Make borrowed &Node merge expansion use same_key_identity, matching the owned merge path and ignoring source spans/source metadata.
  • Propagate semantic-key depth-limit errors from borrowed merge insertion.
  • Add regressions for distinct-span scalar keys, integer/unsigned-equivalent keys, and reordered equivalent mapping keys across from_node, borrowed &Node, and owned Node deserialization. The tests preserve explicit/local-key precedence.

Verification

Local proof:

  • git diff --check — passed.
  • cargo fmt --all --check — passed.
  • Focused test attempted: cargo test --locked --test serde_value_api serde_api_borrowed_node_merge_uses_semantic_key_identity.
  • The focused Cargo test did not complete because the shared filesystem ran out of space during dependency compilation: No space left on device (os error 28). Per the task handoff, no further Cargo builds were started.

Hosted/merge state:

  • Branch pushed to origin as c1/issue-76-borrowed-merge-identity.
  • Current observed PR state: draft/open against main; CI run 32536800326 has six Rust/audit jobs in progress, and GitGuardian is successful.
  • Hosted CI completion is not claimed.
  • This PR has not been merged.

Notes/Risks

  • Full tests, clippy, and other build-backed gates remain pending because the host had approximately 125 MiB free after the failed compile.
  • The change is limited to borrowed Node merge-key identity and its focused regression coverage; the owned merge path and existing YAML merge precedence are otherwise unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant