Skip to content

Releases: osolmaz/pi-workflows

Pi Workflows 0.16.5

Choose a tag to compare

@osolmaz osolmaz released this 05 Sep 01:03

Pi Workflows now removes safe completed workflow state automatically after 30 days.

Active, resumable, pending, unsettled, cross-linked, and undelivered work remains protected. Automatic and manual cleanup use the same run-tree safety rules, and automatic cleanup does not create backups.

This release also adds measured regression tests for the earlier repeated-history bug that could make a small workload produce a multi-gigabyte state database.

The SQLite schema remains version 1. Install matching pi-workflows and piw 0.16.5 versions.

v0.16.4

Choose a tag to compare

@osolmaz osolmaz released this 04 Sep 14:53

Changes

  • Allow Pi versions from 0.84.2 onward without an upper peer-version limit.
  • Test and validate Pi Workflows with Pi 0.85.0.
  • Add the official @earendil-works/pi-server runtime dependency required by the Pi 0.85.0 public SDK root import.

Validation

  • Full TypeScript, Rust, installed-package, and end-to-end checks passed.
  • Real-model end-to-end test passed with openai/gpt-5.6-luna.

Pi Workflows 0.16.3

Choose a tag to compare

@osolmaz osolmaz released this 04 Sep 13:20

Fixes

  • Kept workflow runner resume replies small by returning only the current run state.
  • Kept session history in the workflow server instead of sending it to workflow runners.
  • Stored required large replies as referenced content that runners read in verified chunks.
  • Prevented state pruning from deleting response content while an active runner still needs it.
  • Completed the public naming cutover to Workflow Server, Workflow Runner, Resource Manager, Resource Runner, and Managed Resource across the npm package and piw.

Validation

  • Passed 1,161 TypeScript tests with coverage thresholds.
  • Passed all mock-provider Pi, installed-package, and Rust tests.
  • Passed Slophammer and dependency-boundary checks.
  • Passed the real-model openai/gpt-5.6-luna E2E with package version 0.16.3.

Pi Workflows 0.16.2

Choose a tag to compare

@osolmaz osolmaz released this 04 Sep 03:50

Fixes

  • Made the workflow host the only authority for assigning Pi model turns to workflow messages.
  • Prevented provider failures, terminal races, reconnects, and late reports from leaving stale workflow-turn ownership.
  • Made matching repeated reports return the saved result while keeping conflicting reports as errors.
  • Prevented ordinary chat turns from inheriting old workflow ownership.
  • Made terminal state commit before presentation and added durable terminal-message retries.
  • Gave composed managed effects exact execution identities so separate workflow branches cannot reuse one save key.
  • Added explicit worker start, resume, continuation, and restart commands.
  • Stopped workers that make no progress from restarting forever and exposed the recovery reason in the widget and viewer.
  • Kept paused workflows outside model-running timeout accounting.

Validation

  • Passed 1,150 TypeScript tests with coverage thresholds.
  • Passed all mock-provider Pi, installed-package, and Rust tests.
  • Passed Slophammer and dependency-boundary checks.
  • Passed the real-model openai/gpt-5.6-luna smoke test before the release-only version change.

Pi Workflows 0.16.1

Choose a tag to compare

@osolmaz osolmaz released this 03 Sep 11:09

Fixes

  • Made the Pi widget and piw use the same host-owned running and waiting state.
  • Made interactive workflow timeouts count only active origin-session model turns.
  • Excluded paused time, delivery waits, disconnected Pi sessions, and host downtime from those timeouts.
  • Preserved suspended timeout time across reconnects and repeated host recovery.
  • Prevented session shutdown cleanup from writing through a closed workflow database.

Validation

  • Passed the full TypeScript, Rust, mock-provider Pi, installed-package, and real-model checks.
  • Verified the installed package with openai/gpt-5.6-luna through the openai-responses API.

Pi Workflows 0.16.0

