fix(executor): preserve disabled-branch execution and join readiness
Merged
WA
2mo ago+904+904+012345678901234567890123456789-38-38-01234567890123456789
Summary
- Keep disabled block metadata in editor execution snapshots so condition and router edges resolve consistently. Disabled blocks remain excluded from execution and trigger selection.
- Release an independently activated join when a skipped branch removes its last dependency, while waiting for enclosing loops and parallel groups to exit.
- Ignore disabled source configuration during DAG route-handle inference so stale disabled condition/router data cannot block an unrelated active path.
- Add regression coverage for manual, chat, run-until, and run-from execution; disabled routing; both join completion orders; subflow boundaries; and legacy positional routes. Preserve existing route selection, output metadata, and missing-target errors.
Type of Change
- Bug fix
Testing
- Final affected-suite run after the compatibility correction and staging merge: 6,509 passed, 51 skipped. Application type-check passed.
- The preceding local full application run passed 42,028 tests with 67 skipped. GitHub lint, all test shards, and the production build passed on the final commit.
- Counterfactual tests using staging's original editor and scheduler implementations failed 12 of 110 tests; the same 110 passed with the fix. Two additional disabled-metadata regressions failed before their correction and now pass.
- Repository lint and lint:check, all 45 audits (including API validation), block-registry validation, and docs-manifest check passed.
- Eight scoped cleanup passes found no additional issues. No database migrations or dependency changes.
Checklist
- Code follows project style guidelines
- Self-reviewed my changes
- Tests added/updated and passing
- No new warnings introduced
- I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)