Repository navigation
fix: LMM session affinity and native Pi file tool guidance - #12
Merged
Merged
Conversation
|
You have reached your Codex usage limits for security reviews. Please try again later. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LMM Chat Completions models such as GPT-Pro / gpt-6-astra inherited vendor compat without the gateway session-affinity flag. The gateway now enables affinity for all admitted Chat Completions models; explicit provider/model false overrides still reach the real adapter. Long-retention defaults stay scoped to reviewed routes.
LMM models can also assume Codex apply_patch exists in bash, leaving an unwritten artifact that a later preview tries to open. A before_agent_start hook now describes only Pi tools that are actually active, directs file writes/edits through their supplied schemas, and asks the model to recover and verify a file before previewing after failure. For local built-in bash, a tool_call guard checks direct apply_patch commands in the configured shell and blocks them when unavailable. A standalone literal xdg-open to a missing local file is blocked before execution. Existing apply_patch commands and custom/remote tool environments are preserved. Older Pi hosts without an effective shell-settings API retain prompt guidance; current Pi 0.99.1 was probed through its real native RPC loader and exposes the API and builtin bash metadata. Prompt guidance remains for compound preview commands and custom shell prefixes; this is not a general shell parser. It installs no shell command.
Validation: all 102 tests pass, including real Pi adapter session headers/default/false overrides and native write/edit creation/update/failure behavior and actual ExtensionRunner tool_call dispatch through native bash, including no downstream command after block and no preview after failed write; typecheck and real Pi 0.99.1 native-loader smoke pass. No credentials, models.json, parent submodule pin, or production configuration changed.