Comfy-Org / Comfy-Org/ComfyUI_frontend

Restore DQ-02 boundary link authority and drop telemetry on main

Open
#16,232 0 comments 0 reactions 1 assignee Claimed by @DrJKL View on GitHub
area:links
Dominant language
TypeScript
Stars
2k
Forks
699
Avg merge
1d 7h
Merged PRs (30d)
490

Description

## Problem / Goal
DQ-02's boundary authority and telemetry are absent from current `main`.

## Proposed Solution
Restore discriminating coverage first, then restore the decided contract.

## Acceptance Criteria
Boundary authority, pruning, and drop telemetry are test-proven on current `main`.

Full context for agent readers

### Exact evidence

At exact `main` `65722a07f846f6b9101e17754df81bb1f9bb431f`, `src/lib/litegraph/src/linkDeduplication.ts` has no boundary `linkIds` authority, no `pruneLinkReferences`, and no `app:link_dedup_drop` telemetry. The same is true at the prior XC-123 cutoff `9e4f489f817fe708ba27448303c0c75d88c4c514` and current observed `main` `fed789ca524e0cb2c57759771fa195704a5a70e0`.

Merged PR #15689 implemented the decided DQ-02 Option A contract and carried telemetry commit `f274d5dd0a`, but its reported merge commit `a31f654248f88a435f81e617573c95a10292db37` is not an ancestor of current `main`. PR #15924's main-targeted ECS integration supplied the simpler regular-input implementation now present. PR #16155 corrected that implementation's diagnostics and partial-retry behavior; it did not create this older omission.

### Coverage-first detail

1. Port the existing discriminating boundary fixture from #15689: boundary `linkIds: [2, 1]` against document order `[1, 2]`; assert link 2 survives and dropped IDs are pruned.
2. Assert one `app:link_dedup_drop` event for a different-origin drop with target, dropped/survivor IDs, and origins; same-origin remaps stay silent.
3. Run each detector red against current `main` before the production change, then green after it. Preserve the regular-input survivor, warning, uniqueness, stable-resave, and partial-realignment tests.
4. Restore DQ-02 Option A: first live boundary `linkIds` entry is authoritative, dropped references are pruned, and the drop is observable.

### Provenance

- Decision: workspace `program/decisions.md`, `D-dq-02-final`.
- Prior implementation: https://github.com/Comfy-Org/ComfyUI_frontend/pull/15689
- Integration that supplied current implementation: https://github.com/Comfy-Org/ComfyUI_frontend/pull/15924
- Exact-ref classification: https://github.com/christian-byrne/blocked-on-christian/issues/72
- Linear mirror: https://linear.app/comfyorg/issue/FE-1943/gh16232-restore-dq-02-boundary-link-authority-and-drop-telemetry-on

### Glossary

- **DQ-02:** decision that boundary `linkIds` order selects the surviving link.
- **Boundary slot:** a subgraph input/output slot bridging parent and child graphs.
- **Discriminating fixture:** test data whose boundary and document orders disagree, so the authority rule is observable.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.