Decision model
| Stream type | Method | Best use |
|---|---|---|
| Run-scoped control events | control.subscribe | Workflow coordination inside one run_id |
| Semantic event subscriptions | core.subscribe_events | Topic-triggered automation across broader changes |
Minimal implementation example
- Python
- Node / TS
- Rust
05-event-driven-worker.py
Failure modes and troubleshooting
| Symptom | Root cause | Fix |
|---|---|---|
| Too many events | Broad filters | Narrow event types and semantic threshold |
| Missing events | Subscriber on wrong run scope | Verify producer and subscriber run_id |
| Core subscribe denied | Direct-core policy boundary | Use control stream default or enable policy explicitly |
Next steps
- Add planner/specialist coordination at Sessions and branching.
- Review state APIs at State management endpoints.