Skip to content

Added low-level workflow protocol documentation#5024

Merged
marcduiker merged 30 commits intodapr:v1.17from
WhitWaldo:runtime-workflow-docs
Feb 25, 2026
Merged

Added low-level workflow protocol documentation#5024
marcduiker merged 30 commits intodapr:v1.17from
WhitWaldo:runtime-workflow-docs

Conversation

@WhitWaldo
Copy link
Contributor

@WhitWaldo WhitWaldo commented Feb 1, 2026

Thank you for helping make the Dapr documentation better!

Please follow this checklist before submitting:

  • Commits are signed with Developer Certificate of Origin (DCO - learn more)
  • Read the contribution guide
  • Commands include options for Linux, MacOS, and Windows within tabpane
  • New file and folder names are globally unique
  • Page references use shortcodes instead of markdown or URL links
  • Images use HTML style and have alternative text
  • Places where multiple code/command options are given have tabpane

In addition, please fill out the following to help reviewers understand this pull request:

Description

Added low-level protocol implementation details about how the Workflow capability works from the runtime perspective independent of any SDK implementations. This will facilitate SDK contributors and maintainers and runtime maintainers to get up to speed of how Dapr's unique implementation works without having to independently parse the source code in the dapr/dapr runtime themselves.

This PR was largely generated by LLM atop the dapr/dapr repository with an emphasis on how the runtime logic works. While the generation was to be influenced by the shape of the protobuf definitions, it was not to rely on them because there are so many unused methods and properties in the existing durable task prototypes that Dapr doesn't use itself, further complicating developer understanding of what Dapr actually does here. I've also heavily edited it to correct hallucinations based on my own understanding and experience of and with the protocol.

I put this in the Contribution section instead of alongside the rest of the workflow documentation because:

  1. It's not necessarily important for day-to-day SDK users to understand this and I wanted to leave a clear separation of purpose in the documentation
  2. It's practical reference material for anyone looking to contribute to the project.

This should be lightly reviewed by the @dapr/maintainers-dapr team for accuracy before merging.

It does reference versioning functionality coming with 1.17, so it is not compatible with the 1.16 branch.

Issue reference

…ved via LLM (and heavily edited) from the dapr/dapr repository (favoring code implementation over available protobuf resources).

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
@WhitWaldo WhitWaldo self-assigned this Feb 1, 2026
@WhitWaldo WhitWaldo requested review from a team as code owners February 1, 2026 23:33
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
@marcduiker marcduiker added this to the 1.17 milestone Feb 23, 2026
@marcduiker
Copy link
Contributor

I think the contributing folder for this type of content makes sense. 👍

Copy link
Contributor

@marcduiker marcduiker left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is valuable to have, and I encourage other Dapr maintainers to provide more docs similar to this. I can imagine the overall process goes from Proposal -> Protocol (Docs)-> Development -> Release + Docs.

@marcduiker
Copy link
Contributor

@JoshVanL can you give this a review?

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds comprehensive low-level protocol documentation for the Dapr Workflow building block. The documentation is aimed at SDK contributors, maintainers, and runtime developers who need to understand the internal mechanics of how Dapr's workflow capability operates at the protocol level, independent of SDK implementations.

Changes:

  • Adds a new "Protocol Reference" section under contributing documentation
  • Creates detailed workflow protocol documentation covering management APIs, execution APIs, orchestration lifecycle, activity lifecycle, state management, and versioning
  • Includes 8 new documentation files with technical implementation details

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
daprdocs/content/en/contributing/protocol-reference/_index.md Creates the top-level protocol reference section index
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/_index.md Provides workflow protocol overview, architecture, and documentation map
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/workflow-protocol-management-api.md Documents the management API for controlling workflow instances
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/workflow-protocol-execution-api.md Details the Task Hub Protocol used by SDK workers
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/workflow-protocol-orchestration-lifecycle.md Explains replay-based orchestration execution and lifecycle
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/workflow-protocol-activity-lifecycle.md Describes activity execution flow and related concepts
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/workflow-protocol-state-and-history.md Documents state storage schema and history management
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/workflow-protocol-versioning.md Explains workflow versioning support

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@WhitWaldo
Copy link
Contributor Author

I think the contributing folder for this type of content makes sense. 👍

Well, I thought about that, but it's reference to the low-level mechanism of how a core piece of Dapr works. Contributing is often more the community or rules-based processes around which someone can jump in and help out, but as this is technical reference documentation, hiding it in "protocol reference" just made more sense.

WhitWaldo and others added 13 commits February 24, 2026 11:25
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
…ches

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
…iately provided with a new orchestration work item message).

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
… is exited

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
…rotocol/_index.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Marc Duiker <marcduiker@users.noreply.github.com>
@marcduiker marcduiker requested a review from JoshVanL February 25, 2026 18:14
@marcduiker marcduiker dismissed JoshVanL’s stale review February 25, 2026 18:15

Changes have been done by Whit

@marcduiker marcduiker merged commit e11f498 into dapr:v1.17 Feb 25, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants