Comfy-Org / Comfy-Org/ComfyUI_frontend
Restore DQ-02 boundary link authority and drop telemetry on main
- 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
Assessment
This issue has not been assessed yet.