Repository navigation
v1.11.3
@oh-my-pi/pi-agent-core
Changed
- Proxy streams parse partial tool-call arguments with the same throttled parser as provider streams, instead of reparsing the full buffer on every delta (200 KB argument: ~1.6 s → ~6 ms).
@oh-my-pi/pi-ai
Fixed
- Fixed Anthropic per-message effort when a session starts without an explicit effort: the omitted level was assumed to be
high, but Opus 5.5 defaults tomedium, so a later switch tohighnever reached the API. Omitted effort is now tracked as its own baseline and every later explicit level is sent as a per-message control (upstream20f18f8). - Fixed resuming an Anthropic session in a new process after an effort change losing the whole prompt cache (Opus 5.5: ~116K tokens re-written). Each assistant turn now records the effort it ran at (
anthropicEffort), and a fresh session rebuilds the original top-level effort and per-message effort controls from those records. - Fixed every request paying a failing OAuth refresh round trip when an account in the pool had a dead refresh token: a credential blocked after a failed refresh is no longer re-refreshed during candidate preflight while its 5-minute backoff runs (forced re-mints still refresh it). With one dead OpenAI Codex account next to a healthy one, resolving a key dropped from ~480 ms to ~1 ms per request.
@oh-my-pi/pi-catalog
Fixed
- Fixed GPT-6 Sol and Luna missing from OpenAI Codex model discovery by advertising Codex client 0.155.1 and keying the Codex model cache on the client version (#12885 by @itsddvn)
- Added GPT-6 Sol and Luna thinking efforts on GitHub Copilot
@oh-my-pi/pi-coding-agent
Changed
- Streaming a large tool call no longer slows every frame: the status line tracks tool-argument growth without re-serializing the arguments (1000 frames with a 200 KB argument: ~100 ms → <1 ms).
- Assistant messages with many thinking/text blocks update in one pass instead of rescanning later blocks for every thinking block.
- Image generation through a connected OpenAI Codex subscription now defaults to
gpt-6-astrain every session, including Codex sessions chatting with an older GPT model; agents are told to leave the image provider unset unless the user names one. - Messages that scroll into terminal history drop their streaming render caches, cutting retained memory for long sessions (~33% less heap for 2000 committed 20 KB blocks).
- Streamed
message_updateevents are no longer queued for extensions when no extension listens for them. - The shared LSP daemon encodes each diagnostics message once instead of cloning it twice, and drops cached diagnostics when a document is closed (1000 publishes × 500 diagnostics: ~3.1 s → ~1.1 s).
- A running tool with a lot of output no longer burns CPU on every spinner tick: the spinner no longer throws away the output block's render cache (5 MB bash output, 100 ticks: ~810 ms → <1 ms).
codegraph_exploreno longer builds a missing index or waits minutes for one: on a project without an index it answers in milliseconds and points tojev_scout, and it waits at most 10 s for a sync or startup index already in progress. A first explore in a fresh worktree used to block every subagent that called it for ~6 minutes while it indexed the whole repository.jev_scoutnow carries a full query guide: when to use it, the query shape, how to pickpathandmax_files, how to check a hit, and a change-one-input recovery afterno_match. The guide is built from measured scout runs: starts at a repository root missed after one listing, while lookups scoped to a file hit in one request.- When
codegraph_exploreis missing, unindexed, still indexing, not installed, or off-target, agents switch tojev_scout(or grep/read for exact names) instead of guessing greps, installing CodeGraph, or building its index.codegraph_initnow runs only when the user asks for it.
Fixed
- Activating an MCP tool through tool discovery mid-conversation no longer rewrites the system prompt, which forced the provider to re-cache the whole conversation history (measured on Anthropic: ~45K tokens re-written per activation). The search result now names the new
xd://path, and the next mount notice names the original MCP call. tnx/scoutnow reports its real 256K context window (64K output) instead of the 128K default, so sessions on it compact at the right time.
@oh-my-pi/context-gc-plugin
Changed
- The per-request context check indexes messages and branch entries once instead of comparing every record against every message, about 12x faster with 1000 messages and records.
@oh-my-pi/pi-tui
Changed
- Streaming Markdown renders ~4x faster on long replies: frozen prefix tokens and rows are reused instead of copied every frame, and a growing top-level list re-renders only its new items (56 KB reply: ~1.4 s → ~0.3 s total).
- Typing in a large editor draft is fast again: wrap measurements for the whole draft stay cached instead of being cleared every 256 lines (2000-line draft: ~56 ms → ~1 ms per keystroke).
@oh-my-pi/pi-utils
Changed
chalkstyle chains are built once per parent builder and reused, instead of building a new builder on every property access.- Markdown inline lexing no longer rescans the rest of a paragraph for URLs and hard breaks after every text run, which removes quadratic work on long paragraphs.
What's Changed
- ci: drop Intel macOS (darwin-x64) targets by @qtnx in #211
- perf: faster streaming render, keystrokes, subagent auth and CodeGraph lookups; jev_scout query guide by @qtnx in #210
- fix(image-gen): default Codex image model to gpt-6-astra by @qtnx in #214
- fix(mcp): keep system prompt stable when discovery mounts MCP tools mid-conversation by @qtnx in #212
- fix(ai): keep Anthropic per-message effort correct and cache-stable across resume by @qtnx in #213
- fix(catalog): pick upstream GPT-6 Sol/Luna Codex discovery + Copilot efforts by @qtnx in #215
- fix(coding-agent): report real context window for tnx/scout combo by @qtnx in #216
- test(coding-agent): key Codex model cache seeds by client version by @qtnx in #217
Full Changelog: v1.11.2...v1.11.3