Skip to content

fix(orchestrator): Recover cancelled deliveries only on explicit rearm - #23

Draft
mwolson wants to merge 1 commit into
contrib/ctm/exhausted-start-settlementfrom
contrib/ctm/cancelled-delivery-recovery
Draft

mwolson wants to merge 1 commit into
contrib/ctm/exhausted-start-settlementfrom
contrib/ctm/cancelled-delivery-recovery

Conversation

@mwolson

@mwolson mwolson commented Sep 27, 2026

Copy link
Copy Markdown
Owner

What Changed

Stopping a parent's delegated-completion wake now returns its results to pending without immediately waking the parent again. Those results, and other pending results in the same parent, are delivered again only when the delegated task's wake policy is changed explicitly, for example when a parent's wait times out and it asks to be woken on completion. Restarting the server does not undo the Stop, and a late acceptance can no longer consume a cancelled or interrupted delivery.

The claims on pending results and the next delivery are reserved in one transaction, so concurrent policy changes create a single delivery and a failed write leaves nothing half-claimed.

Why

After Stop, results could either be lost or come straight back as a new wake, which defeated the point of stopping. Requiring an explicit rearm keeps Stop meaningful while still letting the parent collect its results.

Known Limitations

If reserving a delivery fails while a wake-policy change is being planned, that command's ID is already used. The wait-timeout upgrade reuses a fixed ID, so it cannot be retried for that task afterward.

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes

@mwolson
mwolson added this pull request to stack #36 September 27, 2026 21:48
@mwolson
mwolson force-pushed the contrib/ctm/cancelled-delivery-recovery branch 2 times, most recently from 4edd623 to 38471b9 Compare October 1, 2026 12:38
@mwolson
mwolson removed this pull request from stack #36 October 1, 2026 12:39
@mwolson
mwolson changed the base branch from contrib/ctm/delegated-sibling-delivery to contrib/ctm/exhausted-start-settlement October 1, 2026 12:39
@mwolson
mwolson added this pull request to stack #53 October 1, 2026 12:41
@mwolson
mwolson force-pushed the contrib/ctm/cancelled-delivery-recovery branch from 38471b9 to 1964d6f Compare October 1, 2026 14:13
@mwolson
mwolson removed this pull request from stack #53 October 1, 2026 14:13
@mwolson
mwolson added this pull request to stack #55 October 1, 2026 14:13

This branch has not been deployed

No deployments
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.

1 participant