test: pin keptIds branch and parent-container observation in dangling-link scrub characterization - #175
Open
christian-byrne wants to merge 1 commit into
Open
test: pin keptIds branch and parent-container observation in dangling-link scrub characterization#175christian-byrne wants to merge 1 commit into
christian-byrne wants to merge 1 commit into
Conversation
…-link scrub characterization Follow-up to #162 (benceruleanlu approve-with-comments, both non-blocking items): - delete_node fixture with one removed link and one unrelated live link pins the keptIds branches of scrubDanglingLinkRefs (live endpoint refs survive). - set_widget no-link-reference-write assertion now observes the parent inputs/outputs containers via observeDeep, so a whole-value replacement of port.links is caught; a harness-sensitivity check proves the observer is live (the previous child-array observer missed that case). <!-- authored-by:agent lane-act-cmp-162-followup-1709 -->
|
Warning Review limit reachedNext included review available in 44 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 129 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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test-only follow-up to #162 (benceruleanlu's approve-with-comments, 2026-09-02T21:26:01Z). Both non-blocking items addressed; no production logic changes.
Full context for agent readers
benceruleanlu's approval on #162 listed two non-blocking suggestions:
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."observeDeep, when asserting thatset_widgetemits no link-reference writes. Observing only the existing childY.Arraymisses an equivalent whole-value replacement ofport.links."This PR does both:
keeps live-link references when delete_node removes only the deleted node's own links: a four-node workflow wheredelete_node(20)removes link 1 while unrelated link 3 (40→50) stays live. Asserts the dangling endpoint refs on node 10 are scrubbed, node 20 is gone, and the live link's endpoint refs (outputs[0].linkson 40,inputs[0].linkon 50) survive — thekeptIdsbranches ofscrubDanglingLinkRefs.inputs/outputscontainers withobserveDeepinstead of only the childlinksY.Array, so a whole-value replacement ofport.links(orslot.link) is counted. A harness-sensitivity check at the end of the case performs exactly that whole-value replacement directly on the doc and asserts the observer fires — with the old child-array observer this assertion fails, proving the gap is closed, not vacuous.Note: this repo is retired read-only (its own AGENTS.md; #168) with active development moved to
ComfyUI_frontend/packages/comfy-multi-playervia FE #16644 (still open). The follow-up is opened here following the post-retirement precedent of #172 (test-only, off standalonemain) so the review items have a carrier before the workspace move lands; it should port (or be re-targeted) with the move.Origin row:
act-cmp-162-followup(awc-audit second-pass CONFIRMED_GAP). QUIET WEEK: assigned christian-byrne only; the approver is recorded here as the originating reviewer, not assigned or mentioned.Evidence
Node v25.9.0 (
nvm use 25), headdb3e005cf7317eddb877c7fe8c113e8d6903ce82:Harness-sensitivity proof (item 2): reverting only the
observeDeepchange back to the child-array observer makes the new sensitivity assertion FAIL (adds no encoded link-reference writes…×), confirming the new harness catches the whole-valueport.linksreplacement the old one missed.