Choose a tag to compare

@osolmaz osolmaz released this 02 Sep 07:25

Highlights

  • Unified the extension, CLI, and piw behind one versioned host client.
  • Replaced the production piw SQLite reader with bounded host-owned views and content loading.
  • Added robust cold-start, reconnect, retry, run-watch, and durable interaction recovery.
  • Added piw <runId> --once for one complete plain-text workflow view.
  • Added a packed-package end-to-end release gate that checks base Pi isolation, the workflow widget, pause and resume, worker parking, completion, and piw.

Reliability

  • Bounded and materialized large live views through the host protocol.
  • Kept complete views during retries and preserved explicit run selection.
  • Improved missing-run, diagnostics, replay-state, and maintenance recovery.
  • Added a real-model release check with exact provider and model validation and fallback rejection.

Packaging

  • Added tsx as a production dependency because packaged TypeScript host and worker sources require it at runtime.
  • Kept npm, crates.io, and Herdr plugin versions aligned at 0.16.0.

Pi Workflows 0.15.3

Choose a tag to compare

@osolmaz osolmaz released this 01 Sep 11:15

Pi Workflows 0.15.3 restores reliable workflow controls in Pi sessions.

  • Keep active delivery claims valid while Pi is busy and revalidate each claim before sending.
  • Prevent duplicate prompts and blind retries after uncertain delivery outcomes.
  • Restore the workflow status widget and its scrolling controls.
  • Restore Escape-to-pause during model and tool execution.
  • Resume paused origin-session interactions in place.
  • Reject stale, paused, or expired workflow writes before they can change durable state.

Pi Workflows 0.15.2

Choose a tag to compare

@osolmaz osolmaz released this 31 Aug 18:02

Pi Workflows 0.15.2 prevents origin-session workflow deliveries from creating duplicate messages and model turns.

  • Route step prompts, protected decisions, notifications, and final results through one session-delivery coordinator.
  • Wait for Pi to be idle with no pending message, then check again immediately before sending.
  • Record each delivery before sendMessage() and confirm it from the public Pi session branch.
  • Adopt existing session entries after restart and stop uncertain deliveries instead of retrying them.
  • Reject repeated live presentation claims, including renewal by the current presenter.

Pi Workflows 0.15.1

Choose a tag to compare

@osolmaz osolmaz released this 31 Aug 03:34

Pi Workflows 0.15.1 stops package-discovery test hosts before it removes their temporary state.

  • Prevent the real-Pi end-to-end package tests from leaving detached workflow host processes behind.
  • Wait for each temporary host socket to close and fail the test if shutdown does not finish.
  • Keep the production workflow host design and state contract from 0.15.0 unchanged.

Pi Workflows 0.15.0

Choose a tag to compare

@osolmaz osolmaz released this 31 Aug 02:55

Pi Workflows 0.15.0 moves production workflow execution into one package-owned, on-demand host process.

  • Run workflow and controller code in supervised child processes instead of the origin Pi process.
  • Add a versioned local client, host, and worker protocol with strict validation and bounded messages.
  • Keep one global workflow host as the normal durable-state writer, with atomic host lifecycle, stale-run cancellation, typed claim loss, and exact-token lease renewal.
  • Persist origin-session interaction requests so workflow prompts and visible steps survive Pi restarts and resume in the correct session.
  • Recover external effects through durable intent and receipt records. Effects with uncertain outcomes become ambiguous and require explicit operator recovery; this release does not claim exactly-once delivery.
  • Remove embedded production workflow execution. There is one selectable production runtime after this alpha hard cut.
  • Expand real-Pi end-to-end coverage for host execution, durable restart interaction, controller reconciliation, package discovery, status privacy, and Herdr integration.

This alpha release changes SQLite schema version 1 in place. Existing incompatible state is not migrated or changed. Back up and move state.sqlite together with its -wal and -shm files, then start Pi Workflows to create new state.