elsa-workflows / elsa-workflows/elsa-foundation
Wait for a successful child and return safe outputs
- Dominant language
- C#
- Stars
- 5
- Forks
- 1
- Avg merge
- 3h 52m
- Merged PRs (30d)
- 212
Description
## Parent
#674
## What to build
Complete the successful wait-for-completion path. When WaitForCompletion is true, the parent checkpoint must atomically persist its dispatch record, child-start intent, bookmark, and suspension. A child Completed checkpoint records durable parent-resume work, the global resumption path resumes the parent idempotently, and DispatchWorkflow completes with a structured safe result and Completed outcome.
Covers parent user stories 9, 12, 14–16, 25–27, 34, 42, and 53.
## Acceptance criteria
- [ ] Wait mode atomically persists the dispatch record, reserved child ID, child-start intent, bookmark, and parent suspension state.
- [ ] The child cannot become externally visible without the corresponding durable parent wait state.
- [ ] A child Completed checkpoint atomically records any required parent-resume intent.
- [ ] Parent-resume delivery occurs outside both workflow actor mailboxes and retries with backoff until consumed or the parent is already terminal.
- [ ] Duplicate start, terminal, and resume delivery converges on one child, one bookmark consumption, and one parent activity completion.
- [ ] The result contains the child execution ID, Completed terminal status, and JSON-safe output entries captured only after the child terminal checkpoint.
- [ ] Output entries retain declared type and redaction status, and redacted values are not disclosed.
- [ ] The activity emits Completed through ordinary graph outcome semantics.
- [ ] Wait mode has no built-in timeout.
- [ ] Groundwork crash tests cover parent suspension, child completion, terminal intent recording, resume delivery, output capture, and parent completion.
## Blocked by
- #676
- #678
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the WaitForCompletion path and DispatchWorkflow, then trace the parent and child checkpoint handling, global resumption path, and workflow actor mailboxes. Review the groundwork crash tests covering suspension, child completion, resume delivery, output capture, and parent completion. Done means the listed acceptance criteria hold, including idempotent retries and JSON-safe redacted outputs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend-api-design, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100