elsa-workflows / elsa-workflows/elsa-foundation

Wait for a successful child and return safe outputs

Open
#679 0 comments 0 reactions 0 assignees View on GitHub
ready-for-agent
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.