From 7985e9d151e244193b3ebc592c6c7523d6a4e02c Mon Sep 17 00:00:00 2001 From: ArkNill <48707894+ArkNill@users.noreply.github.com> Date: Thu, 21 May 2026 07:22:53 +0900 Subject: [PATCH] chore(release): cut 0.9.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bump pyproject.toml version to 0.9.4 and move the accumulated [Unreleased] CHANGELOG entries into a [0.9.4] section dated 2026-05-21. This is the first PyPI release since 0.9.1. The locally tagged 0.9.2 and 0.9.3 entries in earlier CHANGELOG revisions never shipped — their work is collapsed into 0.9.4 along with the recent agent-driven onboarding track (env-fingerprint, verify, AGENT_SETUP playbook). Notable content rolled into 0.9.4: Added: - Agent-driven setup playbook (docs/AGENT_SETUP.md) - `llm-relay verify install/config/integration/all` command group - `llm-relay env-fingerprint` command Performance: - Incremental composition cache (#16) — O(n²) → O(Δ), fixes /api/v1/turns RSS balloon on long sessions Changed: - CC zone defaults restored to 1M model window - Red-zone i18n split for CC vs Codex - duplicate_reads no longer accumulates across compaction Tests: - test_turns _zone_env fixture patches both _zones and routes Full suite: 593 pass. Ruff clean. NDA grep on diff: 0 hits. --- CHANGELOG.md | 7 +++++++ pyproject.toml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f25fe5..4cb7bcc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to llm-relay are documented here. ## [Unreleased] +## [0.9.4] - 2026-05-21 + +> First PyPI release since 0.9.1. Collapses the locally-tagged 0.9.2 and 0.9.3 +> work — neither of which was published to PyPI — into a single shipped +> version. Adds the agent-driven onboarding track (env-fingerprint + verify +> + AGENT_SETUP playbook) on top of the prior unreleased changes. + ### Added - **Agent-driven setup playbook** (`docs/AGENT_SETUP.md`): structured onboarding document targeted at AI coding agents (Claude Code / Codex / Gemini) automating an llm-relay install on a user's behalf. Sequences `env-fingerprint` + `verify` into a five-phase flow (probe → install → init → per-CLI integration → final acceptance) with explicit `[PERMISSION: …]` markers wherever the agent must pause for user consent, and explicit "stop and ask" rules for ambiguous states. README section "Agent-driven setup" links to it. - **`llm-relay verify` command group** (`verify/`): four idempotent verification subcommands designed for agent-driven onboarding. `verify install` confirms the package itself (Python version, importability, entry points, optional extras, version consistency). `verify config` confirms local state (db dir, schema, writability, config file, knowledge dir, port availability, no deprecated env vars). `verify integration --cli {claude-code,openai-codex,gemini-cli,all}` confirms each CLI is wired through the relay (binary on PATH, settings file present, `ANTHROPIC_BASE_URL` routing to localhost, MCP server registered). `verify all` aggregates install + config + integration. Shared output schema (`schema_version: "1"`) emits per-check status (`pass`/`fail`/`warn`/`skipped`) with optional remediation strings; overall priority is `fail > warn > pass`. Skipped checks (e.g. CLI not installed) never escalate to fail. Optional `--live` probes `/_health` on the proxy. Common options: `--format {text,json}`, `--quiet`, `--no-remediation`. Exit code is 0 on pass/warn, 1 on fail. diff --git a/pyproject.toml b/pyproject.toml index 2ed2f1b..e7f2450 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "llm-relay" -version = "0.9.2" +version = "0.9.4" description = "Unified LLM usage management — API proxy, session diagnostics, multi-CLI orchestration." readme = "README.md" license = "MIT"