Drop 9 batch proposals that are superseded by the boocode-lift-analysis (boocontext-audit, conductor upgrades, self-healing/verify-gate skills): add-3tier-memory, import-llm-evaluator, import-pregel-engine, plugin-platform, conductor-evolution, code-intelligence-upgrade, dev-workflow, ui-overhaul, agent-reliability. Delete 11 stub archive files (49-66B each, 'Status: Shipped. Archived.' only) that provide zero documentation value over the existing CHANGELOG.md + git tags.
1.8 KiB
1.8 KiB
ADDED Requirements
Requirement: Stream modes
The system SHALL support multiple stream modes when invoking a compiled graph:
"values"— emits the full state after each superstep"updates"— emits only the state changes after each superstep"messages"— emits individual message chunks for chat-oriented graphs"debug"— emits debug events with full superstep information"custom"— supports user-defined events via a emit function
Scenario: Values mode emits full state
- WHEN a graph is streamed with
streamMode: ["values"] - THEN each chunk SHALL contain the complete state object after each superstep
Scenario: Updates mode emits diffs
- WHEN a graph is streamed with
streamMode: ["updates"] - THEN each chunk SHALL contain only the state keys that changed
Requirement: Stream event protocol
The system SHALL emit structured events during graph execution, including:
on_chain_start— node execution beginson_chain_end— node execution completeson_chain_stream— intermediate output from a nodeon_custom_event— user-defined events- Checkpoint metadata paired with each event (id, parent_id, step, source)
Scenario: Events include checkpoint metadata
- WHEN a stream event is received
- THEN it SHALL include a
checkpointenvelope withid,step, andsource
Scenario: Custom events propagate from nodes
- WHEN a node emits a custom event via an emit function
- THEN that event SHALL appear in the stream with type
on_custom_event
Requirement: Async iteration over streams
The system SHALL support for await...of iteration over graph streams.
Scenario: Stream is async iterable
- WHEN
for await (const chunk of graph.stream(...))is used - THEN each chunk SHALL be available as it is produced