Repository navigation
Description
The guides explain durable messaging, waits, activities and continue-as-new separately, but do not provide a single runnable reference for a long-lived conversation that survives worker replacement and bounds history growth.
At docs main e1ac63c3ccd93cbf7c6d0f6e94820af50531f545, Message Streams already documents reference payloads and cursor transfer through continue-as-new. Signals documents durable named waits. The agent operating-loop page describes an agent operating the product, which is a different task from authoring a conversational application.
Priority P3, a focused documentation/example addition using existing capabilities.
Acceptance:
- Provide one runnable, clearly identified deployment/language path. Use a deterministic fake model activity so the reference requires no paid model account or secrets.
- Accept ordered input, preserve conversation state or external payload references, and durably checkpoint emitted responses.
- Demonstrate worker stop/replacement while waiting and while an activity is in flight. Verify that replay preserves the agreed progress and duplicate handling follows the documented at-least-once contract.
- Bound history through a tested continue-as-new handoff, including pending input/cursor behavior. Keep external payload storage, summarization policy and authentication responsibilities explicit.
- Link to the existing feature guides and the runnable Sample/AI examples where applicable. Do not promise a production-scale chatbot, durable process memory or unqualified latency.
Source review establishes a missing composite reference, not a missing durability primitive. No new runtime behavior or external AI provider commitment is requested. Existing issue metadata was searched for conversational references before opening this issue.
Activity
rmcdaniel commentedon Oct 19, 2026
Keep human approval and inspectable whole-run state in the small reference: a recorded input/approval should resume the same logical conversation, activity-owned model work should use a fake adapter for the example, and continue-as-new should carry the explicit state needed afterward. A query or selected-run detail should explain the current phase/outcome. This remains one cohesive example; it does not add multi-region synchronization or a new prompt-evaluation platform to the acceptance scope.
rmcdaniel commentedon Oct 20, 2026
Product review:
Keep the runnable conversational reference: existing durable input, activity, signal and continue-as-new primitives support it. There is no evidence here requiring a new conversation runtime. Qualify replacement, ordered pending input and continuation using released signal-boundary behavior. Shared #216 separately owns safe command retries; a reference must not claim exactly-once external effects.
rmcdaniel commentedon Nov 3, 2026
Ownership: the durable-workflow-github-io repo agent is taking this (2026-11-03), after the stable-manifest PR (#437) and #405.
Plan. The runnable path is embedded Laravel: a new
sample-appgallery sample,App\Workflows\Conversation\ConversationWorkflowwithphp artisan app:conversation. This site gets a guide page that links the existing Signals, Message Streams, Continue As New, Activities and execution-guarantee pages.Tests, against the released package (sample-app currently locks Workflow 2.17.1):
Out of scope: exactly-once external effects, production chatbot scale, and latency claims.
rmcdaniel commentedon Nov 4, 2026
Delivered:
d1b4ef7c. AddsConversationWorkflowandapp:conversation, pinned to the locked Workflow 2.17.1, with 9 tests. The tests cover a worker lost while applying a signal, a worker lost with the model activity in flight, an at-least-once reply write, a stale, duplicate or early decision bound by a replay-stable proposal ID, and continue-as-new handoff.47cb143c. Adds the guide and gallery rows in 8 languages.Live readback after Pages deploy:
/docs/conversational-workflows/returns 200 with h1 "Conversational Workflow Reference"; it shows theproposalIdsignal parameter, theuuid4()step and the workflow#1010 note./fr/docs/conversational-workflows/returns 200 with h1 "Référence de workflow conversationnel"./docs/sample-app/listsConversationWorkflow.Found along the way: