Changelog¶
All notable changes to goflow are documented here.
The format follows Keep a Changelog. Versions follow Semantic Versioning.
[0.2.0] — 2026-03-30¶
Added¶
- Stream recording to audit trail (
stream.jsonl): when--streamingis enabled, each step now records all LLM events (assistant turns, message deltas, tool executions, user input requests/responses) tostream.jsonlin JSON Lines format. Events are appended in real-time, enabling:- Live monitoring via
tail -f .workflow-runs/.../steps/*/stream.jsonl - TUI stream switching between parallel steps
- Interactive mode context: see the full stream before an LLM question
- Full audit compliance with timestamped event trail
- Live monitoring via
- User input event recording: interactive mode sessions now emit
user.input_requestedanduser.input_responseevents to the stream, providing a complete audit trail of human-LLM interactions. - Copilot SDK executor (
pkg/executor/copilot_sdk.go): new default backend that drives the Copilot CLI via the Go SDK rather than a subprocess. One SDK session is created per workflow step for deterministic agent selection. - Event-based session monitoring (
pkg/executor/monitor.go): sessions now complete viasession.idleevent rather than a polling timeout, eliminating spurious timeout failures on long-running steps. TheSessionMonitortracks tool calls, streamed text, subagent delegations, and session errors in real time. --streamCLI flag: streams the LLM's response token-by-token to stderr as it generates, usingassistant.message_deltaevents. Can be combined with--verbosefor full visibility.- Retry logic for transient failures: steps with
retry_countnow retry on context-deadline-exceeded and similar transient SDK errors with short linear backoff. - Verbose progress output (
--verbose): real-time lifecycle events for agent turns, tool calls, subagent delegations, and session completion/error.
Changed¶
- Default executor changed from CLI subprocess to Copilot SDK. Use
--clito fall back to the legacy subprocess executor. --verboseflag description updated: it now covers session lifecycle events (tool calls, subagent starts, session idle/error) rather than general logging.- Parallel fan-out failure policy uses best-effort: sibling steps continue when one step in a parallel level fails; downstream fan-in steps may still run with partial inputs.
- Orchestrator wired to
RunParallelby default (previously required explicit call). - Event type names in
OnProgresscallbacks corrected to match SDK values (assistant.turn_start,tool.execution_start,tool.execution_complete).
Fixed¶
- Numbered item duplicate in
README.mdimplementation notes (item 9 appeared twice).
[0.1.0] — 2026-03-29¶
Initial release.
Added¶
- YAML workflow parser with full schema validation (
pkg/workflow/) - DAG builder with topological sort and cycle detection
- Template resolution for
{{inputs.X}}and{{steps.Y.output}} - Condition evaluation (
contains,not_contains,equals) - Agent loader and file-based discovery (
.agent.md, Claude-format) - CLI subprocess executor (fallback,
--cli) - Mock executor for deterministic local testing (
--mock) - Parallel orchestrator with configurable
max_concurrency - Audit trail: per-run timestamped directories with prompt, output, transcript, and metadata
- Reporter with
markdown,json, andplainoutput formats - Shared memory manager skeleton
goflow run,goflow version,goflow helpCLI commands- Interactive mode (
--interactive) for agents that ask clarification questions - Example workflows:
simple-sequential,code-review-pipeline,security-scan,global-news-trends,decision-helper,guided-code-review - MkDocs documentation site