# Changelog

## 0.8.0 - 2026-08-13

- **Breaking:** Replaced the model-facing task/run identity pair with one exact agent `name` across delegation, listing, inspection, steering, lifecycle control, wakes, and ordinary UI. Names match `^[a-z0-9][a-z0-9_]{0,63}$`; there is no prefix or fuzzy matching.
- Made one name represent one permanent saved-conversation lineage. Resume the existing name to continue it; use a different name for a fresh zero-context agent. Reusing a completed name through `agi_delegate` is rejected.
- Added stable `.pi/agi/.runtime/agents/<name>/` paths that follow the latest private attempt. Resumes preserve prior trace, command logs, result evidence, and monotonic command numbering.
- Kept opaque run IDs private for persistence, leases, recovery, wake deduplication, and telemetry while removing them from model-facing tool schemas/results, wake text, recovery text, and normal UI.
- Bumped current status and descriptor schemas to 2 and 5. This release intentionally has no legacy aliases, fallback parsing, dual fields, or migration shims; clear old `.pi/agi/.runtime` state before use.
- Replaced model-facing `agi_worker(view:"events")` pages with a concise append-only per-run `trace.log`. Monotonic sequence numbers support bounded incremental reads without reinjecting evidence the orchestrator already saw.
- Bounded each persisted assistant/tool trace entry independently, preventing one long active exchange from growing inspection results to hundreds of kilobytes.
- Made future one-command Arena runs use `gpt-5.6-luna` at `high` with a 1,800-second ceiling for lower-cost comparisons.
- Built and verified task-specific Pi-AGI runtime images for Super Mario, Snake Maze Campaign, and 2048 during release, preventing non-Sokoban tasks from launching in the Sokoban image.
- Removed `agi_worker_insight` and its secondary analyst model call. Worker supervision now uses the concise per-run filesystem trace.
- Reduced worker, attention, and timed-wait wake messages to event-specific facts; standing supervision instructions now appear only in the AGI system prompt.
- Reframed orchestrator, worker, tool, and timeout guidance as concise positive actions, reserving prohibitions for essential safety or capability boundaries.
- Changed `agi_steer` to queue an ordinary user message without interrupting active reasoning or tools by default. The current command finishes and the worker reads the message at the next model boundary; `interrupt:true` retains the previous abort-and-continue behavior, including partial command output preservation.
- Added active tool runtime, last-progress age, and attention evidence to steering results so the orchestrator can decide whether opt-in interruption is warranted.
- Preserved compatibility with durable steering records created before this option: a missing `interrupt` field continues to mean the historical interrupting behavior.

## 0.7.1 - 2026-08-12

- Changed `agi_steer` to interrupt the worker's active model turn and command, preserve partial command output with an explicit steering interruption footer, append the correction verbatim as an ordinary user message, and continue immediately in the same worker process and Pi session.
- Added a runtime-PID-validated settlement handoff so the parent does not terminalize the stale aborted turn before the correction begins.
- Removed steering wrappers and streaming `deliverAs` delivery; exact ordinary-input acknowledgment remains the durable proof that a correction landed.

- Switched the one-command Arena benchmark target to `gpt-5.6-terra` at `high`, and made launch refuse an already-active pi-agi Arena process.
- Removed delegated-worker wall-clock and turn budgets. New workers run without harness time, turn, token, or tool-call caps; legacy timeout records remain readable, while external job ceilings and explicit lifecycle controls remain authoritative.
- **Breaking:** Replaced the model-facing `agi_state` content API with ordinary `read`/`edit`/`write` access to free-form `goal.md`, `plan.md`, `notes/*`, and `memory/*`, plus a minimal `agi_archive({confirm:true})` lifecycle tool.
- Removed durable-state schemas, semantic goal readiness, managed frontmatter, generation/CAS tracking, `digest.cache.json`, automatic memory-index rebuilding, parsed plan delegation contracts, and hidden goal-revision worker bindings.
- Made context injection tolerant raw text capped at 12,000 characters, and made delegation, explicit sleep, recovery, and worker-completion delivery independent of state-file contents.
- Removed plan-driven automatic ticks. Timed re-checks now require an explicit `agi_sleep`; worker and delegation events retain automatic wakes.
- Added a single release runner that validates and packages the exact working tree, installs it into local Pi, deploys the same package to the production VPS sandbox, refreshes/rebuilds the Arena image with exact provenance, and keeps npm publishing and paid benchmark execution explicit.
- Replaced noisy worker-event inspection with bounded semantic assistant/tool outcomes, stable backward cursor pagination in pages of three, and captured normal tool result/error previews with secret redaction.
- Added `agi_worker_insight`, which runs an isolated ephemeral no-tools Pi analyst over a private full-transcript snapshot and returns only a bounded supervision assessment, plus `wait_for_agent` for the common on-track worker wait.

## 0.7.0 - 2026-08-10

- Made scheduler wakes bounded event deltas: historical wakes leave model context after their turn, standing goal/plan digests are not repeated, and internal fleet/time/cycle/budget telemetry stays out of prompts.
- Required meaningful but prose-flexible durable goals before autonomous work can start, while accepting compact concrete objectives and revalidating the current goal atomically at worker spawn.
- Preserved worker results, final answers, late tool output, stop reasons, cleanup evidence, and tombstones across stop/final-response/tool-result races; orchestrator, wake, status, and TUI projections now report stopped, failed, timed-out, and completed outcomes consistently.
- Added a trusted process-group anchor and readiness handshake so descendants can be cleaned safely after the leader exits without signaling unrelated processes; BSD/macOS process identity checks now use trusted absolute `ps` paths.
- Made concurrent tool activity durable per invocation and prevented one progressing tool from hiding a stalled sibling.
- Reduced routine five-minute worker-review overhead with bounded, redacted trajectory snapshots and event-driven waiting. Live paired proof reduced review requests from 2 to 1, context bytes from 49,868 to 31,679, review tokens from 135 to 120, and status polling calls from 1 to 0 while preserving immediate completion wakeups.
- Added adversarial regression suites and complete owned tmux/Pi proof archives for durable goals, minimal wake context, stop cleanup, accurate race reporting, and polling/token measurements.

## 0.6.0 - 2026-08-09

