gsxdsm
72623ec804
FN-8837: fix pull-request merge retry recovery
Make pull-request merge failures retry safely and report actionable terminal states.
- Persist exponential retry backoff and schedule durable retry wakeups.
- Classify policy, transient, and non-retryable GitHub merge failures correctly.
- Clear retry state on successful merges and cover notifications and recovery paths.
Files changed:
.changeset/fn-8837-pr-merge-retries.md | 7 +
docs/architecture.md | 1 +
.../task-update-awaiting-approval-reason.test.ts | 9 +
packages/core/src/store.ts | 2 +-
packages/core/src/task-store/task-update.ts | 6 +-
packages/core/src/types/task/task-core.ts | 7 +-
.../src/__tests__/merge-error-recovery.test.ts | 440 ++++++++++++++++++++-
.../engine/src/__tests__/ntfy-provider.test.ts | 14 +
.../engine/src/__tests__/webhook-provider.test.ts | 15 +
.../__tests__/notification-service.test.ts | 48 +++
.../src/notification/notification-service.ts | 15 +-
packages/engine/src/notification/ntfy-provider.ts | 15 +-
.../engine/src/notification/webhook-provider.ts | 9 +-
packages/engine/src/project-engine.ts | 240 +++++++++--
14 files changed, 781 insertions(+), 47 deletions(-)
Fusion-Task-Id: FN-8837
Fusion-Task-Lineage: a39b3491-d5cb-4509-b450-3e5671e0ba2d
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-08 22:43:45 -07:00
..
2026-07-31 18:03:13 -07:00
2026-08-08 22:43:45 -07:00
2026-08-08 14:25:19 -07:00
2026-08-08 14:25:19 -07:00
2026-06-08 15:19:27 -07:00
2026-08-08 20:51:19 -07:00