# Changelog

All notable changes to `@llblab/pi-kit` are documented here.

## 0.36.0: Bundled Package Updates (2026-10-21)

- `Automatic updates`: Replaces the dependency PR/approval step with validated direct-to-main adoption of stable same-major patch/minor releases. Exact pins, bundle aliases, lockfile, README and kit version remain synchronized; preparation stays read-only and a fresh data-only writer rejects unsafe payloads and concurrent main changes.
- `Release handoff`: Explicitly dispatches the OIDC publisher with the committed SHA because GITHUB_TOKEN pushes do not trigger ordinary push workflows. The publisher rejects a different commit before tagging. No updates means no fabricated commit or release; existing untagged versions can retry a missed handoff. Major/prerelease and composition changes remain manual; packaging checks do not establish extension safety.
- `Exact pins`: `@llblab/pi-actors` 0.54.0 → 0.55.0.
- `Packaging`: Synchronizes the lockfile, bundle aliases and README inventory. Package membership and resource order remain unchanged; packed validation does not certify extension safety or installed-client behavior.

## 0.35.5: Reviewed Updates and OIDC Releases

- `Update preparation`: Adds daily/manual npm discovery and one human-reviewed update PR containing exact pins, both bundle aliases, regenerated lockfile, README inventory, kit version and changelog. Preparation is read-only without secrets or dependency hooks/bin links; a fresh write runner accepts only four checked data files. Major/prerelease updates and resource changes remain manual; failed validation prevents PR creation, and no auto-merge is enabled.
- `Publication`: Replaces tag-triggered publication with a main-only npm Trusted Publisher using short-lived OIDC, without a persistent npm token. It reads the reviewed version, skips an unchanged latest tag, validates before a non-forced tag push, and publishes npm before the GitHub Release. Existing-version recovery requires matching tag/npm commit identity; public packed inventory remains verified. Stage-only permission is rejected, not silently substituted.
- `Review and evidence`: Adds automation regression tests, executable lock/bundle/tarball coherence checks, CODEOWNERS and maintainer setup/recovery guidance. The npm trust binding and enforced main-branch review protection remain administrator-owned activation steps.
- `Compatibility`: Keeps all eight dependency pins, bundled resource order and runtime entrypoints unchanged. This patch changes update/release tooling and documentation; it does not install or reload Pi clients.

## 0.35.4: Telegram Session Thread Continuity

- `Telegram pin`: Advances only the exact Telegram pin from `0.57.2` to `0.57.3`. A session replaced inside one Pi process now reuses its preserved Thread on every registration path instead of provisioning a second tab, and a new session registering in a folder whose previous session is provably gone adopts that binding's exact target and slot while the predecessor binding is re-keyed. A live predecessor or an ambiguous candidate set keeps ordinary provisioning.
- `Checks`: The exact-pin test, README inventory and pointer targets now read `0.57.3`; the seven published pointer entrypoints and declared Skill paths are unchanged. Packed validation covers build, types, tests, audit and bundle inventory only, so installed-client behavior remains an operator check in [Backlog](./BACKLOG.md).

## 0.35.3: Compact Bundled Extension Labels

- `Extension wiring`: Each bundled extension is now declared through a thin pointer at `extensions/<name>/index.js` that re-exports the exact bundled entrypoint, so the Pi startup list and `pi config` show `@llblab/pi-kit:pi-telegram` instead of the full nested path. Pins, load order and package code are unchanged, and an explicit `pi.extensions` still suppresses conventional directory discovery, so nothing loads twice.
- `Publishing and checks`: `package.json` publishes the pointer folder, and package tests now bind every pin to one pointer, one target and the two re-export statements a pointer may hold. Skill resolution keeps its existing `node_modules` paths. Only the path part of a label shortens; the `@llblab/pi-kit:` prefix remains and changes no runtime behavior.

## 0.35.2: Telegram Connect Latency and Session Identity

- `Telegram connect`: Advances only the exact Telegram pin to `0.57.2`. A new Thread now connects in seconds instead of roughly 20 seconds when every letter slot is occupied: rotation no longer re-reads the shared journal namespace once per binding inside one synchronous pass, while post-fence protection checks still read fresh evidence. Other pins, package membership and resource order are unchanged.
- `Session identity`: A follower connected with `/telegram-connect` becomes leader when the old leader stops answering, instead of retrying a dead socket indefinitely, because authority now follows the session rather than the exact Pi context object. A promoted follower keeps its Thread, slot and name and still defers to a live lower-slot follower.
- `Log noise`: Expected-and-recovered failures no longer fill the log. Private-chat graceful cleanup deletes the Thread directly, the restore probe records one lifecycle event instead of an API error, bus attempts record only the first and final failure plus recovery, and repeated heartbeat, capability-probe and typing-presence failures collapse into one record per run with a recovery record. Status diagnostics print the paths of the agent directory in use.

## 0.35.1: Telegram Guest Media and Routing Cleanup

- `Telegram cleanup`: Advances only the exact Telegram pin to `0.57.1`. Exhausted Reroute tabs and Restore's old tab are no longer blocked by unrelated targetless creation attempts, while accepted work and uncertain deletion stay protected. Fresh local menu Reroute and supported Restore hold command effects through their cleanup decision. Other pins, package membership and resource order are unchanged.
- `Guest media`: Queued photos, documents and MP3 now replace an acknowledged Guest Mode placeholder instead of being silently skipped. Confirmed failures report errors, uncertain edits are not replayed, and unsupported OGG/Opus replacement is rejected explicitly. Guest media client acceptance remains a deferred upstream follow-up, not proof supplied by kit validation.

## 0.35.0: Telegram Thread Continuity and Shared Settings

- `Telegram continuity`: Advances only the exact Telegram pin to `0.57.0`. Same-process follower session replacement preserves the Thread, letter slot and acknowledged title without a second connected notice; cross-process handoff notices use the acknowledged title. Other pins, package membership and resource order are unchanged.
- `Shared settings`: Automatic Thread display now uses top-level `threads.displayMode` for every bot profile. The old profile-scoped key is ignored without migration; configurations without the new key use Letters until Settings saves a choice. Profiles hold only bot identity and the paired owner.

## 0.34.3: Telegram Typing Continuity

- `Telegram typing`: Advances only the exact Telegram pin to `0.56.4`. Streaming keepalives preserve the same owner's in-flight typing request, while session, transport and target changes still revoke old authority. Compaction cannot claim an existing agent loop. Other pins, package membership and resource order are unchanged; client-specific typing visibility remains a live check.

## 0.34.2: Telegram Compatibility and Windows Usage Updates

