Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
8f27b04
🔧 Own the neutral lifecycle types and derive a factory run id (#698)
minkimcello Sep 2, 2026
95a8f0e
🚚 Keep the GitHub-named run-id derivation out of the neutral surface …
minkimcello Sep 2, 2026
61b63fc
🚚 Give the software factory its own package subpath (#698)
minkimcello Sep 2, 2026
937a388
📦 Add the Cloudflare Workers test runtime (#698)
minkimcello Sep 2, 2026
299ca74
🔒 Narrow the software-factory seam to the product promise (#698)
minkimcello Sep 2, 2026
28814ef
🧪 Stand up the workerd suite and measure real Durable Object storage …
minkimcello Sep 2, 2026
670ad0c
📌 Collapse the duplicate vitest peer context (#698)
minkimcello Sep 2, 2026
da758d9
🧱 Share the SQLite schema and give Cloudflare its own identity carrie…
minkimcello Sep 2, 2026
f7b2a24
✅ Prove the owner's storage on real workerd (#698)
minkimcello Sep 2, 2026
0cbd8ef
👷 Give the workerd suite a required CI job (#698)
minkimcello Sep 2, 2026
b69bab4
🔐 Admit an executor and give it a private transport (#698)
minkimcello Sep 3, 2026
fc4841a
🧾 Collect a remote transaction and submit one closed intent (#698)
minkimcello Sep 3, 2026
bf6358d
📡 Carry a runner's request to its owner (#698)
minkimcello Sep 3, 2026
871dbc8
🔑 Verify the token instead of trusting claims (#698)
minkimcello Sep 3, 2026
dd45ed8
🔒 Own the whole transaction, detach the intent, fail the channel clos…
minkimcello Sep 3, 2026
b6f58d0
🧩 Publish the pure core predicates from node-free subpaths (#698)
minkimcello Sep 3, 2026
89272a6
🛡️ Harden the token, own the transaction, type the answers (#698)
minkimcello Sep 3, 2026
026ef1f
🔎 Bound the answer envelope and prove teardown (#698)
minkimcello Sep 3, 2026
febef13
🔌 Make the connection release the acquisition it holds (#698)
minkimcello Sep 3, 2026
b69ab73
📖 Read a run from the owner that holds it (#698)
minkimcello Sep 3, 2026
827f1d4
🧱 Prove a whole retained root before answering with one (#698)
minkimcello Sep 3, 2026
d97615f
🌳 Put a retained root on a runner and read it back (#698)
minkimcello Sep 3, 2026
6e4596d
🔗 Keep two hardlink groups two files (#698)
minkimcello Sep 3, 2026
eb4fb81
🧭 Keep the content-store format out of the Workspace surface (#698)
minkimcello Sep 3, 2026
99b21a1
✍️ Let the owner decide one whole proposal (#698)
minkimcello Sep 3, 2026
4a0e940
🧷 Hold a proposal to what it claims to be (#698)
minkimcello Sep 3, 2026
f143493
🗝️ Admit a locator, and decide the mappings before writing any (#698)
minkimcello Sep 3, 2026
2290d44
🚚 Let the runner actually publish what it did (#698)
minkimcello Sep 3, 2026
dd08600
🧹 Read the sent command instead of asserting its shape (#698)
minkimcello Sep 3, 2026
867e9a8
🤝 Prove the two capture implementations describe one Workspace (#698)
minkimcello Sep 3, 2026
aec12b8
🎯 Make a retry the same question, and seal only after teardown (#698)
minkimcello Sep 4, 2026
11236ff
🧾 Make a decision survive the connection that asked for it (#698)
minkimcello Sep 4, 2026
45ad250
🔐 Let the transaction that got the answer be the one that promotes (#…
minkimcello Sep 4, 2026
3a3de81
🎟️ Enlist the attempt, not a proposal about it (#698)
minkimcello Sep 4, 2026
1088f75
🗄️ Give a remote run the same handle a local one has (#698)
minkimcello Sep 4, 2026
fdb2b4a
🧮 Anchor the execution list where the owner can choose the anchor (#698)
minkimcello Sep 4, 2026
6473ff9
🧷 Prove the snapshot, and answer failures the way the interface says …
minkimcello Sep 4, 2026
e61793c
🐛 Send the record the client parses, and carry the version the owner …
minkimcello Sep 4, 2026
0303ae2
🐛 Report what actually failed, and close the version domain
minkimcello Sep 4, 2026
ddd9f0c
✨ Run Workspace work on the runner against a run the owner holds
minkimcello Sep 4, 2026
7c0bf30
🐛 Resolve what a Workspace path lands on, and bind one run as one thing
minkimcello Sep 4, 2026
5b04ad2
🐛 Make one owner link one value, so a run cannot be opened from two
minkimcello Sep 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -640,6 +640,34 @@ jobs:
# on a `ci-main-red-fix` pull request, and may be skipped on an ordinary one.
# Every other job must succeed outright — an unexpected skip is an unproven
# job, which is exactly what this check exists to catch.
# The workerd suite. It runs where the runtime is real: acquisition lifetime,
# owner eviction and transaction atomicity are properties of a Durable Object
# rather than of any model of one, so none of them is provable in the Deno,
# Node or Bun corpora — which is also why these files carry a `.vitest.ts`
# suffix those corpora never discover.
#
# `pnpm install` comes last on purpose: `deno install` prunes the links pnpm
# placed (scripts/deps.ts says so in its own header), and the plugin only
# takes over the pool when it and the CLI hold the same vitest.
test-cloudflare:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6

- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
with:
node-version: "22"

- uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4

- run: pnpm install

- name: Typecheck the Cloudflare owner
run: pnpm check:cloudflare

- name: Cloudflare Workers suite
run: pnpm test:cloudflare

green:
needs:
[
Expand All @@ -653,6 +681,7 @@ jobs:
site,
test-node,
test-bun,
test-cloudflare,
]
if: always()
runs-on: ubuntu-latest
Expand Down
16 changes: 13 additions & 3 deletions deno.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
{
"workspace": ["packages/*", "site"],
"workspace": [
"packages/*",
"site"
],
"exclude": [
"scripts/tests/fixtures",
".xmd-eval",
"**/npm",
"packages/workflow/vendor/cloudflare-computer-dofs/upstream",
"packages/workflow/vendor/cloudflare-computer-dofs/generated/**/*.d.ts",
"packages/acp/vendor/acpx/upstream",
"packages/acp/vendor/acpx/generated/**/*.d.ts"
"packages/acp/vendor/acpx/generated/**/*.d.ts",
"packages/workflow/src/cloudflare",
"packages/workflow/tests/cloudflare",
"vitest.config.ts",
"packages/workflow/tsconfig.cloudflare.json",
"packages/workflow/cloudflare.ts"
],
"nodeModulesDir": "auto",
"lock": {
Expand Down Expand Up @@ -71,6 +79,8 @@
"review:local": "deno run --allow-all packages/cli/src/deno.ts run .reviews/ReviewPR.local.md --component-dir .reviews/components --component-dir .reviews/policies --component-dir packages/core/components -j .reviews/journal.local.jsonl",
"analyze": "deno run --allow-all packages/cli/src/deno.ts run .reviews/AnalyzeRepo.md --component-dir .reviews/components --component-dir .reviews/policies --component-dir packages/core/components -j .reviews/journal.analyze.jsonl",
"analyze:ci": "deno run --allow-all packages/cli/src/deno.ts run .reviews/AnalyzeRepoCI.md --component-dir .reviews/components --component-dir .reviews/policies --component-dir packages/core/components -j .reviews/journal.analyze.ci.jsonl",
"analyze:dispatch": "deno run --allow-all packages/cli/src/deno.ts run .reviews/DispatchRepoAnalysis.md --component-dir .reviews/components --component-dir .reviews/policies --component-dir packages/core/components -j .reviews/journal.dispatch.jsonl"
"analyze:dispatch": "deno run --allow-all packages/cli/src/deno.ts run .reviews/DispatchRepoAnalysis.md --component-dir .reviews/components --component-dir .reviews/policies --component-dir packages/core/components -j .reviews/journal.dispatch.jsonl",
"test:cloudflare": "pnpm test:cloudflare",
"check:cloudflare": "pnpm check:cloudflare"
}
}
Loading
Loading