@ewhauser/world-celld 0.5.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## 0.7.0 (2026-09-27)
6
+
7
+ ## What's Changed
8
+ * test(perf): cover mixed workflows, sustained load, and node failover by @ewhauser in https://github.com/ewhauser/world-celld/pull/64
9
+ * feat!: require celld v0.6.0 by @ewhauser in https://github.com/ewhauser/world-celld/pull/67
10
+ * perf(queue): dispatch consumer batches without a fill wait by @ewhauser in https://github.com/ewhauser/world-celld/pull/69
11
+ * perf(codec): use native base64 and a faster fallback by @ewhauser in https://github.com/ewhauser/world-celld/pull/70
12
+ * perf(runs): list runs inside the fleet in one round trip by @ewhauser in https://github.com/ewhauser/world-celld/pull/74
13
+ * perf(indexes): publish run mutations to indexes inside the fleet by @ewhauser in https://github.com/ewhauser/world-celld/pull/72
14
+ * perf(runs): keep idempotent run replays read-only by @ewhauser in https://github.com/ewhauser/world-celld/pull/75
15
+ * perf(events): honor preloadEvents on lazy hook resume by @ewhauser in https://github.com/ewhauser/world-celld/pull/71
16
+ * perf(streams): negotiate 512-chunk stream batches by @ewhauser in https://github.com/ewhauser/world-celld/pull/73
17
+ * perf(retention): finish small terminal cleanups in one pass by @ewhauser in https://github.com/ewhauser/world-celld/pull/76
18
+ * perf(retention): expire streams in pages of up to 256 chunks by @ewhauser in https://github.com/ewhauser/world-celld/pull/77
19
+
20
+
21
+ **Full Changelog**: https://github.com/ewhauser/world-celld/compare/v0.6.0...v0.7.0
22
+
23
+ ## 0.6.0 (2026-09-16)
24
+
25
+ ## What's Changed
26
+ * feat!: upgrade Workflow packages and require World spec v7 by @ewhauser in https://github.com/ewhauser/world-celld/pull/59
27
+
28
+
29
+ **Full Changelog**: https://github.com/ewhauser/world-celld/compare/v0.5.0...v0.6.0
30
+
5
31
  ## 0.5.0 (unreleased)
6
32
 
7
33
  ### Breaking changes
package/README.md CHANGED
@@ -12,6 +12,17 @@ self-hosted alternative to platform-specific Workflow backends.
12
12
  > `world-celld` is experimental and has not been proven in production. Its API
13
13
  > and storage layout may change before 1.0.
14
14
 
15
+ ## World protocol compatibility
16
+
17
+ This adapter supports World spec v7 with the Workflow 5 beta packages. Event
18
+ slots are allocated in the same transaction that stores each event, so reads
19
+ see a dense log and failed writes leave no gaps. No background sealing or
20
+ `noop` events are needed. Runs stamped with earlier spec versions are rejected
21
+ when applying events; finish existing runs before upgrading.
22
+
23
+ Run listing accepts either a single status or an array of statuses (OR matching).
24
+ An empty status array matches no runs.
25
+
15
26
  ## What it provides
16
27
 
17
28
  - Workflow run, step, event, and hook persistence
@@ -76,16 +87,17 @@ requests. It must be reachable from every celld node.
76
87
 
77
88
  ## Deploy the worker
78
89
 
79
- Before deploying, you need a celld v0.5.0 fleet, `esbuild` on `PATH`, and an
90
+ Before deploying, you need a celld v0.6.0 fleet, `esbuild` on `PATH`, and an
80
91
  object store that meets celld's conditional-write requirements. Refer to the
