v5.8.0
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 withRESULT_INVALIDafter 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 trajectoryand 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 trajectoryremains 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-endevent 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
SKILLin 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
reviewLoopstarter, 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