Repository navigation
fix(hub): retry each helper notice until its coordinator can take it - #43
TheGreatAxios wants to merge 2 commits into
Conversation
|
Triage: Unsure Asking a maintainer about:
Changed since the last verdict (Fail at |
Nothing triage asked to change still fails, so this request no longer stands.
|
Verified against a real throwaway Postgres 17: the 3 new e2e tests in |
|
Closing: this rebuilds retry and backoff that Interchange already does natively. Once the hub accepts a mail, Interchange queues it and retries delivery. A coordinator that refuses mail is a fault to surface, not something to retry around. The real bug, one failed notice blocking every other project's, is redone leanly in CL-11918 with no migration and no retry timers. |
When a helper run ends, the hub tells its coordinator. Before this change:
Now each ended run carries its own retry state (
next_attempt_at,attempts, migration0036), following Interchange's dispatch-store pattern:Closes CL-11895
Verification
lint,format:check,typecheck,test(70 pass).test/e2e/specialist-end-notices.test.tson the throwaway compose DB, asserting stored rows and recipients. 3 tests: a failing coordinator doesn't block another project; an unbound project gets its notice after a bind; a failed but still-bound coordinator's notice goes to the next one.main: 0/3 pass. With this change: 3/3, run 3 times.