Skip to content

v0.49.51

Choose a tag to compare

@github-actions github-actions released this 11 Nov 12:05
· 93 commits to master since this release

v0.49.51

This patch fixes Oh My Pi sessions that were refused on every turn when another extension adds its own instructions to the request, and stops ctx_search from repeating a call to a reranking module that is not installed.

Upgrading

Restart your host after updating. No database migration is needed.

Fixed

  • Oh My Pi: every turn refused when another extension adds a message (issue 895): on Oh My Pi 18.18.6, an extension installed from the marketplace runs after Magic Context. Superpowers 7.0.2, for example, adds its startup instructions to each request at that point. Magic Context checks every outgoing request against the one it prepared, took the extra message for conversation history it had not managed, and refused the turn (expectedRows=3 actualRows=4). It now accepts up to four short text messages that another extension adds, 32,768 characters in total, as long as they are not content of the session itself and do not sit inside a tool call and its result. Everything else is still refused: restored or altered session history, a changed prepared message, a broken tool pair. One case remains refused, with its own reason (ambiguous-rewrite): Oh My Pi rewrites a large untagged message, for example by hiding a secret in a long history summary, and another extension's message sits directly beside it.
  • Oh My Pi: sessions with an @file mention are checked on more providers: such sessions used to skip the comparison of the outgoing request. They are now compared on the Anthropic, Google, Vertex, Gemini CLI, Bedrock, Ollama, OpenAI-compatible Chat and Responses routes, which were verified against Oh My Pi's own encoders. Other routes keep the earlier behaviour.
  • ctx_search no longer repeats a refused reranker call (issue 896): with the Synapse reranker configured but the module absent from the machine's CortexKit daemon, every search retried the call for 30 seconds in the background, about 20 refusals per search, while the search itself had already fallen back after 1.5 seconds. The refusal is now recognized at once and remembered: for 30 seconds the first time, and for 10 minutes when the next check is refused too. A successful call clears it, so a module that was only restarting is used again within 30 seconds. Search results are the same as with reranking unavailable before; only the repeated calls are gone.