engine: preserve caller async outcomes across callee Continue-As-New
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 9
- Forks
- 0
- Avg merge
- 3h 3m
- Merged PRs (30d)
- 509
Description
Origin: aardvark PR #1930 exact-head independent review.
Evidence
At head 19065c4f6fda74d4511aa3514bd4066c6c2beea9, Continue-As-New initiated inside a callee can replace workflow execution while the caller still owns outstanding async outcomes. Those outcomes can be lost or suppressed across the continuation boundary. This blocks the otherwise useful CEL control-expression/slice-budget work in #1930.
Acceptance criteria
- Define ownership and persistence of caller async outcomes when a descendant requests Continue-As-New.
- No outstanding result is silently lost, duplicated, or reported complete.
- Both local and Temporal drivers agree, with shared conformance cases covering outstanding success, failure, cancellation, and replay.
- Bound carried state/history and preserve deterministic workflow behavior.
- Reapply independently valid #1930 work only after this invariant is proved.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the exact-head evidence at 19065c4f6fda74d4511aa3514bd4066c6c2beea9 and the independently reviewed aardvark PR #1930. Compare how the local and Temporal drivers handle caller async outcomes across a callee Continue-As-New, then define shared conformance cases for success, failure, cancellation, and replay; done means outcomes are neither lost, duplicated, nor falsely completed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100