- `Telegram`: Advances the exact pin to `0.56.3`, adding adjacent button matrices with preserved row grouping and fixing Pi 1.2 custom-message starts without a user prompt. Legacy prompt events and voice syntax remain supported; no client-rendering fallback is added.
- `Usage extensions`: Advances Codex Usage to `0.13.1` for native Windows Codex CLI fallback and Claude Usage to `0.2.2` for its Windows-validated release with unchanged runtime. All eight package pins were checked against npm stable releases; other pins, composition and resource order remain unchanged.

## 0.34.1: Canonical Telegram Reactions

- `Telegram reactions`: Advances only the exact Telegram pin to `0.56.2`. Only thumbs-up selects Priority, thumbs-down selects Skip, and fire selects Steer; retired aliases no longer flush or control queued input. Queue badges use canonical emoji without rewriting accepted state. Other pins, package membership, resources and load order are unchanged.

## 0.34.0: Telegram Steer and Connection Recovery

- `Telegram Steer`: Advances only the exact Telegram pin to `0.56.1`, adding per-prompt Steer through fire reactions or the queue menu while Normal remains the default. Ready corrections enter at model-step boundaries without replacing the Telegram queue or replaying uncertain input. Other pins, package membership, resources and load order are unchanged.
- `Connection and Restore`: Includes explicit recovery of interrupted creation, message-based checks for deleted follower tabs, negotiated follower `/start` and `/help` Restore, and first-click leader command-ACK observation. Both peers must support the relevant capabilities; unknown creation may leave an extra tab, and old-tab cleanup remains independently protected.

## 0.33.1: Telegram Reroute Visibility and Follower Cleanup

- `Telegram Reroute`: Advances only the exact Telegram pin to `0.55.1`. Temporary Reroute forwards prompts into the selected Thread before native admission and anchors answers to confirmed copies. Follower cleanup reobserves resolved temporary tabs after receipt protection clears, including retained completed membership after runtime replacement; issued or unknown deletion never repeats. Other pins, package membership, resource paths and load order are unchanged.

## 0.33.0: Telegram Native Restore and Lifecycle Fences

- `Telegram 0.55`: Advances the exact Telegram pin to `0.55.0`. Native Restore confirms its new binding and decides old-tab cleanup before retained input runs. All is input-only; preview, typing and reconnect reject stale lifecycle work. Exact Linux/macOS home displays as Home/home without changing routing identity. Compatible Restore capabilities are negotiated separately from bus protocol v3. Other pins, package membership, resources and load order are unchanged.

## 0.32.0: OpenAI Subscription Quota Support

- `OpenAI Subscription Support`: Advances Codex Usage to `0.13.0`. ChatGPT subscription OAuth under `openai` now fetches Codex quotas without the legacy `openai-codex` provider; ordinary API-key auth is skipped. Both providers support terminal and Telegram status plus `/fast`, with preferences isolated by provider/model. Other pins, package membership, resources and load order are unchanged.

## 0.31.2: Telegram Restore Flow

- `Telegram Restore Flow`: Advances the exact Telegram pin to `0.54.4`. Restoring a Pi into a routing tab renames the tab to that Pi's Thread title and keeps the prompt it answers, since an input sent from `All` now moves into its routing tab on desktop and mobile alike. Routing menus disappear after every final choice, every client ends with one routing tab per `All` input, and the old tab is removed right after Pi answers. Other pins, package membership, resources and load order are unchanged.

## 0.31.1: Telegram Mobile Routing Tab

- `Telegram Mobile Routing`: Advances the exact Telegram pin to `0.54.3`. Sending a command or prompt from `All` in mobile Telegram no longer leaves an extra tab named after the input next to the routing tab; the native tab the mobile client creates is adopted as the routing tab. Other pins, package membership, resources and load order are unchanged.

## 0.31.0: Telegram Idle Runtime And Bus Liveness

- `Telegram 0.54`: Advances the exact Telegram pin to `0.54.2`. Idle connected sessions make no periodic disk writes: the update journal no longer borrows the `telegram.json` lock and the leader proves liveness over the bus instead of a two-second `state.json` heartbeat. Bus protocol v3 requires updating every Pi process together.
- `Telegram fixes`: Followers go offline instead of looping when Threaded Mode is switched off, unverifiable ownership checks are recorded and tolerated before standing down, and cancelled Generative App methods cannot leave processes behind. Other pins, package membership, resources and load order are unchanged.

## 0.30.1: Telegram Text Reply Diagnostics

- `Telegram Voice Artifacts`: Advances the exact Telegram pin to `0.53.1`. Plain text replies no longer record a false "every voice synthesis provider failed" delivery error when a reply carries no voice content; genuine voice failures still fall back to text. Other pins, package membership, resources and load order are unchanged.

## 0.30.0: Telegram Live Rebinding and Windows Support

- `Telegram Live Rebinding`: Advances the exact Telegram pin to `0.53.0`. Restore moves a held prompt or supported command to another Pi through one same-session save/apply/release channel with bounded old-Thread cleanup. Temporary routing tabs are named 🚦 Routing, Cancel removes the tab and any All copy right away, and a restart revives a still-waiting chooser. Toasts are plain text and navigation answers silently.
- `Windows Support`: Telegram Restore, live rebinding, cleanup census and scoped queue receipts now run on Windows through the same strict journal reads, with process-birth proof, sharing-violation retries for Workspace files and eight-second follower control replies. Other pins, package membership, resources and load order are unchanged.

## 0.29.2: State Flow Continuity and Telegram Recovery

- `State Flow Continuity`: Advances the exact State Flow pin to `0.26.4`. Passive retains native summaries and tool calls/results after idle Stop and split-turn compaction, including through reload/resume. Automatic Passive memory omits stored answers; Active response guidance keeps answer ownership with the runtime. No memory migration or configuration change is required.
- `Telegram Recovery`: Advances the exact Telegram pin to `0.52.2`, adding finite chooser lifetimes, waiting-continue cancellation, polling recovery, replacement-safe disconnect and bounded Windows attachment publication retries. Unconfirmed cleanup remains explicit. Other pins, package membership, resources and load order are unchanged.

## 0.29.1: State Flow Temporary Paths and Mode Colors

- `State Flow Consistency`: Advances the exact State Flow pin to `0.26.1`. New diagnostics and Git push failure logs use `tmp/pi-state-flow` without moving old logs or canonical memory. Selected Telegram modes use 🟣 Off, 🟡 Passive and 🟢 Active; unselected options remain ⚫️. Other pins, resources and load order are unchanged.

## 0.29.0: State Flow Stable Modes

