Skip to content

feat: workflow orchestration (call_workflow / start_workflow)#4

Open
kasvith wants to merge 2 commits intomainfrom
feat/call-workflows
Open

feat: workflow orchestration (call_workflow / start_workflow)#4
kasvith wants to merge 2 commits intomainfrom
feat/call-workflows

Conversation

@kasvith
Copy link
Contributor

@kasvith kasvith commented Feb 26, 2026

Summary

  • Add call_workflow/3 for synchronous parent-child workflow composition (parent waits for child result)
  • Add start_workflow/3 for fire-and-forget child workflows (parent continues immediately)
  • Cascade cancellation: cancelling a parent cancels all active children
  • Idempotent resume: crashed parents don't create duplicate children
  • Nested workflow support (A → B → C chains)
  • New Durable.list_children/2 query API
  • Comprehensive guide at guides/orchestration.md

Test plan

  • 12 new orchestration tests covering call_workflow, start_workflow, cascade cancel, nesting, and integration with branches
  • All 268 existing tests still pass
  • mix precommit passes (format, compile --warnings-as-errors, credo --strict, tests)

Add parent-child workflow composition with two primitives:
- call_workflow/3: synchronous child execution with wait/resume
- start_workflow/3: fire-and-forget child execution

Includes cascade cancellation, idempotent resume, parent notification
on child completion/failure, and nested workflow support (A→B→C).
Add guides/orchestration.md with examples for call_workflow and
start_workflow. Update README with orchestration in features list,
API reference, and guides section. Update WORKPLAN to mark
orchestration complete (~268 tests).
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