Added low-level workflow protocol documentation#5024
Conversation
…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>
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>
|
I think the contributing folder for this type of content makes sense. 👍 |
marcduiker
left a comment
There was a problem hiding this comment.
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.
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/_index.md
Show resolved
Hide resolved
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/_index.md
Outdated
Show resolved
Hide resolved
|
@JoshVanL can you give this a review? |
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/_index.md
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
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.
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/_index.md
Outdated
Show resolved
Hide resolved
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/_index.md
Outdated
Show resolved
Hide resolved
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/_index.md
Outdated
Show resolved
Hide resolved
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/_index.md
Show resolved
Hide resolved
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/_index.md
Outdated
Show resolved
Hide resolved
...ntributing/protocol-reference/workflow-protocol/workflow-protocol-orchestration-lifecycle.md
Show resolved
Hide resolved
...en/contributing/protocol-reference/workflow-protocol/workflow-protocol-activity-lifecycle.md
Show resolved
Hide resolved
...content/en/contributing/protocol-reference/workflow-protocol/workflow-protocol-versioning.md
Show resolved
Hide resolved
daprdocs/content/en/contributing/protocol-reference/workflow-protocol/_index.md
Outdated
Show resolved
Hide resolved
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. |
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
…ime-workflow-docs
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>
Thank you for helping make the Dapr documentation better!
Please follow this checklist before submitting:
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:
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