You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a workflow author, I want to start and resume a retained workflow through the same implicit Workspace, so an interrupted procedure continues from its journal frontier without reconstructing intermediate filesystem history.
Initial vertical slice
Implement the first complete xmd workflow path around declarative file effects:
Both commands run in the foreground, stream rendered output while the document executes, and return only when the execution completes, suspends, fails, is cancelled, or is interrupted.
start creates a WorkflowRun with one implicit root Workspace. A caller may supply --id; otherwise the host generates it. resume selects only by run ID and uses the retained immutable definition and props. A document path never selects a previous run.
The host installs retained contextual filesystem and cwd providers. Completed durable effects restore their recorded results. Ephemeral Workspace attachment and lexical contexts run again. Partial replay continues against the retained root at the journal frontier; completed root replay returns without attaching a Workspace provider.
The workflow command also installs #381's useWorkflowServiceDenial() inside each start and resume execution scope before importing or expanding the workflow document. The denial provider never delegates, so an API.Service provider inherited from the ordinary CLI host or programmatic caller cannot become native fallback execution. A future workflow service capability may replace it only at an explicitly authorized workflow adapter boundary; delegation must still terminate at the denial rather than escape to the caller's host.
Acceptance
start creates or compatibly reuses exactly one run ID and rejects incompatible reuse.
Root props use the existing --props-* CLI convention.
Story
As a workflow author, I want to start and resume a retained workflow through the same implicit Workspace, so an interrupted procedure continues from its journal frontier without reconstructing intermediate filesystem history.
Initial vertical slice
Implement the first complete
xmd workflowpath around declarative file effects:Both commands run in the foreground, stream rendered output while the document executes, and return only when the execution completes, suspends, fails, is cancelled, or is interrupted.
startcreates a WorkflowRun with one implicit root Workspace. A caller may supply--id; otherwise the host generates it.resumeselects only by run ID and uses the retained immutable definition and props. A document path never selects a previous run.The host installs retained contextual filesystem and cwd providers. Completed durable effects restore their recorded results. Ephemeral Workspace attachment and lexical contexts run again. Partial replay continues against the retained root at the journal frontier; completed root replay returns without attaching a Workspace provider.
The workflow command also installs #381's
useWorkflowServiceDenial()inside eachstartandresumeexecution scope before importing or expanding the workflow document. The denial provider never delegates, so anAPI.Serviceprovider inherited from the ordinary CLI host or programmatic caller cannot become native fallback execution. A future workflow service capability may replace it only at an explicitly authorized workflow adapter boundary; delegation must still terminate at the denial rather than escape to the caller's host.Acceptance
startcreates or compatibly reuses exactly one run ID and rejects incompatible reuse.--props-*CLI convention.<File>mutation and filtered journal result use Commit Workspace mutations and journal results atomically #365's atomic transaction boundary.startandresumeinstall the non-delegating workflowAPI.Servicedenial before root import or expansion; an inherited native provider is never called.xmd runbehavior is unchanged.Intentionally excluded
Dependencies
API.Serviceand the independently testable, non-delegating workflow denial provider; this issue installs that denial at the new command's authorized adapter boundary.