test: characterize dangling link reference scrubbing - #162
Conversation
|
Warning Review limit reachedNext included review available in 20 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 114 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
Comment |
benceruleanlu
left a comment
There was a problem hiding this comment.
Approved. The added cases meaningfully cover dangling-reference cleanup. These are non-blocking opportunities to make the characterization more complete.
Non-blocking review findings
- suggestion: Exercise live-link preservation through an operation that actually calls
scrubDanglingLinkRefs. Both delete fixtures currently remove every link, while the surviving-link case usesset_widget; a delete fixture with one removed link and one unrelated live link would pin thekeptIdsbranch under KA-4. - suggestion: Observe the parent input/output containers, or use
observeDeep, when asserting thatset_widgetemits no link-reference writes. Observing only the existing childY.Arraymisses an equivalent whole-value replacement ofport.links.
|
Follow-up PR addressing both non-blocking items from this approval: #175 (assignee christian-byrne only per quiet week; approver recorded in the PR body, not assigned or mentioned). Full context for agent readers
Evidence on the PR: focused file 5/5, typecheck clean, gates pass, full suite 968 passed with only the 8 pre-existing Opened against this (retired) standalone repo following the #172 post-retirement precedent while FE #16644 carries the move to |
Pins dangling-link cleanup behavior with four focused tests. No production logic changes.
Full context for agent readers
Adds current-behavior coverage for
scrubDanglingLinkRefsafter winningdelete_nodeoperations with explicit and incidental link removal. It also verifies that a non-structuralset_widgetpreserves live input/output link references, emits no link-reference mutations, and remains byte-identical when replayed.This characterizes the graph-integrity portion of KA-4 without changing op semantics, the O(nodes) scan, or call ordering.
Verification:
check-import-graphgate cases because the mandated Node 25.9.0 runtime is unsupported by dependency-cruiser (^22 || ^24 || >=26)