fix(executor): preserve disabled-branch execution and join readiness

Merged
WA
2mo ago
+904-38

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)