Skip to content

Releases: vekexasia/pi-extensible-workflows

v5.11.2

Choose a tag to compare

@vekexasia vekexasia released this 31 Aug 15:14

Fixes

  • Keep Trajectory live state below the WebSocket frame cap, fetch transcript bodies on demand, and reconnect detached servers after publisher disconnects. Restart existing Pi processes after upgrading so their Trajectory publisher uses the new protocol.

v5.11.1

Choose a tag to compare

@vekexasia vekexasia released this 30 Aug 19:07

Fixes

  • Keep streamed reasoning and response progress out of workflow and subagent status, persistence, and exports, and sanitize live activity before terminal rendering.
  • Keep Herdr's working state aligned with workflow lifecycle transitions, including pauses, checkpoints, terminal runs, and concurrent runs.

v5.11.0

Choose a tag to compare

@vekexasia vekexasia released this 29 Aug 09:57

Starter

  • New packaged roles: scout (read-only recon), oracle (second opinion, read-only plus bash), and researcher (all session tools except edit/write/bash, uses web tools when present), with dynamic scout-model, oracle-model, and researcher-model aliases.
  • The packaged reviewer role now filters findings on evidence, labels them P0/P1/P2, and ends with a machine-readable merge verdict.
  • New package-level slash-command prompts that drive the packaged roles: /scout, /parallel-scout, /oracle, /council, /review, /parallel-review, /review-loop, and /deep-research. Prompts are declared in the package manifest and are not removed by the starter filter.

Runtime

  • Role frontmatter tools that are not active in the launching session no longer fail the launch with UNKNOWN_TOOL. The agent now runs without the missing tool and a warning is surfaced in the TUI (once per role/tool per executor). Call-level tools, effectiveTools, and boundary checks still fail hard, and doctor diagnostics are unchanged. This makes packaged roles such as reviewer work on sessions without the optional grep/find/ls built-ins.

v5.10.0

Choose a tag to compare

@vekexasia vekexasia released this 28 Aug 14:20

[5.10.0] - 2026-08-28

Packaging

  • The published package now loads bundled extension entries (dist/src/index.js, dist/starter/index.js, dist/subagents/index.js, dist/trajectory/index.js) instead of TypeScript sources, cutting Pi startup overhead from ~1.25s to ~0.06s. Package filters that excluded the old .ts entries must switch to the new dist/*.js paths (see the extensions guide). Repository-root source installs still load the TypeScript entries.

Full changelog: v5.9.0...v5.10.0

v5.9.0

Choose a tag to compare

@vekexasia vekexasia released this 28 Aug 12:17

[5.9.0] - 2026-08-28

New capabilities

  • Trajectory can export one persisted workflow run as a self-contained static HTML report (exportTrajectoryRunHtml): the live UI with inlined assets and injected state instead of a WebSocket, viewable from file://, sandboxed iframes, and the docs/run.html gist viewer.
  • The Trajectory run dossier gains a Share button (and the CLI a piewf share <run-id> command) that uploads the static report as a secret GitHub gist through the user's gh CLI and returns the viewer URL. Share is served by the Trajectory extension itself; secret gists are unlisted, not private.

Packaging

  • Moved the eval harness from src/ to the unpublished evals/src/ directory and stopped publishing evals/ cases and test/fixtures in the npm package. npm run evals and npm run evals:ambient are unchanged for repository checkouts.

Fixes

  • Closing the workflow dashboard after a confirmed stop now leaves the parent Pi session ready for its next prompt, and intentional cancellation skips provider recovery (#241).
  • Live Herdr handoffs show queued/opening status and bypass provider recovery only when a handoff was actually attempted, preserving genuine provider errors containing abort (#204, #240).

Full changelog: v5.8.0...v5.9.0

v5.8.0

Choose a tag to compare

@vekexasia vekexasia released this 23 Aug 20:17

Breaking changes

  • Require every workflow agent to submit its result through workflow_result. Unstructured agents use { result: string }, return that string to their parent, and fail with RESULT_INVALID after the existing two result prompts when they do not submit one. Eager transports now receive the runtime-generated workflow prompt when their session is created.

New capabilities

  • Trajectory now publishes current-session durable subagents as first-class publisher state, including live progress, attempts, transcripts, results, failures, worktrees, and resolved tools.

  • Registered-function context.invoke(name, input, label?) now supports presentation-only nested breadcrumbs without changing journal identity (#223).

  • Trajectory adds a resizable, scrollable workflow Gantt with sticky time axis and independently collapsible Gantt, agent, and log sections, with layout state persisted in local storage (#224).

  • Trajectory replaces a stale detached server when its server or UI files change, so /workflow trajectory and auto-open use the current implementation (#226).

  • Trajectory groups live sessions by full project folder in a collapsible, dense sidebar with persisted folder state (#227).

  • Trajectory auto-attaches once per interactive Pi session when persisted workflow runs are restored or after the first successful workflow launch; /workflow trajectory remains the manual re-open (#217).

  • Trajectory records per-tool wall-clock execution timing in workflow-agent session JSONL and displays completed and failed tool durations across its event, agent, inspector, and Gantt views. Loaded transcripts retain up to 400 non-timing entries plus their matching timing entries (#212).

  • Trajectory renders canonical skill file reads as compact [skill] name:start-end event previews while retaining their full input in the inspector (#215).

  • Trajectory renders tool event arguments as colored key/value pairs with bounded row values while retaining full input for search and inspection (#222).

  • Trajectory summarizes assistant tool calls as separate event chips and inspector blocks with searchable arguments (#220).

Packaging

  • Moved Trajectory's server and controller into the bundled extension; the core entry no longer exports createTrajectoryController, createTrajectoryRunLoader, createTrajectorySubagentLoader, loadTrajectoryRuns, openTrajectoryUrl, trajectoryUrl, or the Trajectory contract types.

Fixes

  • Sanitize Trajectory markdown before rendering assistant messages and system prompts.
  • Keep Trajectory layout and sidebar preference storage failures from stopping the UI, preserving defaults.
  • Exclude non-message session records from Trajectory agent transcripts instead of labeling them assistant messages.
  • Ensure idle Trajectory servers destroy connected client sockets before closing, remove their lock, and exit.
  • Recover from live but unhealthy Trajectory server locks by replacing the stale process after the startup budget expires.
  • Give Trajectory server frame-size and fingerprint configuration separate, unambiguous options.
  • Restore Trajectory home, run, and agent views from ?view=&run=&agent= on refresh and Back (#228).
  • Fetch one agent transcript on demand when combined Trajectory state exceeds the WebSocket frame cap, so agent views keep their events.
  • Label canonical Trajectory skill reads as SKILL in event and inspector views while retaining the tool inspector panes (#219).
  • Drop disconnected Trajectory publishers and their runs, returning an open session to the empty home view (#218).
  • Collapse shadowed model aliases to the static settings winner in the LLM-facing workflow catalog index and detail results while preserving full provenance for trusted catalogs (#210).
  • Clarify Trajectory message token usage as per-call provider input/output (with optional reasoning and cache rows) or a displayed-text estimate, without duplicating it in the header (#221).

Documentation

  • Document how to disable the bundled reviewLoop starter, Subagents, and Trajectory independently with Pi package filters.

Verification

  • GitHub Actions completed the full check, package inspection, and npm publication.
  • All three packages were installed from the public npm registry in a clean project.

Packages:

  • pi-extensible-workflows@5.8.0
  • @piewf/cli@5.8.0
  • @piewf/herdr@5.8.0

Full changelog: v5.7.0...v5.8.0

v5.6.1

Choose a tag to compare

@vekexasia vekexasia released this 19 Aug 06:38

Fixes

  • Wait for background workflow log entries and completion follow-ups instead of a 100ms spin, so Publish does not flake under parallel load.

Verification

  • npm run check
  • 20 parallel copies of the previously flaky tests

Packages:

  • pi-extensible-workflows@5.6.1
  • @piewf/cli@5.6.1
  • @piewf/herdr@5.6.1
  • @piewf/subagents@5.6.1

Full changelog: v5.6.0...v5.6.1

v5.6.0

Choose a tag to compare

@vekexasia vekexasia released this 18 Aug 14:53

Highlights

  • Removed per-call thinking. Concrete models must be provider/model:thinking; aliases may omit the suffix and inherit it from the target. Role-file thinking frontmatter is rejected.
  • role is now a name string only. Role files provide defaults; per-call AgentOptions model, tools, skills, extensions, and contextFiles override them.
  • Added terminal-run retention settings (retention.olderThanDays, retention.maxTerminalRuns) applied best-effort at session start to hard-terminal runs only.

Breaking changes

  • Role objects, RoleOverride, ROLE_OVERRIDE_KEYS, and validateRoleOverride are removed. overrideSystemPrompt remains role-file only.
  • Persisted legacy role objects are rejected as corrupt. Legacy role snapshots fold thinking into model.
  • Removed the optional singleAgent workflow-catalog function from @piewf/subagents. Use core agent() and withWorktree() in workflow scripts.

Before:

agent(prompt, {
  role: { name: "reviewer", model: "anthropic/claude-fable-5", thinking: "high", tools: ["!*", "read"] },
})

After:

agent(prompt, {
  role: "reviewer",
  model: "anthropic/claude-fable-5:high",
  tools: ["!*", "read"],
})

Fixes

  • Report failed ownership writes per run instead of crashing the host.
  • Keep nested failedAt paths absolute and journal-consistent.
  • Resolve real-session trace paths from the package root.

Documentation

  • Documented agent session transitions and tightened the root README.

Verification

  • npm run check
  • Dry-run package inspection for all four publishable workspaces

Packages:

  • pi-extensible-workflows@5.6.0
  • @piewf/cli@5.6.0
  • @piewf/herdr@5.6.0
  • @piewf/subagents@5.6.0

Full changelog: v5.5.0...v5.6.0

v5.4.0

Choose a tag to compare

@vekexasia vekexasia released this 12 Aug 11:22

Highlights

  • Consolidated @piewf/subagents to five model-facing tools and added durable foreground execution to subagents_run (#198).
  • Added compact Subagents TUI rendering, a bounded live background widget, stale-run warnings, and the read-only /subagents picker with live inspection, inline steering, lifecycle controls, and shared workflow-agent actions.
  • Deduplicated Subagents inspection snapshots, excluded system prompts, preserved legacy records, and made accounting cumulative across internal retries (#200).
  • Separated repeated registered-function invocations into stable occurrence-aware progress groups in live and navigator views (#199).
  • Reworked the workflow background widget to avoid remounts, reduce idle repaint work, suspend under /workflow, refresh clocks and navigation correctly, and restore compact one-line transcript receipts (#202).
  • Added clearer workflow state, token, cost, model, runtime, and retry details across progress views.

Subagents migration

The model-facing v5.3 tools map to v5.4 as follows:

  • subagents_list({}) -> subagents_inspect({})
  • subagents_status({ id }) -> subagents_inspect({ id })
  • subagents_result({ id }) -> subagents_inspect({ id })

subagents_steer, subagents_stop, and subagents_retry remain separate. Background remains the default for subagents_run; use mode: "foreground" only when the terminal envelope is needed inline. The optional singleAgent workflow function remains inline and does not create a durable standalone run.

Reliability, API, and documentation

  • Accepted a submitted workflow_result even when followed by an empty provider abort.
  • Reported workflow confirmation dialogs as blocked activity for Herdr and lifecycle observers.
  • Kept piewf doctor read-only during Pi model discovery.
  • Exported shared workflow/subagent presentation helpers and formatCost from the core package.
  • Split core persistence internals into focused modules while preserving the public facade.
  • Updated Pi development dependencies to 0.84.1 and expanded the README and dedicated Subagents and Herdr guides.

Verification

  • npm run check
  • Dry-run package inspection for all four publishable workspaces

Packages:

  • pi-extensible-workflows@5.4.0
  • @piewf/cli@5.4.0
  • @piewf/herdr@5.4.0
  • @piewf/subagents@5.4.0

Full changelog: v5.3.0...v5.4.0

v5.1.1

Choose a tag to compare

@vekexasia vekexasia released this 31 Jul 20:50

Highlights since v5.0.0

  • Added a unified /workflow command for run, agent, lifecycle, budget, and checkpoint actions.
  • Added interactive resume support for interrupted workflows, including resuming all workflows at startup.
  • Added /workflow background to move a foreground workflow into background delivery without restarting it.
  • Added per-call role overrides and contextFiles policies for controlling agent context.
  • Added piewf doctor --role diagnostics for effective agent resources and prompts.
  • Added long-running shell progress reporting and improved foreground log rendering.
  • Added typed workflow schemas and local Pi/session inspection APIs.
  • Improved Herdr session inspection and continuation behavior.
  • Fixed workflow dashboard state glyphs and activity display.

All checks passed. Packages published:

  • pi-extensible-workflows@5.1.1
  • @piewf/cli@5.1.1
  • @piewf/herdr@5.1.1