- `Step-independent memory`: Advances the exact State Flow pin to `0.26.0`. Memory no longer depends on the Pi step: startup, reload, resume and `/tree` attach current same-session memory, old branch points never block or rewind it, and forks copy the parent's current memory. Passive stays writable across reload; unreadable memory under Active shows `active (blocked)`. Other pins, resources and load order are unchanged.

## 0.28.0: Telegram Workspace Restore and Runtime Resilience

- `Workspace and Routing`: Advances Telegram to `0.52.0` with conservative Workspace Restore, shared Reroute/Restore/Cancel controls, temporary-Thread lifetimes and 60-minute prompt choice expiry. Strict journal proofs remain required; Windows Restore fails closed. Other pins, resource ownership and load order are unchanged.
- `Runtime Resilience`: Telegram uses `tmp/pi-telegram` without migrating old storage, absorbs repeated follower delivery within a bounded process-local window and resets damaged shared state on connection, discarding all profiles' runtime continuity. Queues remain session-local: drain or accept waiting-work loss before reload/restart. Animated stickers no longer enter image payloads.

## 0.27.6: State Flow Restoration Fence and Codemode Compaction

- `Restoration and Compaction`: Advances the exact State Flow pin to `0.25.5`. Failed Active restoration blocks inference before the provider rather than exposing native history; valid selection, accepted Start or explicit Passive/Off permits recovery. Native Codemode metadata no longer blocks completed-history compaction, while values/deletions survive compaction and resume. Unknown metadata and visible custom context stay protected. Other pins, resources and load order are unchanged.

## 0.27.5: State Flow Cleanup and Deletion Hints

- `Cleanup and Deletion Hints`: Advances the exact State Flow pin to `0.25.4`. Accepted scopes recursively drop empty object fields without shifting array slots; cleanup may reveal inherited values. Missing authored deletions report their target and first unavailable component without blocking useful writes or creating revisions. Exact history and untouched scopes stay unchanged. Other pins, resources and load order are unchanged.

## 0.27.4: Readable State Flow Inspection

- `Readable Inspection`: Advances the exact State Flow pin to published `0.25.3`. Large Telegram inspection fields now show pretty-printed JSON prefixes directly, with separate truncation notices instead of escaped `preview` strings. Genuine JSON string escapes and storage semantics are preserved. Other pins, resources and load order are unchanged.

## 0.27.3: State Flow Single Patch Display

- `Single Patch Display`: Advances the exact State Flow pin to published `0.25.2`. Interactive patch rows show JSON arguments once, followed by the actual acceptance, no-op or error acknowledgement. Compact configuration still hides successful arguments. Other pins, resources, load order and storage semantics are unchanged.

## 0.27.2: State Flow Cascade Receipts

- `Cascade Receipts`: Advances the exact State Flow pin to published `0.25.1`. Accepted receipts now list every intent-cascaded owner path, including nested lazy keys, without exposing bodies or eliding the list as predictable. The lifecycle-state ceiling also counts const-bound operation slots and lifetimes. Other pins, resources, load order and storage semantics are unchanged.

## 0.27.1: Telegram Fast Status

- `Telegram Fast Status`: Advances Codex Usage to `0.12.1` and Claude Usage to `0.2.1`. Their Telegram rows now show the active model's Fast preference alongside quota, or alone when quota is unavailable, and reread it at menu render time. Claude retains Opus-only eligibility. Other pins, resource order and quota coordination are unchanged.

## 0.27.0: Intent-Owned State Flow Memory

- `Intent-Owned Memory`: Advances the exact State Flow pin to published `0.25.0`. Deleting an intent removes the same-scope `working`/`lazy` keys it owns through structured `$ref`, so agents that work from intents keep memory self-cleaning. `/state-flow-status` shows per-scope plane sizes and intent-owned shares; lifecycle internals were consolidated without behaviour changes.
- `Telegram Connection Resume`: Advances the exact Telegram pin to `0.51.6`, carrying an in-flight or connected bridge into resumed sessions, recovering exhausted Workspace slots and isolating Thread bindings per session. Other pins, resources and load order are unchanged.

## 0.26.0: Pi 1.0 Cohort and Memory-Inert State Flow

- `Usage and Fast`: Advances Codex Usage to `0.12.0` and Claude Usage to `0.2.0`, sharing one persistent `/fast` command. Codex uses provider-level priority preference; Claude permits the Opus family. Both preserve quota coordination and redraw the terminal status without a quota request; backend capability and billing still apply.
- `Pi 1.0 Cohort`: Advances Actors to `0.54.0`, Clean Room to `0.3.0` and Grow Loop to `0.9.0`, requiring Pi 1.0.0 or newer and including their MIT licenses. Exact pins, bundled packages, explicit resource order and runtime ownership remain intact; Telegram and portable Skills retain their existing pins.
- `Memory-Inert State Flow`: Advances the exact State Flow pin to published `0.24.0`, fixing Pi 1.0 token-estimation compatibility. Off performs no automatic memory work and cancels owned pending operations without erasing accepted data. Read-only inspections validate current private authority; superseded Active preserves Passive's selected history. MIT LICENSE is included in the member package.

## 0.25.0 - 2026-10-02

- `State Flow Modes`: Advances the exact State Flow pin from `0.21.0` to `0.23.0`. Adds sparse-state handling and session-owned modes; new sessions now default to Off while retained choices and explicit global policy survive. Telegram adds mode radios and scope explanations, with opt-in barrier diagnostics. No State Flow memory is erased by switching modes.
- `Claude Subscription Usage`: Adds the independently released `@llblab/pi-claude-usage@0.1.1` as an eighth bundled member and seventh extension entrypoint. It shows Claude Pro/Max quota windows using Pi Anthropic OAuth, with shared cross-instance refresh and optional Telegram status. Existing Codex Usage stays at `0.10.0`.
- `Host Peer Isolation`: Repository-local npm peer settings keep Pi-provided packages out of the kit lockfile and validation audit; Pi continues to supply them at runtime. The six unchanged member pins, existing resource order, Skill ownership and Pi minimum remain unchanged; the new Claude entrypoint is inserted explicitly.

## 0.24.1 - 2026-09-26

- `Follower Thread Hotfix`: Advances the exact Telegram pin to `0.51.5`. Telegram `/new` in a follower Thread now replaces that follower's session while the leader durably authorizes the Thread binding handoff; automatic follower restore reports why it could not reconnect. Package membership, load order, and other pins remain unchanged.

## 0.24.0 - 2026-09-25

- `Minimal State Flow Reconciliation`: Advances the exact State Flow pin to `0.21.0`. Frozen context heads retain cache-stable prefixes while predictable accepted writes omit redundant semantic tails. Shared drift, changed hints and unknown fallback still reconcile; lazy bodies and provenance remain hidden. Artifact prediction cannot reject an already accepted patch. Canonical storage, other package pins, resources and load order are unchanged.

## 0.23.2 - 2026-09-24

- `State Flow Memory`: Advances the exact State Flow pin to `0.19.1`. Automatic recent transitions exclude lazy patches, including deletions, without changing canonical history or explicit reads; targeted historical reads remain available when useful to the task, without resurrecting deleted memory.
- `Package Banner`: Exposes the repository banner through the Pi package image URL and bundles the JPEG in the npm distribution. All other package pins, resources, and load order remain unchanged.

## 0.23.1 - 2026-09-24

- `Current Actors`: Advances the exact Actors pin to `0.53.2`. Packaged Skills respect Pi filters and provenance across managed installs while direct extension checkouts retain source discovery; Actor Inspector Trace rows keep stable source sequences beyond `#99` and across retained compaction without changing persisted Trace events or public JSON.
- `Current Package Cohort`: Confirms all seven exact dependency pins match their latest public npm versions while preserving package membership, bundled resources, explicit extension load order, Skill ownership, and the Pi minimum.

## 0.23.0 - 2026-09-24

- `Awaited State Flow Memory`: Pins State Flow to `0.19.0`. Shared patches preserve independent changes, repeats avoid extra revisions, and state acceptance precedes the next provider request. Start/Stop select workflow policy without cancelling restoration or fork copying; unfinished context and private session ownership survive mode changes. Library callers must await inspection results; six synchronous runtime methods remain supported.
- `Compiled Grow Loop Resources`: Pins Grow Loop to `0.8.2` and loads its declared `dist/pi-grow-loop/index.js` and `dist/skills` resources. Manifest-owned Skill discovery preserves package filters and provenance, while the package supplies drift-checked compiled output.
- `Resolver-Owned Telegram Skills`: Pins Telegram to `0.51.4`. Manifest-loaded kit resources retain Skill filters and provenance without duplicate checkout discovery; the owning package supplies a committed, drift-checked runtime and Skill distribution.
- `Package Cohort`: Preserves all seven package members, exact pins for the other four packages, extension load order and the Pi minimum. Runtime behavior and Skill ownership remain with their independently released packages.

## 0.22.2 - 2026-09-24

- `Follower Registration Recovery`: Advances the exact Telegram pin to `0.51.3`. Followers whose retained target record contains a stale Workspace slot now reconcile to the authenticated canonical claim before binding commit, durably repairing their record without disturbing an unrelated binding that owns the old letter or making unnecessary Bot API calls.
- `Filterable Packaged Skills`: Installed npm/git packages now leave Telegram Skill discovery to the manifest so Pi resource filters are honored. Raw TypeScript checkouts under Pi's extensions directory retain adjacent source-Skill discovery without creating a duplicate packaged discovery path.
- `Package Cohort`: Keeps every other bundled package at its current exact version. Package membership, resource paths, load order, Pi minimum, and bundled Skill inventory remain unchanged.

## 0.22.1 - 2026-09-24

- `In-Flight Model Switching`: Advances the exact Telegram pin to `0.51.2`. Telegram model selection can stop, switch, and continue any interruptible run in the current Pi session, including local/TUI work, while preserving the authorized chat, Thread, and reply target and deferring abort until active tools settle.
- `Typing Continuity`: Native presence refreshes only the assigned Thread, coalesces concurrent chat actions, shares Telegram cooldown across Thread keys, and preserves an existing agent typing loop through compaction. Best-effort typing failures no longer replace healthy leader/follower status with an error.
- `Package Cohort`: Keeps every other bundled package at its current exact version. Package membership, resource paths, load order, Pi minimum, and bundled Skill ownership remain unchanged.

## 0.22.0 - 2026-09-23

- `Named npm Extensions`: Advances the exact Clean Room pin to `0.2.0`. `/clean-room <package-name>` now loads installed npm Pi extensions by name, including scoped packages, while preserving explicit resource isolation and project-local precedence.
- `Model Selection`: Starting an empty clean room from a model registered by an excluded extension no longer fails. When built-in models remain in scope, the child receives only valid entries instead of warnings for stale or excluded-provider patterns; other model providers remain selectable through `/model` when loaded explicitly.
- `Package Cohort`: Keeps every other bundled package at its current exact version. Package membership, entrypoint order, Skill ownership, and the Pi minimum remain unchanged.

## 0.21.2 - 2026-09-23

- `Backup Push Reliability`: Advances the exact State Flow pin to `0.18.1`. Backup replication permits one in-flight push per repository; overlapping attempts are skipped until a later accepted turn, while session shutdown waits for the active process to close. Canonical state acceptance remains independent of Git replication.
- `Failure Diagnostics`: Push failures warn once per streak and retain redacted Git detail in the local diagnostic log even when general logging is off; a successful push resets warning suppression. If logging fails, the warning includes the available detail instead.
- `Prompt-Prefix Evidence`: The State Flow v3 synthetic benchmark now measures serialized per-inference context and within-run shared prefixes, including isolated resume probes. It does not change model projection or claim provider cache gains.

## 0.21.1 - 2026-09-23

- `Queue Transition Reliability`: Advances the exact Telegram pin to `0.51.1`. Busy `/next` now reports the interrupted turn and exact selected queued prompt in order, preserves one reply-header owner through agent start, keeps rapid ordinary messages separate, and lets `/abort` or `/stop` cancel stale notices without allowing notice failures to block dispatch.
- `Follower Heartbeat Stability`: Uses a dedicated eight-second follower heartbeat response deadline aligned with leader stale-liveness policy, preventing ordinary multi-second Pi/TUI event-loop stalls from destroying a healthy socket, producing leader `EPIPE` noise, or cycling registration status.
- `Package Cohort`: Keeps every other bundled package at its current exact version. Package membership, resource paths, load order, Pi minimum, and bundled Skill ownership remain unchanged.

## 0.21.0 - 2026-09-23

- `Independent Scope Revisions`: Advances the exact State Flow pin to `0.18.0`. Global, CWD, and Session now persist independent semantic revision counters, Effective displays the truthful `G#/C#/S#` vector, and Session exclusively owns response state while Global and CWD retain only their structural placeholders.
- `Progressive Backup Replication`: Settled-turn backup attempts asynchronously push the exact current commit to the attached branch's explicitly configured remote/ref without force. Canonical acceptance and response delivery never wait for or roll back on push failure, and a later accepted turn retries the latest backup.
- `Lifecycle And Status`: Empty ordinary completions now finalize normally and preserve preceding state transitions. Active terminal status uses `state-flow G#/C#/S#`, while Telegram keeps `State Flow: G#/C#/S#`; passive terminal status remains absent and Telegram reports State Flow as off.
- `Package Cohort`: Keeps every other bundled package at its current exact version. Package membership, resource paths, load order, Pi minimum, and the single bundled `show-me` ownership path remain unchanged.

## 0.20.0 - 2026-09-23

- `Telegram Workspace Safety`: Advances the exact Telegram pin to `0.51.0`, adding demand-only A–Z slot rotation with dead-owner custody proof, protected inactivity preservation, durable rejection recovery, canonical profile storage paths, and settled leader-election display reconciliation.
- `Follower And Queue Authority`: Carries renewed worker capabilities, current registration/context/session gates, post-await completion fences, exact receipt acknowledgements, serial control handoff, immutable exclusion drain, and same-turn duplicate final-answer suppression while production v3 custody remains disabled.
- `Package Cohort`: Keeps every other bundled package at its current exact version. Package membership, resource paths, load order, Pi minimum, and the single bundled `show-me` ownership path remain unchanged.

## 0.19.2 - 2026-09-23

- `Scope-Aware Skill Acquisition`: Advances the exact State Flow pin to `0.17.4`. Registered Pi Skills now derive global/CWD/session artifact ownership from public user/project/temporary source metadata; current hashes need no repeat compilation, and uncompiled reads no longer block unrelated patches or completion.
- `Passive Observability`: Keeps the shared `state-flow #N` counter visible while active mode is off. Telegram retains global/CWD/session/effective inspection after Stop and may read existing shared state when passive model tools are disabled, without initializing or mutating canonical storage.
- `Package Cohort`: Keeps every other bundled package at its current exact version; the package set, resource inventory, explicit load order and Pi minimum remain unchanged.

## 0.19.1 - 2026-09-23

- `Passive State Flow Concurrency`: Advances the exact State Flow pin to `0.17.3`. First passive semantic or compilation-evidence writes now adopt untouched shared-scope updates from another session, while stale writes to changed target scopes and competing private-session writes remain rejected. No automatic patch replay or storage-format change is introduced.
- `Package Cohort`: Keeps every other bundled package at its current exact version; the package set, resource inventory, explicit load order and Pi minimum remain unchanged.

## 0.19.0 - 2026-09-23

- `Incremental State Flow`: Advances the exact State Flow pin to `0.17.2`, carrying durable scoped memory between user runs while retaining Pi's native working trajectory within each run. Includes bounded historical reads, ordinary answer completion without a separate finalization loop, precise unknown-key diagnostics, and the revised README.
- `Persistence And Compatibility`: Canonical files now own accepted state; optional Git backup failure cannot reject or roll back an accepted update. Requires Pi `0.87.0+`; State Flow's 0.17 storage format has no in-place predecessor converter. Preserve existing stores and follow the owning package's storage guidance before upgrading.
- `Package Cohort`: Keeps every other bundled package at its current exact version; the package set, resource inventory, and explicit load order remain unchanged.

## 0.18.2 - 2026-09-22

- `Telegram Operational Hotfixes`: Advances the exact Telegram pin to `0.50.1`, restoring follower registration when canonical Workspace binding deduplication changes a provisional slot and letting the busy leader permanently skip queued Guest prompts while visually clearing their inline placeholders.
- `Lifecycle And Command Safety`: Adds one-use authorization to armed internal lifecycle actions, prevents Thread naming from Pi commands, and aligns concise autocomplete hints with Pi's argument-first style.
- `Package Cohort`: Keeps every other bundled package at its current exact version; the package set, resource inventory, and explicit load order remain unchanged.

## 0.18.1 - 2026-09-20

- `Passive State Flow Guidance`: Advances the exact State Flow pin to `0.16.3`, requiring finalization barriers only in active episodes while preventing gratuitous final-only patches during passive memory use.
- `Compatibility Contract`: Carries the minimum Pi SDK version `0.84.4` without an artificial upper peer-dependency bound and removes stale compatibility evidence without dropping supported storage migrations or current safety checks.
- `Package Cohort`: Keeps every other bundled package at its current exact version; the package set, resource inventory, and explicit load order remain unchanged.

## 0.18.0 - 2026-09-18

- `Telegram Lifecycle Gateway`: Advances the exact Telegram pin to `0.50.0`, replacing the session-specific technical command with one guarded internal gateway for runtime-armed lifecycle actions while preserving `/new` settlement, continuity, and terminal-result guarantees.
- `Thinking Cadence`: Buffers the first Telegram thinking frame for two seconds and throttles later updates to the same two-second cadence as answer drafts, while still flushing remaining reasoning when the block completes.
- `Package Cohort`: Keeps every other bundled package at its current exact version; the package set, resource inventory, and explicit load order remain unchanged.

## 0.17.1 - 2026-09-18

- `State Flow Activation Hotfixes`: Advances the exact State Flow pin to `0.16.2`, allowing resumed activation to reassert its selected session cohort and allowing passive global memory before a new CWD has materialized, while retaining fail-closed handling for genuinely incomplete ownership.
- `Package Cohort`: Keeps every other bundled package at its current exact version; the package set, resource inventory, and explicit load order remain unchanged.

## 0.17.0 - 2026-09-18

- `Proportional State Flow Guidance`: Advances the exact State Flow pin to `0.16.0`, adding the focused operational Skill, compacting memory curation guidance, and returning bounded reactive diagnostics for missing paths with durable references.
- `Intentional Agency`: Includes State Flow 0.15.0 hot scoped intents for selected future commitments, explicit references to supporting Lazy memory, complete lifecycle and migration semantics, and read-only Telegram inspection without introducing scheduling or automatic execution.
- `Package Cohort`: Keeps every other bundled package at its current exact version; the package set, resource inventory, and explicit load order remain unchanged.

## 0.16.0 - 2026-09-17

- `Canonical Knowledge Memory`: Advances the exact State Flow pin to `0.14.0`, making Global Lazy the sole canonical Knowledge store and removing the former Markdown Knowledge layer while preserving scoped semantic compilation and recovery.
- `Telegram Fresh Sessions`: Advances the exact Telegram pin to `0.49.0`, adding lifecycle-safe `/new` session replacement with durable update settlement, same-chat or same-Thread continuity, and terminal result notifications.
- `Package Cohort`: Confirms every other bundled package already matches its latest published npm version; the package set, resource inventory, and explicit load order remain unchanged.

## 0.15.0 - 2026-09-16

- `Business Credit Usage`: Advances the exact Codex Usage pin to `0.10.0`, adding Business-account credit usage with normalized display, precise reset countdown updates, and cache reuse.
- `State Flow Recovery Delivery`: Advances the exact Telegram pin to `0.48.3`, suppressing duplicate preserved-answer recovery only when matching intermediate text was admitted in the same Telegram turn while preserving equal answers in later turns. Thread restore and reclaim also use the current Workspace display title.

## 0.14.1 - 2026-09-16

- `State Flow Telegram Discovery Hotfix`: Advances the exact State Flow pin to `0.13.3`, restoring its Telegram main-menu control when Pi loads the compiled sibling extension layout while retaining package-export discovery and optional fail-open behavior. The package set and explicit load order remain unchanged.

## 0.14.0 - 2026-09-15

- `State Flow Semantic Runtime`: Advances the exact State Flow pin to `0.13.2`, adopting semantic-only checkpoint and patch storage with adjacent lineage metadata, compiled distributive runtime and Skills, clearer state inspection hierarchy, and guarded automatic compaction that avoids benign native `Nothing to compact` failures caused by system-prompt-only pressure. The package set and explicit load order remain unchanged.

## 0.13.0 - 2026-09-15

- `Telegram Runtime And Recovery`: Advances the exact Telegram pin to `0.48.2`, loading its compiled distributive runtime and Skills, adding unified activity plus adaptive Thread display, preserving truthful queue counts, and containing failed follower promotion as bounded recovery instead of a process-terminating exception. The package set and explicit load order remain unchanged.

## 0.12.1 - 2026-09-14

- `State Flow Navigation Hotfix`: Advances the exact State Flow pin to `0.11.2`, removing the duplicate chooser-owned Back button from Show state. The transport-owned `⬆️ Back` row is now the only navigation control and returns directly to the State Flow section; scope choices and read-only inspection remain unchanged.

## 0.12.0 - 2026-09-14

- `Session-aware Workspace Threads`: Advances the exact Telegram pin to `0.46.0`, restoring the same Telegram Thread and letter for a resumed Pi session while keeping distinct sessions in one directory independently bound. Protocol v2 rejects mixed 0.45.x peers before provisioning; all participating instances must be updated together. The package set, resource inventory, and explicit load order remain unchanged.

## 0.11.4 - 2026-09-14

- `State Flow Inspection Hierarchy`: Advances the exact State Flow pin to `0.11.1`, placing Show state below Start/Stop, presenting Back and the four scope choices as one vertical composition axis, and rendering a fixed scope heading above four top-level disclosures.
- `Companion Ownership`: Advances the exact Telegram pin to `0.45.11`, retaining generic Rich Message headings while removing State Flow-specific scope semantics from the transport-owned UI registry. The package set, resource inventory, and explicit load order remain unchanged.

## 0.11.3 - 2026-09-14

- `Telegram Rich Sections And Queue Continuation`: Advances the exact Telegram pin to `0.45.9`, adding callback-targeted Native Rich Messages for companion sections and binding `/next` notices to the exact dispatchable queue item across concurrent readiness, admission, mutation, reordering, clearing, and transport changes.
- `State Flow Inspection`: Advances the exact State Flow pin to `0.11.0`, adding read-only Global, CWD, Session, and Effective state inspection through the Telegram submenu with bounded collapsible Native Rich Message rendering. The package set, resource inventory, and explicit load order remain unchanged.

## 0.11.2 - 2026-09-13

- `State Flow Compaction And Resilience`: Advances the exact State Flow pin to `0.10.2`, replacing byte-based early-compaction readiness with public context-token usage, retaining the complete latest accepted iteration after shortening, accepting unambiguous non-terminal `final:false`, and strengthening bounded memory stewardship. The package set, resource inventory, and explicit load order remain unchanged.

## 0.11.1 - 2026-09-13

- `State Flow Filesystem Recovery`: Advances the exact State Flow pin to `0.10.1`, adding transactional self-healing when a complete live global or CWD checkpoint pair disappears, exact private-session reconstruction from retained Git evidence, and precise fail-closed handling for partial or unsafe storage loss. The package set, resource inventory, and explicit load order remain unchanged.

## 0.11.0 - 2026-09-13

- `State Flow Maturation`: Advances the exact State Flow pin to `0.10.0`, adding safe native compaction of sufficiently large completed histories, effective-memory-only status JSON, stronger fork/recovery and concurrent publication guarantees, and lower repeated Git/session restoration work while preserving full Pi session traces and exact state lineage. The package set, resource inventory, and explicit load order remain unchanged.

## 0.10.8 - 2026-09-13

- `Follower Forwarding`: Advances the exact Telegram pin to `0.45.8`, so cached-ownership forwarding uses current registration protocol evidence for voice/message and edit retries, message-only callbacks, and reactions. Exact generation, binding, protocol, and durable-receipt checks remain enforced. The package set, resource inventory, and load order remain unchanged.

## 0.10.7 - 2026-09-12

- `Queue Enqueue`: Advances the exact Telegram pin to `0.45.7`, preventing asynchronous voice/file preparation from restoring consumed prompts or overwriting newer queue changes. Surviving history and receipts follow current queue state; an already-wedged in-memory queue still requires separately authorized recovery. The package set, resource inventory, and load order remain unchanged.

## 0.10.6 - 2026-09-12

- `Guest Placeholder And Delivery`: Advances the exact Telegram pin to `0.45.6`, so the guest ACK rotates the globe placeholder in whole cycles and holds `🌏 Working on it...`, guest answers are still delivered when a companion extension suppresses the final assistant message, `429` retry waits are recorded as `api` runtime events, the Thread display settings card drops the manual `/name` hint, and empty-queue headings carry no trailing period. The package set, resource inventory, and explicit load order remain unchanged.

## 0.10.5 - 2026-09-11

- `State Flow Telegram Surface`: Advances the exact State Flow pin to `0.9.6`, so the submenu help line is exactly what State Flow records and when a new session resumes from the last committed point, and the state value (`off` or `#N`) renders in monospace. The package set, resource inventory, and explicit load order remain unchanged.

## 0.10.4 - 2026-09-11

- `State Flow Telegram Surface`: Advances the exact State Flow pin to `0.9.5`, so the submenu help line opens directly with what State Flow records and when to start or stop it, without the former introductory prefix. The package set, resource inventory, and explicit load order remain unchanged.

## 0.10.3 - 2026-09-11