81
92
  [celld documentation](https://github.com/denoland/celld) for fleet and storage
82
93
  setup.
83
94
 
84
- **world-celld 0.5.0 is a breaking release and requires celld v0.5.0.**
85
- Older runtimes and node-level worker-variable overrides are unsupported.
95
+ **world-celld requires celld v0.6.0.** Older runtimes and node-level
96
+ worker-variable overrides are unsupported.
86
97
 
87
- For an existing fleet, follow the [v0.5.0 upgrade and feature review](docs/celld-v0.5-upgrade.md).
88
- Stop every old celld node before starting v0.5.0; this is not a rolling upgrade.
98
+ For an existing fleet, follow the [v0.6.0 upgrade and feature review](docs/celld-v0.6-upgrade.md).
99
+ A multi-node fleet uses fleet durability by default; stop every old celld node
100
+ before starting v0.6.0, because that is not a rolling upgrade.
89
101
 
90
102
  Before either deploy, set `vars.WORLD_SECRET` in both copied Wrangler configs
91
103
  to the same secret from your secret manager. Set optional
@@ -93,10 +105,10 @@ to the same secret from your secret manager. Set optional
93
105
  `vars.WORKFLOW_RETENTION_MS` there to the desired maximum workflow age
94
106
  (for example, `"7776000000"` for 90 days). Use private deployment copies outside
95
107
  source control: celld persists these variables in the deployment stored in the
96
- fleet bucket. v0.5.0 rejects `CELLD_VAR_*`; `.dev.vars` is read only by
108
+ fleet bucket. celld rejects `CELLD_VAR_*`; `.dev.vars` is read only by
97
109
  `celld dev`, not by `celld deploy`.
98
110
 
99
- No second storage service is required for queue payloads. celld v0.5.0 serves
111
+ No second storage service is required for queue payloads. celld v0.6.0 serves
100
112
  the `WORKFLOW_QUEUE_PAYLOADS` binding from the existing fleet bucket under
101
113
  `r2/workflow-world-queue-payloads/`. `r2_buckets` is the Wrangler-compatible
102
114
  configuration key for that binding; it does not require Cloudflare R2.
@@ -152,7 +164,7 @@ More deployment detail is in [`celld-worker/README.md`](./celld-worker/README.md
152
164
  and [`celld-queue-worker/README.md`](./celld-queue-worker/README.md).
153
165
 
154
166
  For opt-in bucket or collector telemetry and local `.dev.vars` setup, see
155
- the [operational examples](docs/celld-v0.5-upgrade.md#adopt-telemetry).
167
+ the [operational examples](docs/celld-v0.6-upgrade.md#adopt-telemetry).
156
168
 
157
169
  ## How it works
158
170
 
@@ -336,7 +348,7 @@ pnpm test:integration
336
348
 
337
349
  ### Real celld restart smoke
338
350
 
339
- The required CI smoke owns native celld v0.5.0 and MinIO processes on loopback,
351
+ The required CI smoke owns native celld v0.6.0 and MinIO processes on loopback,
340
352
  uses fresh temporary bucket and runtime state, and kills celld with `SIGKILL`
341
353
  before deleting its local working state and starting a new process against the
342
354
  bucket-backed state. It checks that:
@@ -371,12 +383,11 @@ failover correctness.
371
383
 
372
384
  The opt-in performance harness starts a fresh MinIO bucket and a single celld
373
385
  node with Docker Compose. Its queue workload verifies that every accepted
374
- message reaches a successful callback, including forced `503` redeliveries. A
375
- second workload creates terminal runs with streams and delayed queue messages,
376
- then verifies complete payload cleanup without resurrection. Results include
377
- queue and cleanup throughput plus p50, p95, p99, and maximum latency and are
378
- saved under `.perf-results/`. The harness pins celld v0.5.0 and deploys the same
379
- two-script native Queue topology as the restart smoke.
386
+ message reaches a successful callback, including forced `503` redeliveries. It
387
+ also measures a mixed run/step/hook/stream/queue lifecycle and terminal-run
388
+ cleanup. Results include throughput plus p50, p95, p99, and maximum latency and
389
+ are saved under `.perf-results/`. The harness pins celld v0.6.0 and deploys the
390
+ same two-script native Queue topology as the restart smoke.
380
391
 
381
392
  > This harness runs a single celld node and leaves the required storage-contract
382
393
  > probe enabled. Passing it does not establish multi-node fencing, ownership
@@ -411,6 +422,23 @@ Useful controls are `PERF_PAYLOAD_BYTES`, `PERF_RETRY_EVERY`,
411
422
  because local machines vary. Message-loss, message-ID, callback validity, and
412
423
  duplicate-success checks are always enforced.
413
424
 
425
+ `PERF_WORKFLOW_RUNS` and `PERF_WORKFLOW_CONCURRENCY` control the mixed workload.
426
+ Set `PERF_STEADY_SECONDS` to enable a duration-based queue run at
427
+ `PERF_STEADY_RATE` arrivals per second; its JSON records schedule lag and
428
+ one-second backlog samples. For a repeatable concurrency/payload sweep, run
429
+ `pnpm test:perf:minio:matrix`. It runs four isolated profiles and writes a
430
+ manifest with the Git commit, hardware, workload settings, and result paths.
431
+ `PERF_MATRIX_SOAK_SECONDS` changes the final steady profile's duration (60
432
+ seconds by default). Compare runs on the same host with the same profile and
433
+ without unrelated load; the harness does not set portable latency budgets.
434
+
435
+ `pnpm test:perf:minio:failover` starts one celld node, seeds a run, stream, and
436
+ queue workload (including accepted deliveries forced to retry), starts a peer
437
+ against the same bucket, kills the first node, then measures peer recovery and
438
+ delivery of both pending and new messages. Its output is
439
+ `minio-failover-latest.json`. This is a two-node local handoff test, not a
440
+ production object-store or fleet qualification.
441
+
414
442
  Bug reports and focused pull requests are welcome. Please include a regression
415
443
  test for behavior changes and run the checks above before submitting a PR.
416
444
 
@@ -1,6 +1,6 @@
1
1
  # world-celld Queue consumer
2
2
 
3
- This companion celld v0.5.0 script consumes the native `workflow-world` Queue
3
+ This companion celld v0.6.0 script consumes the native `workflow-world` Queue
4
4
  and forwards each delivery to the primary `workflow-world` script through a
5
5
  `QueueDeliveryRpc` named service binding. The consumer calls
6
6
  `deliver(secret, envelope, attempt)` and handles `complete`, `suspend`, or `retry`
@@ -16,7 +16,7 @@ celld deploy ./workflow-world-queue --bucket s3://my-cells-bucket
16
16
 
17
17
  Before deploying, set `vars.WORLD_SECRET` in the copied Wrangler config to the
18
18
  same bearer secret used by the primary worker. Keep that private deployment
19
- config out of source control. v0.5.0 rejects `CELLD_VAR_*` node overrides.
19
+ config out of source control. celld rejects `CELLD_VAR_*` node overrides.
20
20
  Deploy the primary worker after this script so it remains the fleet's
21
21
  public application. Native Queue operations are available through `celld queue
22
22
  info`, `peek`, `pause`, `resume`, `purge`, and `redrive`.
@@ -11,7 +11,9 @@
11
11
  {
12
12
  "queue": "workflow-world",
13
13
  "max_batch_size": 10,
14
- "max_batch_timeout": 1,
14
+ // Dispatch as soon as a message is ready. Every workflow step hop
15
+ // goes through this queue, so a batch-fill wait adds to each hop.
16
+ "max_batch_timeout": 0,
15
17
  "max_retries": 100,
16
18
  "dead_letter_queue": "workflow-world-dlq",
17
19
  "max_concurrency": 25,
@@ -15,7 +15,7 @@ Copy this directory and the companion Queue consumer out of `node_modules` so
15
15
  worker last. Before deploying, set `vars.WORLD_SECRET` in both copied
16
16
  Wrangler configs to the same secret from your secret manager. Keep those
17
17
  private deployment copies out of source control; celld stores their variables
18
- in the fleet bucket. Stop the whole old fleet before starting v0.5.0 nodes:
18
+ in the fleet bucket. Stop the whole old fleet before starting v0.6.0 nodes:
19
19
 
20
20
  ```sh
21
21
  cp -r node_modules/@ewhauser/world-celld/celld-worker ./workflow-world
@@ -30,7 +30,7 @@ to the native Queue.
30
30
 
31
31
  Requirements:
32
32
 
33
- - celld v0.5.0 (the currently tested runtime baseline).
33
+ - celld v0.6.0 (the currently tested runtime baseline).
34
34
  - `esbuild` on PATH (celld shells out to it).
35
35
  - A bucket with conditional-write support (celld's fencing requirement).
36
36
  - `WORLD_SECRET` set in the deployment config (`vars.WORLD_SECRET`) —
@@ -46,7 +46,7 @@ names the Workers-compatible binding API; it does not require Cloudflare R2.
46
46
  The bundled `wrangler.jsonc` declares an hourly UTC cron trigger. It does no
47
47
  catalog work by default. Set `vars.WORKFLOW_RETENTION_MS` to `"7776000000"`
48
48
  in the primary Wrangler config and redeploy to enable a maximum workflow age
49
- measured from run creation. v0.5.0 rejects `CELLD_VAR_*` node overrides.
49
+ measured from run creation. celld rejects `CELLD_VAR_*` node overrides.
50
50
  `.dev.vars` overrides apply only to `celld dev`, not production deployments.
51
51
 
52
52
  `7776000000` is 90 days. The policy includes pending and running workflows as
package/dist/index.d.ts CHANGED
@@ -149,6 +149,15 @@ interface ApplyEventSuccess {
149
149
  maxEvents?: number;
150
150
  /** Deadline for publishing this authoritative mutation to derivative indexes. */
151
151
  indexPublicationExpiresAt?: number;
152
+ /** Set by the worker router after it published `run` to the run catalog. */
153
+ runIndexPublished?: true;
154
+ /** Set by the worker router after it released `releasedHooks` from the hook indexes. */
155
+ hookIndexesReleased?: true;
156
+ /**
157
+ * The unchanged run returned with a `preloadEvents` hook_received replay
158
+ * log. It is not a run mutation, so it carries no index publication.
159
+ */
160
+ replayRun?: WorkflowRun;
152
161
  }
153
162
  type ApplyEventOutcome = ApplyEventSuccess | ApplyEventFailure;
154
163
  //#endregion
@@ -211,12 +220,16 @@ interface DurableObjectIdLike {
211
220
  }
212
221
  //#endregion
213
222
  //#region src/stream-protocol.d.ts
214
- /** Metadata plus payload and size-index entries remain below the 128-key platform limit. */
223
+ /**
224
+ * Chunks per write request that every worker accepts. A client sends larger
225
+ * batches only after a worker advertises {@link STREAM_CHUNK_LIMIT_HEADER}.
226
+ */
215
227
  declare const MAX_STREAM_WRITE_CHUNKS = 32;
216
228
  /** A chunk remains below the 2 MiB SQLite-backed DO key/value limit. */
217
229
  declare const MAX_STREAM_CHUNK_BYTES: number;
218
230
  /** Keeps serialized RPC bodies well below the 32 MiB Workers RPC limit. */
219
231
  declare const MAX_STREAM_BATCH_BYTES: number;
232
+ /** Chunks per read request that every worker accepts; see {@link MAX_STREAM_WRITE_CHUNKS}. */
220
233
  declare const MAX_STREAM_READ_CHUNKS = 32;
221
234
  declare const MAX_STREAM_READ_BYTES: number;
222
235
  declare const MAX_STREAM_ERROR_BYTES: number;
@@ -264,6 +277,13 @@ interface CelldStreamer extends Omit<Streamer, 'streams'> {
264
277
  }
265
278
  /** Direct StreamDO RPC surface. Remote stubs specialize read/write as binary HTTP. */
266
279
  interface StreamDOStub {
280
+ /**
281
+ * Remote stubs only: the per-request chunk limit the fleet has advertised.
282
+ * Stubs without it are held to the baseline every worker accepts.
283
+ */
284
+ streamChunkLimit?(): number;
285
+ /** Remote stubs only: drop an advertised limit an older worker rejected. */
286
+ resetStreamChunkLimit?(): void;
267
287
  writeChunks(runId: string, chunks: Uint8Array[]): Promise<StreamWriteResult>;
268
288
  readChunks(request: StreamReadRequest, signal?: AbortSignal): Promise<StreamReadResult>;
269
289
  closeStream(runId: string): Promise<void>;
@@ -323,6 +343,24 @@ interface CelldQueueProducer {
323
343
  send(envelope: NativeQueueEnvelope, options?: NativeQueueSendOptions): Promise<NativeQueueSendResult>;
324
344
  }
325
345
  //#endregion
346
+ //#region src/run-list.d.ts
347
+ type RunStatus = WorkflowRun['status'];
348
+ /** Wire shape of a run listing, shared by the client and the worker router. */
349
+ interface RunListRequest {
350
+ workflowName?: string;
351
+ statuses?: RunStatus[];
352
+ limit: number;
353
+ cursor?: string;
354
+ sortOrder?: 'asc' | 'desc';
355
+ /** 'none' strips run input and output from the returned page. */
356
+ resolveData?: 'none' | 'all';
357
+ }
358
+ interface RunListPage {
359
+ data: WorkflowRun[];
360
+ cursor: string | null;
361
+ hasMore: boolean;
362
+ }
363
+ //#endregion
326
364
  //#region src/indexes.d.ts
327
365
  interface IndexListOptions {
328
366
  prefix?: string;
@@ -360,6 +398,11 @@ interface WorkflowIndex {
360
398
  stored: boolean;
361
399
  }>;
362
400
  listRuns(options?: IndexListOptions): Promise<IndexListPage>;
401
+ /**
402
+ * Remote only: the complete run listing performed inside the fleet. Resolves
403
+ * to null when the worker predates the route; the caller then lists itself.
404
+ */
405
+ listResolvedRuns?(request: RunListRequest): Promise<RunListPage | null>;
363
406
  getHookByToken(token: string): Promise<string | null>;
364
407
  getHookById(hookId: string): Promise<string | null>;
365
408
  reserveHook(token: string, owner: HookTokenOwner): Promise<HookReservationResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/retention.ts","../src/apply-event.ts","../src/storage.ts","../src/stream-protocol.ts","../src/streamer.ts","../src/queue-protocol.ts","../src/queue.ts","../src/indexes.ts","../src/config.ts","../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/retention.ts","../src/apply-event.ts","../src/storage.ts","../src/stream-protocol.ts","../src/streamer.ts","../src/queue-protocol.ts","../src/queue.ts","../src/run-list.ts","../src/indexes.ts","../src/config.ts","../src/index.ts"],"mappings":"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"}