Skip to content

runtime: separate call completion from store driver outcomes - #371

Merged
lannbot merged 1 commit into
mainfrom
fix/call-owned-completion
Sep 13, 2026
Merged

lannbot merged 1 commit into
mainfrom
fix/call-owned-completion

Conversation

@lannbot

@lannbot lannbot commented Sep 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

Fixes #350. Fixes #357.

Cycle 1 of the requested two-cycle scheduler refactor: calls own their outcomes while the existing store drivers continue owning execution progress.

  • Separate canonical result capture from delivery at the owning activation's return or genuine JSPI suspension. Unrelated host work no longer withholds a result; synchronous post-return remains inside its invocation's failure boundary.
  • Route autonomous scheduler faults to their originating host call, including nested FACT roots, rather than whichever export or host activity happens to drive the store.
  • Preserve already-published results, synchronous return shape, eager Future conventions, raw non-poisoning host reports, and background progress after a routed fault.
  • Make poisoning/cleanup notification preserve the first cause (including undefined) and attempt every affected call despite cleanup failures.
  • Add real plain/JSPI two-instance and nested-FACT regressions, plus ready-only handoff, synchronous shape, pre-entry report, and cleanup/poison tests.

Cycle 2 will replace overlapping driver/arrival/fallback-pump machinery with event-triggered draining. This PR intentionally keeps that machinery while establishing its behavioral contract.

Verification

No protocol marks, manifests, goldens, or conformance expectations changed. Automerge will be armed and watched through delivery.

@lannbot
lannbot enabled auto-merge September 13, 2026 15:08
@lannbot
lannbot merged commit 68491f2 into main Sep 13, 2026
3 checks passed
@lannbot
lannbot deleted the fix/call-owned-completion branch September 13, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants