Skip to content

v0.228.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 22:33
· 326 commits to main since this release
ffd4fdc

v0.228.0 adds a run inspector and groups for the agent switcher. Every delegation, background job and workflow step now records which run it belongs to, so a finished run can be rebuilt after it ends. A new drawer in the console shows that run: its outcome, cost, delegation tree and turns. The agent switcher now has groups, pins, recent agents and a filter. Settings ▸ Fleet has an editor for the groups. Failed turns now record why they failed. Finished background jobs are pruned after 90 days. Fixes cover the /prompt subagent list, schema migrations that could fail without an error, and console copy and dismiss actions that reported success when they had failed.

Added

  • Run inspector drawer. A View run link under each chat answer, on each Recent turns row in Telemetry, on each background job and in the Org Chart node drawer opens one drawer for that run. It shows the outcome, total cost, wall-clock span and the completion check's verdict. Below that is the tree of delegations, each with its kind, target, outcome, cost, duration and error, plus the run's turns with links to their traces and prompts. Work still in flight refreshes every three seconds. A ?run=<id> link opens the drawer directly, and plugin views can open it with the protoagent:run:open bridge message. (#4738)
  • Runs can be rebuilt after they finish. Ledger rows now record edge_uuid, parent_uuid and run_id, the A2A task id of the turn the work started in. Telemetry turns record the same run_id. Workflow runs, background jobs, coding-agent runs and A2A peer tasks join their parent run. GET /api/runs/{id} returns the run tree. Plugins can group work done outside a turn with sdk.run_scope. (#4727)
  • The completion check's verdict is recorded. Each subagent ledger row records completion (complete, incomplete or partial) and nudges. GET /api/ledger/completion counts them, and the org-chart edge aggregate adds incomplete and nudged counts. (#4728)
  • Configurable ledger retention. The maintenance loop prunes the delegation ledger when telemetry.ledger_retention_days is set. The default is 0, which keeps everything. The observability guide now has a table of how long each part of a run is kept. (#4730)
  • Finished background jobs are pruned. A completed, failed or canceled job is deleted once its result has been delivered to its session and it finished more than background.retention_days ago (default 90). Running jobs and undelivered results are never deleted. (#4734)
  • Fleet groups and pins on the hub. The hub stores named switcher groups, and a group and pin for each agent, in roster.json. They are shared across browsers and survive a restart. GET /api/fleet adds groups and optional group / pinned / pinned_at / machine fields. Remote agents are grouped by machine automatically and can be pinned. (#4731)
  • Agent switcher with groups, pins, recent agents and a filter. The top-left agent menu has sections for the current agent, pinned agents, recently used agents, your groups and a Remote section. Once a fleet has ten agents, a filter box appears. Pin from a row, or right-click to move an agent to a group. On a phone the switcher opens as a bottom sheet. (#4732)
  • Fleet settings group editor. Settings ▸ Fleet ▸ Groups lets you create, rename, reorder and delete groups, move agents between them by dragging or with a picker, and pin or unpin any agent. Changes save at once. Deleting a group moves its agents to No group; no agent is removed. (#4735)

Fixed

  • Failed turns record why. Telemetry turns rows gain an error column holding the failure reason, redacted and clipped to 500 characters. Incognito turns store none. Recent turns shows the reason, and the background agents dialog shows a failed job's error. (#4733)
  • The /prompt view lists a turn's subagent calls again. Before this, the list was always empty for real turns. (#4729)
  • A failed schema migration now raises an error. The telemetry, ledger, prompt-snapshot, scheduler and activity stores used to treat any ALTER error as "column already present". A lock timeout during a migration could then leave a store without the column until a restart. (#4736)
  • Console copy and dismiss failures say so. Copying a trace id or a job's output reports success only when the clipboard write works. Stopping, deleting or clearing background jobs rolls back and shows a toast naming what failed when the server refuses. (#4737)
  • A repeat scheduled-task chip opens to show the full result. Later fires of a schedule collapse to a one-line chip. Clicking the chip, or pressing Enter or Space, now expands it to show the summary, the fire time and View full result. (#4724)

Upgrading

  • Background jobs are now pruned by default. Finished jobs that were delivered more than 90 days ago are deleted on the first maintenance pass after the update. To keep everything, set background.retention_days: 0.
  • Ledger pruning is off by default (telemetry.ledger_retention_days: 0). Nothing changes unless you set it.
  • Existing telemetry and ledger databases gain their new columns automatically when they open. You don't need to do anything else.

What's Changed

  • fix(console): a repeat scheduled-task chip expands to the full result instead of being a dead end by @mabry1985 in #4724
  • feat(ledger): a finished run can be rebuilt from durable storage (#4726) by @mabry1985 in #4727
  • fix(prompts): the /prompt view finds a turn's subagent calls (#4726) by @mabry1985 in #4729
  • feat(fleet): fleet groups and pins stored with the roster (hub API), plus the approved fleet-switcher design doc by @mabry1985 in #4731
  • feat(ledger): record the completion check's verdict and nudges (#4726) by @mabry1985 in #4728
  • feat(ledger): configurable ledger retention and a documented per-store policy (#4726) by @mabry1985 in #4730
  • feat(console): fleet switcher with groups, pinned, recent and a filter (desktop dropdown + phone bottom sheet) by @mabry1985 in #4732
  • feat(background): prune delivered background jobs after a retention window by @mabry1985 in #4734
  • fix(telemetry): record why a turn failed and show it in the console (#4726) by @mabry1985 in #4733
  • fix(console): copy and dismiss failures say so instead of claiming success by @mabry1985 in #4737
  • fix(telemetry): a failed schema migration raises instead of passing as done by @mabry1985 in #4736
  • feat(console): a run inspector drawer, opened from chat, telemetry, background jobs and the org chart by @mabry1985 in #4738
  • feat(console): Fleet settings group editor (group cards: create, rename, reorder, delete, assign, pin) by @mabry1985 in #4735

Full Changelog: v0.227.0...v0.228.0