Render durable progress without confusing a stream connection with successful execution.
Practical procedure
- Start from a known work-order identifier and use its /work-orders/{work_order_id}/events route for progress.
- Parse complete server-sent events and preserve event identity where supplied. Associate updates with the same task instead of creating a new task when the connection drops.
- Read the current task state after reconnecting or encountering an error. Show partial progress as partial until the actual terminal state and output are available.
Use a governed work order
A GoCux work order records an outcome, context and acceptance criteria. Use it for durable work that needs the optional Cloud Worker, rather than assuming that every chat turn starts a background job. Select the project and data classification when creating the request. Keep the returned work-order identity so progress, decisions and attachments remain tied to the same operation.
Contract example
Developer examples below describe routes on an authorized, configured GoCux control-plane base URL. They are request shapes or operation references, not claims that a particular public hostname exposes the API. Use the workspace for the corresponding human workflow; availability and permissions depend on the actual deployment.
Operation reference for this workflow
GET /work-orders/{work_order_id}/events
GET /work-orders/{work_order_id}Inspect the result
A recorded or accepted work order is not proof of completed execution. Read its state, progress and attachments through the task views. Review the output against the acceptance criteria before using it. If a structured result was requested, inspect its validation state separately from the narrative answer.
What to keep explicit
Streaming transports observations. It does not make a task atomic or ensure every disconnected client received every intermediate update.
Handle incomplete and refused work
A missing worker or an unavailable dispatch ledger can refuse durable execution while normal chat remains independent. Reuse an operation key only for the same request. After a lost response, reconcile the original operation rather than blindly dispatching new work. A configured maxCost is recorded as context; the work-order schema does not claim it is an enforced monetary ceiling.
Continue with related guides
Bring this workflow into your workspace.
Set the scope. Review the evidence. Approve the steps that need it.