Add program-level --format option (default: json) inherited by all
subcommands. json output unchanged, yaml via yaml package, table
renders aligned columns for arrays, falls back to yaml for objects.
Closes#328
小橘 🍊(NEKO Team)
All cas subcommands now output JSON via writeJson(), consistent with
other uwf commands. schema list includes meta-schema. Removed --json
flag and --format tree (tree is human-only, not machine-friendly).
Refs #319
小橘 🍊(NEKO Team)
- Remove CAS ref string support from workflow YAML outputSchema
- Simplify validate.ts: no string check for outputSchema
- Auto-set title from role name (workflow.role format)
Refs #319
小橘 🍊(NEKO Team)
When uwf workflow put processes inline JSON Schema for a role,
auto-inject title=roleName if not already set. Makes uwf cas schema list
show meaningful names like 'planner', 'coder' instead of (unnamed).
小橘 🍊(NEKO Team)
- Remove uwf cas list (CAS grows unbounded, listing all hashes is useless)
- Add title to Workflow/StartNode/StepNode schemas so schema list shows names
小橘 🍊(NEKO Team)
1. threads.yaml race condition: reload threads index after agent subprocess
completes before updating head pointer (cli-uwf/commands/thread.ts)
2. evaluateJsonata not awaited: jsonata evaluate() returns Promise for async
expressions — now properly awaited (uwf-moderator/evaluate.ts)
3. resolveWorkflowHash dead code: function always returns a value, removed
impossible null return type and dead null-check branches at call sites
(cli-uwf/store.ts, commands/thread.ts, commands/workflow.ts)
The agent subprocess writes StepNode to CAS on disk, but the parent
process had an in-memory cache from createFsStore init. Fix: re-create
store after agent spawn to pick up new nodes.
Also centralized JSON Schemas in uwf-protocol so cli-uwf and agent-kit
produce identical type hashes.
E2E smoke test passing: workflow put → thread start → 3x step → done
Refs #309
- thread start: ULID generation, StartNode to CAS, threads.yaml
- thread show: active (done:false) or archived (done:true)
- thread list: active threads, --all includes history
- thread kill: archive to history.jsonl
Refs #309, #313