Skip to content

Proxima v1.5.0

Choose a tag to compare

@github-actions github-actions released this 30 Aug 03:35
· 18 commits to main since this release

What's changed

Added

  • LLM summarization of compacted history (SPECS §19.3, the last outstanding spec item) — when the context budget forces Compaction to discard the oldest messages, SubagentRunner.runSummarizer() first condenses them into 3–5 bullets covering files touched, changes made, and decisions reached; the summary is pinned to the front of the retained history so the model keeps the gist of what it can no longer see. Previously that context was simply lost.

    Cost is bounded and opt-out: the call fires only when messages would otherwise be dropped, so an under-budget turn spends nothing. max_tokens is capped at 512, no tools are sent, and the transcript is bounded both per-message (2000 chars) and in total (24000 chars, newest kept). Room for the summary is reserved before truncation so the injected summary cannot push retained history back over its budget — and only when truncation is actually needed, so a history that already fits is never truncated or summarized. Summaries are cached per span (the agent loop rebuilds context each iteration, so an uncached 10-iteration turn paid for 10 near-identical summaries), their token usage is recorded against the session, the transcript carries secret-masked toolInput so files read can be named, and relevance filtering runs before injection so the summary cannot be filtered out. Disable with summarize_on_compact: false.

    Every failure mode degrades to the plain truncation already applied — no provider, a provider error, a non-final response, a blank summary, or a throwing summarizer. A summarization failure costs context, never the turn. Compaction.compact() is now async and takes an optional HistorySummarizer; with none supplied its behaviour is unchanged. 14 new tests

Fixed

  • gpt-5.6-* models printed a debug warning on every turn — the unsupported-parameter retry lived only on the non-streaming path, so a model needing reasoning_effort: none failed the stream, printed ⚠ [debug] Streaming failed, falling back, and recovered silently via complete(). Functionally correct but it read as a broken session. The streaming path now performs the same retry in place


Installation

macOS / Linux — install script

curl -fsSL https://raw.githubusercontent.com/jizzel/proxima/main/install.sh | sh

macOS (Apple Silicon + Intel via Rosetta 2)

curl -fsSL https://github.com/jizzel/proxima/releases/download/v1.5.0/proxima-macos-arm64 \
  -o /usr/local/bin/proxima && chmod +x /usr/local/bin/proxima

Linux (x86_64)

curl -fsSL https://github.com/jizzel/proxima/releases/download/v1.5.0/proxima-linux-x64 \
  -o /usr/local/bin/proxima && chmod +x /usr/local/bin/proxima

Windows (x86_64) — PowerShell

irm https://raw.githubusercontent.com/jizzel/proxima/main/install.ps1 | iex

Or download proxima-windows-x64.exe below and add it to a directory on your PATH.