specify failure propagation semantics (C-04)
Key design decisions: - Failure follows dependency edges, not structural scope - Parallel branches are independent: failure in one branch doesn't cancel sibling branches - blockedByFailure computed signal detects failed/aborted predecessors - Conditionals serve as error boundaries (caught failures redirect to else branch, uncaught failures cascade) - aborted nodes don't satisfy preconditions; skipped nodes do - abortAll() for systemic failures (provider outage, auth failure) Changes: - reactive-execution.md: new Failure Propagation section with sequential/parallel/join/conditional examples, blockedByFailure effect, partial success model - host-configs.md: add blockedByFailure to WorkflowNode, update status propagation effects, replace cascadeAbort with abortAll - schema.md: document precondition semantics for NodeStatus - build-distribution.md + README.md: add blockedByFailure to node-status.ts comments - review checklist: mark C-04 resolved
This commit is contained in:
@@ -36,7 +36,7 @@ Package structure, exports map, dependencies, and platform targets.
|
||||
│ │ └── index.ts
|
||||
│ ├── reactive/
|
||||
│ │ ├── workflow.ts # WorkflowReactiveRoot (signal-backed execution)
|
||||
│ │ ├── node-status.ts # Signal<NodeStatus>, computed preconditions
|
||||
│ │ ├── node-status.ts # Signal<NodeStatus>, computed preconditions, computed blockedByFailure
|
||||
│ │ └── index.ts
|
||||
│ ├── analysis/
|
||||
│ │ ├── type-compat.ts # typeCompat, buildTypeEdges, analyzeTypeCompat
|
||||
|
||||
Reference in New Issue
Block a user