Repository navigation
Contain V2 permission declines without host error prototypes - #804
Merged
Merged
Conversation
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.
V2 does not expose the host's plain permission-decline constructor, so the existing experimental error redactor cannot safely construct that control-flow cause in production. Add an unconfigured alternative that replaces the error with a generic host tool error, interrupts the affected session, and quarantines model requests until the accepted interruption settles. Failed or unverified interruption remains quarantined; an unknown session or exhausted bound closes the guard.
The full validation exposed a pre-existing watchdog race in the dependency probe. The probe now refuses to start an already-expired or cancelled runtime, and deterministic deadline tests cover both an active controller and expiry during setup.
The interruption is session-wide. The guard is process-local and is lost on unload or restart; it is not an independent security boundary and remains unconfigured while V2 gateway and shell parity are incomplete.
Validation: