📝 Specify retained workflow Workspaces - #358
Merged
Merged
Conversation
PR #358: 📝 Specify retained workflow Workspaces2 files, +955 / -9 Scope🔴 PR has 964 lines changed. Split into focused PRs. 🟡 964 lines changed. PRs under 400 receive more thorough review. Structural✅ No structural bloat detected. Slop✅ Slop indicators look low. Static Analysis✅ Oxlint found no issues. CorrectnessNo extraneous code patterns detected. |
This was referenced Aug 7, 2026
This was referenced Aug 7, 2026
taras
marked this pull request as ready for review
August 7, 2026 03:28
This was referenced Aug 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The Workspace design evolved across #218, #346 and three implementation spikes, but its accepted decisions existed only in issue comments and a local interview transcript. The old #218 contract still assumed an explicit Cloudflare Workspace whose persistence was separate from the journal, which no longer matched the selected topology or the intended Agent authority model.
What changes
Before:
The architecture stopped at workflow-run identity and base pinning. Replay restoration, lifecycle commands, repository composition, local transaction boundaries, history forks, Agent authority and the Deno/DOFS topology were unresolved or described inconsistently across issues.
After:
The architecture defines the retained implicit Workspace and its invariants. A new specification records the observable
xmd workflowcontract, from the first command and multi-repository examples through replay, failure, history and topology.How it works
The local host owns SQLite in Deno and uses Cloudflare DOFS behind contextual APIs. Workspace-local filesystem, Git and metadata effects commit their mutation and journal result atomically. External Agent, Push and PullRequest effects reconcile stable identities instead. Agents receive read-only materializations and propose constrained XMD for the durable evaluator to execute.
Review guide
Start with:
architecture.md, from “Workflow Workspace” through “Local Workspace topology”Then review:
specs/workflow-workspace-spec.md§§1–4 for command, identity and lifecycle behaviorLook carefully at:
What must stay true
xmd runretains current-environment semantics; durability belongs toxmd workflow.How to verify it
git diff --checkverifies that both Markdown changes are free of whitespace errors.Scope
Included
Intentionally unchanged
<Expand>is a placeholder);workerdin the initial local host;New abstractions
Risks and limitations
Closes #346. Defines the implementation contract for #218 and updates the path to #181.
Scope confirmation