- `State Flow Telegram Surface`: Advances the exact State Flow pin to `0.9.4`, so the pre-Settings section button always carries the spiral identity and the live value (`🌀 State Flow: off`, `🌀 State Flow: #N`), and its submenu repeats that state line, follows it with a short explanation of what State Flow is, and exposes one wide `Start` or `Stop` action instead of Start, Refresh, and Cancel start. The package set, resource inventory, and explicit load order remain unchanged.

## 0.10.2 - 2026-09-11

- `State Flow Publication`: Advances the exact State Flow pin to `0.9.3`, syncing the publication-queue lineage-rewrite hotfix. A queued target orphaned by a reset or re-initialized journal now retargets the live lineage instead of failing every `turn_end`, and deferred remote publication is reported accurately. The package set, resource inventory, and explicit load order remain unchanged.

## 0.10.1 - 2026-09-11

- `State Flow Telegram Surface`: Advances the exact State Flow pin to `0.9.2`, so State Flow appears in Telegram exactly once: the pre-Settings section button carries the live status (`🌀 State Flow: #N`, `⚫️ State Flow` while off) and the duplicated Status-screen row is removed. The package set, resource inventory, and explicit load order remain unchanged.
- `Grow Loop Status Text`: Advances the exact Grow Loop pin to `0.8.1`, mirroring the terminal status literally as `Grow Loop ∞N` with no waiting, running, or countdown decoration. The package set, resource inventory, and explicit load order remain unchanged.
- `Queue Refresh Icon`: Advances the exact Telegram pin to `0.45.5`, so the queue menu's Refresh button renders `🔄 Refresh` while `🌀` stays the State Flow identity. The package set, resource inventory, and explicit load order remain unchanged.

## 0.10.0 - 2026-09-11

- `State Flow Telegram Surface`: Advances the exact State Flow pin to `0.9.0`, adding the optional fail-open Telegram status line (`State Flow: on · step #N`) and the inline main-menu section button before Settings with Start, Stop, Refresh, and deferred-start control for the current session branch. The package set, resource inventory, and explicit load order remain unchanged.
- `Grow Loop Telegram Mirror`: Advances the exact Grow Loop pin to `0.8.0`, mirroring the visible loop rhythm (`Grow Loop: #N · waiting`, `#N · Ns`, `#N · running`) into the Telegram status screen with the same fail-open, no-scheduling-change guarantees. The package set, resource inventory, and explicit load order remain unchanged.

## 0.9.1 - 2026-09-11

- `Telegram Draft Cadence`: Advances the exact Telegram pin to `0.45.4`, so each preview segment holds its first frame for one full two-second interval from its first visible text; the opening draft is an accumulated passage instead of a single streamed word, later frames keep the trailing cadence, and rollover after tool work reopens the window while sealing or final publication still cancels pending timers. The package set, resource inventory, and explicit load order remain unchanged.
- `State Flow Preserved Answers`: Advances the exact State Flow pin to `0.8.1`, preserving the first terminal draft as the runtime-owned response even without `final:true` and bounding same-run fallback turns to eliciting the final patch without replacing the visible answer. The package set, resource inventory, and explicit load order remain unchanged.

## 0.9.0 - 2026-09-11

- `State Flow Atomic Cohorts`: Advances the exact State Flow pin to `0.8.0`, replacing the single-scope PATCH/UNCHANGED protocol with one `patch_state({global?, cwd?, session?, final?})` primitive whose supplied scopes commit as one atomic transition, turning `final:true` into an ephemeral per-iteration terminal-eligibility latch with bounded three-attempt steering, and retaining exact rejected-call arguments in opt-in diagnostics while preserving the package set, resource inventory, and explicit load order.

## 0.8.1 - 2026-09-11

- `Telegram Schema Hotfix`: Advances the exact Telegram pin to `0.45.2`, whose bounded-depth `telegram_bind` argument schema is accepted by OpenAI and Gemini tool APIs again, restoring working agent requests while the bridge is connected. The package set, resource inventory, and explicit load order remain unchanged.

## 0.8.0 - 2026-09-11

- `State Flow Resolution`: Advances the exact State Flow pin to `0.7.0`, bringing explicit PATCH/UNCHANGED resolution, bounded passive-stop continuation, runtime-owned artifact provenance, fixed hot history, local-first activation, asynchronous publication, and opt-in diagnostics while preserving the package set and resource order.

## 0.7.1 - 2026-09-11

- `Telegram Hotfix`: Advances the exact Telegram pin to `0.45.1`, bringing immediate editable Guest Mode acknowledgements, concise guest delivery guidance, environment-backed bot-token references, and durable photo/video channel publication with caption edits and retry-safe media identity. The package set and resource order remain unchanged.

## 0.7.0 - 2026-09-10

- `Current Distribution`: Advances Actors to `0.53.0`, State Flow to `0.6.0`, Telegram to `0.45.0`, and Skills to `1.15.0`. The kit now includes durable Workspace-bound Telegram Threads, expanded run orchestration, current opt-in state handoffs, and the latest portable workflows while preserving the package set, resource inventory, and explicit load order.

## 0.6.0 - 2026-09-06

- `Current Distribution`: Advances Telegram to `0.44.0`, Grow Loop to `0.7.5`, and Skills to `1.14.1`. The kit now includes reliable default-on Telegram draft previews and prompt anchors, unambiguous `grow-loop` runtime status, and ABCd contiguous-list validation while preserving the existing package set, resource inventory, and load order.

## 0.5.2 - 2026-09-06

- `Telegram Ordering Hotfix`: Advances the exact Telegram pin to `0.43.2`, bringing bounded threadless command lifetime, causal final/artifact/compaction publication order, stale-delivery fencing, and suppression of voice replay after uncertain acknowledgement. Other pins and the resource inventory remain unchanged; operator-coordinated live smoke follows release.

## 0.5.1 - 2026-09-06

- `Telegram Continuity Hotfix`: Advances the exact Telegram pin to `0.43.1`, bringing bounded persistent polling-conflict stand-down with accepted queue preservation, missing/null system-prompt normalization, and authority-fenced preview cleanup without changing the resource inventory.

## 0.5.0 - 2026-09-05

- `Telegram Native Controls`: Advances the exact Telegram pin to `0.43.0`, bringing in-body button blocks, shared JSON/CML disabled controls, HTML footer fallback, and updated agent Skills while preserving package-owned implementations and the existing resource inventory.

## 0.4.0 - 2026-09-05

