Skip to content

v0.49.3

Choose a tag to compare

@github-actions github-actions released this 15 Oct 11:27
· 813 commits to master since this release

v0.49.3

This patch release fixes more Oh My Pi turns refused with "provider request does not match this pass's managed dispatch", repairs Pi and Oh My Pi history after /tree navigation, keeps headless SDK subagents within their context window, and stops a summarizing chunk from leaving out a trailing tool result. There is no database migration.

Upgrading

  • No migration. context.db stays at schema 95 and store.db at schema 63. Restart OpenCode 1, OpenCode 2, Pi or Oh My Pi after updating.
  • Rust transform mode: update ck-mc too, then restart the host and module.
  • One-time cache rewrites. An Oh My Pi session on a Responses, Codex or Anthropic API that is currently refused because of an old dropped tool result rewrites the prompt cache once when the result is removed. On chat-completions APIs the removal waits for a cache rewrite that was already due. A Pi or Oh My Pi session that /tree moved back into summarized history rebuilds once to drop the abandoned summaries.

Fixed

Oh My Pi

  • Assistant replies with thinking from the same model are no longer refused on the Responses and Codex APIs. The request carries that thinking as reasoning items, not text, and the check now groups those replies the same way (#686). 80f03c538e.
  • Oh My Pi advisor requests on OpenAI-style models are no longer refused. The check now recognises the advisor's instruction and tool layout on chat-completions, Responses and Codex as well as Anthropic; main requests are still checked (#686, thanks @Qiiks). 2a12a780d0.
  • A user profile, project memory or project docs block containing text that Oh My Pi masks, such as something that looks like a secret, no longer causes a refusal. Magic Context now recognises its own blocks by their opening markers, which Oh My Pi does not change (#686). 52e0577064.
  • Native /fork, branch and /btw copies keep Magic Context's tag history and summaries from the session they were copied from, so their next turn is not refused. Stock Pi forks behave as before (#686). 8afdf85a48.
  • Sessions whose history passed through OpenAI or Codex automatic compaction, or that were imported from the Codex CLI, are no longer refused on every turn. Oh My Pi stores a copy of the compacted history on the summary message and, when it builds the request, uses that copy in place of everything before it, which also hid Magic Context's own history. Magic Context now sends the summary without that copy, so Oh My Pi uses the readable summary text. The copy stays in the session file, and assistant replies are not touched (#692). 8e98e1ab08.
  • Switching an Oh My Pi session to another provider API mid-conversation no longer causes a refusal. Tool calls made on the Responses API carry combined ids, and Oh My Pi shortens them differently on each API; the check now applies Oh My Pi's own id rule for the request's actual API instead of guessing the API from the request's shape (#686, thanks @Qiiks). 6cbd037228.
  • A tool call left without a result, such as after an interrupted turn, no longer causes a refusal. Oh My Pi fills in a placeholder result for it ("No result provided", or "aborted"), and the check now expects that placeholder; any other extra result is still refused (#686, thanks @Qiiks). e14688396f.
  • Old dropped tool results whose call is gone are removed instead of being sent as stale user notes. Oh My Pi turned such results into user messages, which the check refused; they are now removed once and stay removed across restarts (#686, thanks @Qiiks). 708f752e50, f343e401f6.

Pi and Oh My Pi

  • /tree back into summarized history no longer keeps summaries from the abandoned branch. They are removed from the first point that is no longer on the active branch, the history that remains is summarized again, and /ctx-wrapup can make progress (#562). b79a5c88ce, 0cd814bbcb.
  • Headless SDK subagents now summarize their history and stay within the model's window. The historian runs in the background during headless runs. A request proven larger than the window waits for it, reclaims space, and is refused locally if it still does not fit, instead of being sent oversized. Uncertain size estimates never refuse a request or cause an extra cache rewrite (#689). 25c73a7942, b93f12ae33, 0640e9aaa4.
  • When a native compaction marker has to wait, the log says why, once per marker, and the startup line names the sessions with a waiting marker (#693). 95b9a745fa, 9bc3fc4529.

History

  • OpenCode 1 and 2 (including Rust mode), Pi and Oh My Pi: a tool result at the end of a summarizing chunk stays inside that chunk. When the result was shown together with its call (as the built-in historian.expand_tools templates do for todo updates), the chunk stopped at the call, so the historian's summary was rejected with "Historian terminal boundary splits a completed tool invocation/result arc". Trailing reminders and other filtered rows now count toward the chunk as well; the text sent to the historian is unchanged (#690). fae2cde60d.