Files
united-workforce/packages/workflow-cas
xiaoju 2b587612d5 refactor: replace maxRounds with supervisor check interval
Removes maxRounds as a hard stop limit from the entire stack. The supervisor
(already configured via workflow.yaml supervisorInterval) is now the sole
termination authority.

Changes across 27 files in 11 packages:
- workflow-protocol: StartStep.meta is now empty, StartNodePayload drops maxRounds
- workflow-cas: isStartPayload no longer checks maxRounds
- workflow-execute: engine, worker, fork-thread all stripped of maxRounds plumbing
- cli-workflow: --max-rounds flag removed from CLI and HTTP API
- workflow-runtime: build-context and create-workflow no longer reference maxRounds
- workflow-dashboard: UI no longer sends maxRounds
- workflow-template-develop/solve-issue: moderator no longer checks rounds remaining
- All tests updated

Fixes #185
2026-05-11 08:51:35 +00:00
..

@uncaged/workflow-cas

Content-addressable storage implementation, bundle hashing, and Merkle helpers.

What This Package Does

It implements CasStore from @uncaged/workflow-protocol, hashes workflow bundle bytes and strings with XXH64, and builds serializable Merkle nodes for thread/step/content payloads used when persisting execution artifacts.

Key Exports

From src/index.ts:

  • CAS: createCasStore
  • Hash: hashString, hashWorkflowBundleBytes
  • Merkle: createContentMerkleNode, getContentMerklePayload, parseMerkleNode, putContentMerkleNode, putStepMerkleNode, putThreadMerkleNode, serializeMerkleNode
  • Types: CasStore, MerkleNode, MerkleNodeType, StepMerklePayload, ThreadMerklePayload

Dependencies

  • Workspace: @uncaged/workflow-protocol (CasStore contract), @uncaged/workflow-util
  • npm: xxhashjs, yaml

Usage

import { createCasStore, hashWorkflowBundleBytes } from "@uncaged/workflow-cas";
import { getGlobalCasDir } from "@uncaged/workflow-util";

const store = createCasStore(getGlobalCasDir());
const hash = await hashWorkflowBundleBytes(esmJsBytes);