- `Expanded Composition`: Adds exact published pins for Clean Room and opt-in State Flow alongside the portable LLBLAB Skills collection, exposing each package's own declared resources without duplicating source or runtime ownership.
- `Verified Hotfix Cohort`: Advances Actors to `0.52.1`, Grow Loop to `0.7.4`, and Telegram to `0.42.4`, including guarded thread recovery and cleanup, while retaining independent package release ownership.
- `Independent Package Guide`: Links every included package to its owning repository, explains its purpose, and documents duplicate-resource configuration for users migrating from individual installations.

## 0.3.2 - 2026-09-01

- `Telegram Comment Membrane`: Advances `@llblab/pi-telegram` to `0.42.2`, keeping assistant-authored HTML comments transport-private across Telegram previews and final replies while preserving top-level button and voice activation and skipping empty text sends after sanitization.

## 0.3.1 - 2026-09-01

- `Telegram Patch Release`: Advances `@llblab/pi-telegram` to `0.42.1`, accepting prompt-only CML button cells such as `{|e2}` and their optional selected-style form while preserving prompt-as-label fallback and fail-closed empty prompt, style, and voice atoms.

## 0.3.0 - 2026-09-01

- `Telegram Minor Release`: Advances `@llblab/pi-telegram` to `0.42.0`, bringing tolerant JSON and compact CML action parsing, positional voice action cells, Thread-aware generated-button prompts, and focused proactive control-surface guidance into the bundled kit.
- `Release Cohort Policy`: Codifies that the kit follows the highest dependency bump in each synchronized cohort, so dependency patch-only updates produce kit patches while any dependency minor update produces a kit minor.

## 0.2.0 - 2026-08-31

- `Actors Minor Releases`: Advances `@llblab/pi-actors` to `0.52.0`, bringing root-owned follow-ups, durable completion epochs, presentation acknowledgment, recovery-safe scheduling, explicit urgent steering, and settled packed-package parity into the bundled kit.
- `Telegram Minor Release`: Advances `@llblab/pi-telegram` to `0.41.0`, keeping typing active through settled work and compaction, making connected companion projection always-on, and updating generated controls, connection notices, token telemetry, and voice setup guidance.

## 0.1.13 - 2026-08-30

- `Telegram Minor Release`: Advances `@llblab/pi-telegram` to `0.40.0`, requiring Pi 0.84.4 and adopting native compaction-failure, mid-run compaction, terminal-message, and local UI-prompt lifecycle contracts while increasing bounded inbound text output to 24,000 characters.

## 0.1.12 - 2026-08-28

- `Codex Usage Release`: Advances `@llblab/pi-codex-usage` to `0.9.4`, reducing automatic OpenAI quota polling by increasing the refresh interval from 30 to 60 seconds while preserving the local countdown responsiveness.
- `Telegram Hotfix`: Advances `@llblab/pi-telegram` to `0.39.5`, preserving terminal-equivalent chronology by delivering an active turn's final Telegram answer before automatic-compaction start and completion notices.

## 0.1.11 - 2026-08-28

- `Telegram Hotfix`: Advances `@llblab/pi-telegram` to `0.39.4`, preventing repeated extension errors when print, RPC, ACP, or other headless hosts refresh lifecycle status without an initialized theme while preserving interactive status rendering.

## 0.1.10 - 2026-08-26

- `Extension Releases`: Advances `@llblab/pi-grow-loop` to `0.7.3` for the current bounded continuation protocol and `@llblab/pi-telegram` to `0.39.3` for Windows IPC replacement fencing, trusted outbound voice command compatibility, and macOS lock-recovery contention handling.

## 0.1.9 - 2026-08-24

- `Telegram Release`: Advances `@llblab/pi-telegram` to `0.38.0`, presenting the default voice mode as `manual`, retaining legacy `hidden` compatibility, and removing the redundant transcript-caption configuration and provider contract.

## 0.1.8 - 2026-08-23

- `Telegram Releases`: Advances `@llblab/pi-telegram` to `0.37.1`, bringing journal-owned polling admission state from `0.37.0` plus the settings-manager compatibility hotfix for `/start`, model, and queue menus.
- `Release Verification`: Allows up to ten minutes for Trusted Publisher releases to become publicly readable before package identity and bundled inventory verification, avoiding false failures from npm registry propagation delay.

## 0.1.7 - 2026-08-22

- `Telegram Hotfix`: Advances `@llblab/pi-telegram` to `0.36.11`, bringing at-most-once durable prompt dispatch that prevents session or process replacement from automatically replaying an already-admitted Telegram prompt.

## 0.1.6 - 2026-08-22

- `Extension Releases`: Advances `@llblab/pi-actors` to `0.50.0` and `@llblab/pi-telegram` to `0.36.10`, bringing their latest released runtime, Skill, and Telegram integration updates into the bundled kit.
- `Branding`: Standardizes the public package description on the LLB Lab name.

## 0.1.5 - 2026-08-20

- `Installation`: Makes the npm installation command version-agnostic so the README stays current across future kit releases.

## 0.1.4 - 2026-08-20

- `Installation`: Updates the npm example to the current kit version and replaces the local-path example with direct installation from the GitHub repository.

## 0.1.3 - 2026-08-20

- `Extension Releases`: Advances `@llblab/pi-codex-usage` to `0.9.3` for current Pi header-type compatibility and Trusted Publisher releases, and `@llblab/pi-grow-loop` to `0.7.2` for audited Trusted Publisher releases.

## 0.1.2 - 2026-08-20

- `Trusted Release Automation`: Adds tag-gated validation, npm Trusted Publisher provenance, immutable package/tag identity checks, public package verification, and workflow-owned GitHub Release creation through `.github/workflows/release.yml`.

## 0.1.1 - 2026-08-20

- `Telegram Release`: Advances `@llblab/pi-telegram` to `0.36.7`, bringing proactive prompt-button delivery, explicit connection-state context, scoped Telegram control activation, provider-neutral voice configuration guidance, separated tool errors, host compatibility, prompt-block compatibility, and orphan-journal protection into the bundled kit.

## 0.1.0 - 2026-08-18

- `Package`: Established a version-pinned Pi distribution bundling Actors, Codex usage, Grow Loop, and Telegram extensions with their declared Skills behind one installable package.
- `Validation`: Added executable coherence checks for exact versions, bundled dependencies, resource paths, installed manifests, and public inventory synchronization; verified the packed distribution through Pi in an isolated agent home.
- `Pinned Releases`: Advances Actors to `0.49.1` for maintained Music Player Generative App routing and Telegram to `0.36.1` for adaptive JSON/CML controls, hybrid surface guidance, consistent denials, destructive Skip state, and Trusted Publisher release automation.
