Romuald Członkowski
25b8a8145d
feat(validator): detect conditional branch fan-out & connection auto-fixes ( #622 )
...
* feat(auto-fixer): add 5 connection structure fix types
Add automatic repair for malformed workflow connections commonly
generated by AI models:
- connection-numeric-keys: "0","1" keys → main[0], main[1]
- connection-invalid-type: type:"0" → type:"main" (or parent key)
- connection-id-to-name: node ID refs → node name refs
- connection-duplicate-removal: dedup identical connection entries
- connection-input-index: out-of-bounds input index → clamped
Includes collision-safe ID-to-name renames, medium confidence on
merge conflicts and index clamping, shared CONNECTION_FIX_TYPES
constant, and 24 unit tests.
Concieved by Romuald Członkowski - www.aiadvisors.pl/en
* feat(validator): detect IF/Switch/Filter conditional branch fan-out misuse
Add CONDITIONAL_BRANCH_FANOUT warning when conditional nodes have all
connections on main[0] with higher outputs empty, indicating both
branches execute together instead of being split by condition.
Extract getShortNodeType() and getConditionalOutputInfo() helpers to
deduplicate conditional node detection logic.
Conceived by Romuald Czlonkowski - https://www.aiadvisors.pl/en
2026-03-08 08:41:44 +01:00
..
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-17 18:37:55 +01:00
2025-12-17 18:37:55 +01:00
2025-12-17 18:37:55 +01:00
2025-12-17 18:37:55 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-24 15:15:22 +01:00
2025-12-24 15:15:22 +01:00
2025-12-24 15:15:22 +01:00
2025-12-24 15:15:22 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 13:38:06 +01:00
2025-12-05 13:38:06 +01:00
2025-12-05 13:38:06 +01:00
2025-12-05 13:38:06 +01:00
2026-02-06 09:09:37 +01:00
2025-12-23 18:50:55 +01:00
2025-12-23 18:50:55 +01:00
2025-12-23 18:50:55 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 13:38:06 +01:00
2025-12-05 13:38:06 +01:00
2025-12-05 13:38:06 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2026-01-07 18:09:55 +01:00
2026-01-07 18:09:55 +01:00
2026-01-07 18:09:55 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2026-03-08 08:41:44 +01:00
2026-03-08 08:41:44 +01:00
2026-03-08 08:41:44 +01:00
2026-03-08 08:41:44 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-17 18:37:55 +01:00
2025-12-17 18:37:55 +01:00
2026-03-08 08:41:44 +01:00
2026-03-08 08:41:44 +01:00
2026-03-08 08:41:44 +01:00
2026-03-08 08:41:44 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00
2025-12-05 12:01:31 +01:00