Comfy-Org / Comfy-Org/ComfyUI_frontend
ECS retirement condition 3 has no measurement channel: the shims it gates emit one deduped console.warn with no source
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 702
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 490
Description
The ECS migration plan gates removal of the deprecated compatibility shims on evidence that no code path in this repo can produce.
`docs/architecture/ecs/ecs-migration-plan.md` §3 "Retire duplicate state and synchronization bridges" says a compatibility path can be removed per concern only when, among other conditions, "extension usage has been measured and a migration is published". `ecs-extension-compatibility-audit.md` §"Required follow-up evidence" names what must be measured: ecosystem use of `input.link`, `output.links`, and indexed `graph.links[id]`.
The channel that implies is deprecation telemetry. It does not exist.
Measured 2026-08-22 against `feature/ecs-migration` head `08f7232d4bfea282b1901723c7b4c2f156c92f59`:
- `LiteGraphGlobal.ts:285` routes deprecation reporting to `[console.warn]`. There is no production sink anywhere in `src/`.
- `feedback.ts:16-22` dedupes by message string, so each accessor emits at most **one** warning per session unless `LiteGraph.alwaysRepeatWarnings` (default `false`).
- All four slot call sites pass **no `source`** argument, so a host cannot attribute a read to a node type or a pack. `feedback.ts:8-11` documents `source` as the place unique data belongs, and `badgePosition` (`LGraphNode.ts:553,560`) does pass `this`. The two surfaces the retirement condition most needs to measure are the two that pass nothing.
`Comfy-Org/ComfyUI_ECS_Compat_Check` is a separate instrument and a good one, but its sensitivity is explicitly unmeasured by its own author, so a green run is not currently proof for this condition.
**Effect:** retirement condition 3 is cited as the blocker on two compatibility paths that are scheduled for removal (deprecated slot connectivity accessors, indexed `graph.links[id]`). A blocker that cannot be evaluated makes those items look tracked when nothing is advancing them.
**Decide one of:**
1. The plan's evidence list is wrong, and the compat-check harness alone satisfies condition 3. Amend §3 and the compat audit to say so, and state what harness result counts as sufficient.
2. The condition stands, and the shims need a `source` argument at the four slot call sites plus a production sink before it is achievable. That is the work item.
Either way the plan text should stop asking for a measurement with no channel.
Related: #15409 and #15545 are the same failure mode on the performance side.
Contributor guide
Assessment
This issue has not been assessed yet.