Skip to content

fix: reconcile missing recurring flow schedules#2903

Merged
chubes4 merged 1 commit into
mainfrom
fix/2902-recurring-flow-reconciliation
Jul 19, 2026
Merged

fix: reconcile missing recurring flow schedules#2903
chubes4 merged 1 commit into
mainfrom
fix/2902-recurring-flow-reconciliation

Conversation

@chubes4

@chubes4 chubes4 commented Jul 19, 2026

Copy link
Copy Markdown
Member

Summary

  • audit persisted recurring flow definitions against authoritative Action Scheduler coverage and expose a dry-run/apply reconciliation ability plus CLI
  • defer activation/deploy repairs until Action Scheduler is ready, lock concurrent repairs, and spread large fleet recovery over 24 hours
  • surface missing, invalid, duplicate, and blocked schedule ownership in system health without scheduling around active in-progress work

Testing

  • composer lint
  • scheduler reconciliation smoke suites
  • recurring scheduler idempotency smoke suite
  • PHP syntax checks for changed files
  • git diff --check
  • independent final code review found no blocking correctness issues

Operational Evidence

Production recovery restored 659 recurring Events schedules after 670 flows lost their next run. The initial one-hour repair window would have concentrated 627 starts; this change adds fleet-aware distribution and routine coverage diagnostics so that drift is detected and repaired safely.

Full homeboy review data-machine was not run locally because Homeboy's resource policy rejected the hot 8-CPU host at load 132.2 and no Lab runner was available. Focused Homeboy changed-file lint passed during implementation.

Closes #2902

@chubes4
chubes4 merged commit 3b334e2 into main Jul 19, 2026
@chubes4
chubes4 deleted the fix/2902-recurring-flow-reconciliation branch July 19, 2026 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: reconcile persisted recurring flows missing Action Scheduler actions

1 participant