CrewX 0.8.8 Release - Workflow semantic failures, visual graph, auto runner & live SSE
CrewX 0.8.8 brings major workflow upgrades — structured failure signals, an interactive visual graph, auto-runner node types, and a real-time SSE event channel that keeps the UI in sync without polling storms.
🎯 Key Features
Workflow Semantic Failure Channels
Agents running inside workflows can now signal structured failure instead of silently propagating bad state. Return {"workflow_signal": "fail", "reason": "..."} from any node and the engine halts immediately, records the reason, and stops execution.
You can also declare an error terminal node in your workflow YAML that terminates a run with an interpolated message, or use fail_when expressions on task nodes for declarative failure assertions — no custom agent code needed.
Workflow Visual Graph Viewer
Workflows now render as an interactive visual graph directly in the UI.
- ELK-routed edges with vertical layout for clean, readable flow
- Back-edge routing so retry loops are visualized correctly
- Details drawer — click any node to see branch conditions and full node inputs
- Read-only view included; no editor required to inspect a workflow
skill_task and shell_task Node Types
Two new lightweight node types let workflows invoke CrewX skills and shell commands directly — no need to spin up a full agent task for simple automation steps.
- id: run_linter
type: skill_task
skill: tsserver
args: check ./src
- id: build
type: shell_task
command: npm run build
Task Retry with Dreaming Context
Failed tasks can now be retried directly from the UI. The dreaming built-in is promoted to a first-class package and automatically injects full prior context — conversation history, previous outputs, and failure details — into the retry prompt so agents pick up exactly where they left off.
Real-Time Workspace SSE Channel
All workspace activity (threads, messages, task output) is streamed via a dedicated SSE channel with adaptive polling fallback. The UI updates live without hammering the server — and a singleton connection prevents duplicate SSE storms even when multiple components subscribe.
🔧 Bug Fixes
- Fixed workflow task reaper from killing live in-process workflow tasks after server restart
- Fixed workflow graph node height mismatch that caused edges to appear detached
- Fixed CSRF login failure for remote HTTP access (#347)
- Fixed file attachment issues: image input latency, double blob URL prefix, and 413 payload errors; server body limit raised to 200 MB
- Fixed BM25 search field normalization for correct indexing
- Fixed Mermaid rendering isolation from zoom level in the docs viewer
- Fixed cron 366-day
next_runedge case, DST deduplication, and invalid timezone rejection - Fixed activity log to exclude
tool_resultentries from collapsed preview
📦 Built-in Package Updates
| Package | Highlights |
|---|---|
| @crewx/workflow | Semantic failure channels, visual graph, skill_task/shell_task nodes, error terminal node, fail_when |
| @crewx/dreaming | Promoted to built-in; continue mode with full task context |
| @crewx/cron | DST deduplication, IANA timezone list via Intl API, 366-day fix |
🚀 Upgrade
npm install -g crewx@0.8.8
