Skip to content

v0.15.0

Choose a tag to compare

@clintecker clintecker released this 03 Apr 21:36

Highlights

26 issues closed across 7 PRs — the largest release since v0.14.0.

Safety & Correctness

  • P0 fixes: Goal-gate infinite fallback loop prevented via FallbackTaken checkpoint guard. Parallel branch context loss on fan-in fixed with DiffFrom().
  • Validation bypass removed: DippinValidated field deleted — all structural checks always run.
  • Adapter hardening: Nil guards, sentinel errors (ErrNilWorkflow etc.), deterministic map iteration.

New Features

  • Per-node response keys: response.<nodeID> written alongside last_response — downstream nodes can reference specific upstream outputs.
  • Parallel concurrency limits: max_concurrency and branch_timeout attrs on parallel nodes.
  • Human gate timeout: timeout attr with timeout_action (default/fail) and default_choice fallback.
  • Edge adjacency indexes: O(1) OutgoingEdges/IncomingEdges via adjacency maps.

Improvements

  • Condition parser: == operator, quoted values, case-insensitive STATUS: matching.
  • Retry jitter: ±25% random jitter on backoff to prevent thundering herd.
  • Fidelity truncation: Word-boundary-aware with unicode.IsSpace.
  • Consensus pipeline: consensus_task.dip parallelized for independent multi-model evaluation.
  • DOT deprecated: ParseDOT annotated with // Deprecated:, pipeline/doc.go added.

Full Changelog

See CHANGELOG.md for the complete list of 26 issues addressed.