2b587612d5
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
@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(CasStorecontract),@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);