Added
telos status— shows gateway running state, per-harness install status, and live traffic in one place (--jsonfor machine-readable output).telos uninstall— removes the proxy injection from the detected (or specified) harness and restores the original config.telos version/telos -V— prints the installed SDK version.
- Gateway URL resolution in
telos status/telos uninstallon non-default ports or behind a customANTHROPIC_BASE_URL. - Claude TTL block ordering —
ttl: "1h"blocks were emitted afterephemeral(5m) blocks in some tool-heavy sessions, violating Anthropic’s ordering and triggering HTTP 400. Fixed by enforcing the long-before-short invariant inAnthropicAdapter.plan_marks. - Codex HTML passthrough guard — the
/v1/responsesupstream now converts accidental HTML error responses (e.g. 403 Cloudflare pages) to structured JSON. - Uninstall / harness CLI hardening (partial configs, external rewrites, typo suggestions).
- Test suite 228 → 272 (all green): refpool slug-freeze invariants, bridge canonicalization determinism, Anthropic BP-trim priority.
- CI matrix now runs Python 3.10 / 3.11 / 3.12 / 3.13 on every push/PR.
Fixed
telos initnow restarts the gateway when an installer registers a new upstream. Previously, adding a slug (e.g.codex-chatgpt) to a running daemon kept 404ing withunknown upstream sluguntil a manualtelos gateway restart.init/__main__.pynow detects the config mutation and callsdaemon.restart().
Changed
- Live dashboard separated from replay comparisons — distinguishes live gateway traffic from A/B replay results, with refreshed branding.
- Uninstall correctly removes Codex / Hermes / OpenClaw harness configs; install method updates for each.
Codex (
wire_api = "responses") is now a first-class harness on the gateway.Fixed- Codex.app with ChatGPT login could not reach the gateway — the installer assumed an API-key
provider. It now reads
~/.codex/auth.jsonand, whenauth_mode = "chatgpt", routes through a newcodex-chatgptupstream pointing athttps://chatgpt.com/backend-api/codex. API-key mode unchanged.
- Dashboard shows Codex traffic — the Responses-API endpoint parses the terminal
response.completedSSE event and normalizes usage;registry.pyadds thecodexdisplay name.
Patch release published to PyPI: version bump, refreshed metadata, LEAP Lab attribution in the
README headers (English and Chinese).
Upgrades
proxy into a “gateway + multi-harness manager”: one-command install, one-command
integration, and bare telos drops you into your usual harness.Addedtelos init(no arguments),telos gateway start|stop|status|restart, baretelos/telos <harness>,telos alias,telos mode(hot-reload),telos dashboard,~/.telos/config.json, the loopback control endpointGET/POST /__telos/control/mode, and a Homebrew formula template.
proxyrenamed to gateway for users (telos proxykept as a hidden alias);--agent→--harness,--proxy-url→--gateway-url; new codex / openclaw / hermes installers.
Two themes: a zero-intrusion integration path (HTTP reverse proxy) and real cross-turn state
accumulation.Added
telos.output_filter— RTK-style tool-result filtering with theTelosModefour-state switch.telos.corpus+telos.replay— record real sessions and replay them per mode for controlled comparison.telos.proxy— an aiohttp SSE-aware Anthropic reverse proxy with an LRU session registry.telos.init— agent config injector (Claude Code / generic).TelosAnthropicTransport,BridgeSessionState,Bridge.emit_with_plan(),RefPool.register_or_skip,ir.enforce_band_order, stable content-derived session-id, and observablecumulativeaccumulation fields. 8 new test suites (45 functions).
- harness §5 ordering violation on multi-block user messages; a canonicalize bug that skipped
_canonicalize_ir(silently breaking the prefix cache); multi-turn Bridge state always zeroed; the proxy 500 storm (now degrades to passthrough;--strictrestores 500); proxy log noise.
- Python reference implementation of the TELOS protocol.
- 3 harness plugins (
openclaw/hermes/telos); 5 engine adapters (anthropic/openai/deepseek/vllm/sglang). Bridge5 primitives;BidirectionalEngineAdaptermixin for vLLM / SGLang;TelosOpenAITransport;test_smoke.pycovering the R1–R8 fix points.