- Made concurrent tool activity durable per call id, so context/research progress is attributed independently, failed tools release their activity, and one healthy sibling can neither hide nor falsely stall another invocation.
- Made `write_plan` accept ordinary Markdown, manage its own metadata, and canonicalize common task separators, field styles, and status synonyms while preserving schema validation.
- Added a Docker/tmux real open-mission harness with an internal-only agent network, filtered public-internet proxy, container-root self-installation of generic tools, retained traces, startup readiness/error capture, isolated package settings, and no host browser, mailbox, Docker socket, or synthetic completion service.
- Made the prod VPS (`kortix-prod`) the default open-mission test target, with source/config upload over SSH and the local Docker runner retained as an explicit optional command.
- Changed long-wait guidance to report progress, reassess credible routes, and keep waiting or retrying while the external condition remains necessary; goals are never abandoned for merely taking a long time.
- Added an owned tmux live-test runner that loads the current extension source directly, retains isolated run artifacts, captures full scrollback, and safely stops only its exact session.
- Stopped autonomous ticks and sleeps after goals are met or archived; completion now ends with one concise final summary and remains idle until new user input.
- Made every worker inherit the parent session's exact `provider/model`; removed model, tool, and extension-policy selectors from delegation profiles and spawn arguments.
- Made successful delegation terminate the main turn and enter a fixed five-minute worker wait automatically, with immediate completion/attention/user wakes and a concise trajectory-review timeout.
- Kept routine model context focused by removing UTC timestamps, fleet dumps, generation values, wait counters, and duplicated wake reasons from state and scheduler payloads.
- Made Esc and `/agi-stop` share one confirmed whole-run stop path that aborts the main turn, stops owned workers, clears wakes, disables AGI mode, and never auto-resumes.
- Kept workers capability-neutral: normal Pi tools, plugins, skills, extensions, and parent network mode remain available; only pi-agi orchestration tools are structurally absent in worker role.
- Added the loaded `pi-agi` package version to the AGI activation banner.
- **Breaking:** Delegation is now strictly iterative and sequential: one task per `agi_delegate` call, one active worker total, and no read-only concurrency exemption or queued follow-up workers.
- **Breaking:** Removed orchestrator edit/write and bash capability restrictions plus the `allow_direct_edit` grant. AGI mode now retains the full host tool set and encourages delegation through prompt policy.
- Strengthened prompt-driven orchestration so substantial independent branches normally delegate while consequential final actions remain under orchestrator judgment.
- Prevented missing convenience tools or one failed attempt from becoming premature blockers or empty sleeps; autonomous goals now require capability discovery and evidenced alternative-path exhaustion.
- Front-loaded worker decomposition as the default operating policy for nontrivial autonomous goals while retaining full direct capability.
- Added a concise first-turn checkpoint requiring canonical planning and early delegation when a goal has multiple independent substantial branches.
- Clarified that canonical planning and delegation precede any broad direct investigation when multiple independent branches are present.
- **Breaking:** Removed the persistent AGI decision-log file and its state-tool actions, configuration, digest, compaction, archive, and rotation contracts. Control actions remain visible in session transcripts and per-run events.
- Previously encouraged read-only research fan-out; superseded by the sequential one-worker policy above.
- User interjections cancel pending timers without scheduling an implicit continuation turn; if a worker is still active after the answer, normal settlement re-enters the five-minute worker wait.
- Allowed shell output redirected only to `/dev/null` without treating inspection as a source mutation.
- Made substantive read-only investigations delegate before the orchestrator accumulates multi-probe research itself.
- Prevented redundant worker-wait sleeps and repeated multi-probe verification after read-only research completes.
- Counted batched shell probes as substantive investigation work instead of a single bounded lookup.
- Rejected malformed task-like plan headings with the exact canonical task syntax instead of silently parsing an empty plan.
- Enforced delegated-worker turn budgets in the RPC pump: the final budgeted turn now receives a wrap-up steer, and the first turn beyond the configured grace window aborts as `timedOut` while preserving partial output.
- Made worker terminal callbacks idempotent so deadline finalization followed by child exit cannot arm a duplicate durable completion wake.
- Refused likely placeholder-truncated goal writes (long requirement lines ending in literal `...`) so a model cannot silently drop recipients or completion conditions while still producing syntactically valid durable state.
- Kept long external-wait bookkeeping internal and taught monitors to reuse short checkers with delta-only output, avoiding repeated command text and cycle counters in model context.
- Deduplicated identical `agi_sleep` notes across a wait series while retaining the reason in durable wake state and the TUI.
- Bounded VPS source-release retention after uploads, validating every deletion candidate and protecting the active release so repeated test syncs cannot slowly fill the disk.
- Retried an empty wake count for a bounded 2.5 seconds in sandbox status output and labels a persistent zero as a snapshot, so the consume/re-arm settlement window does not falsely present a healthy active mission as idle.
- Enforced one progress note per complete agent run rather than per tool-loop generation, while allowing `agi_sleep` to update its durable wait reason without producing a second notification.
- Documented macOS npm installation/update testing and custom model endpoint configuration through Pi's `models.json`.

## 0.5.2 - 2026-08-07

- Added optional Laminar worker correlation metadata (private attempt ID, agent name, phase, and role) to delegated worker environments.

## 0.5.1 - 2026-08-07

- Documented that pi must be installed before `pi-agi`.
- Clarified that extensions must be installed with `pi install npm:pi-agi`, not global npm installation.
- Added the startup command and provider prerequisite to the npm README.

## 0.5.0 - 2026-08-07

First release of the AGI orchestrator extension under the existing `pi-agi` package name. This replaces the previous supervised-agent package published as versions 0.2.0 through 0.4.2.

- Added AGI orchestrator mode with durable goal, plan, memory, and notes.
- Added detached worker delegation, profiles, concurrency control, reports, and fleet UI.
- Added BashGuard protections for interactive and indefinitely blocking commands.
- Added durable sleep, wake, tick, attention, batching, and headless drain behavior.
- Added exact-ack steering, interrupt, terminal stop, same-session resume, session leases, and worker inspector.
