Repository navigation
CL-9341: fingerprint hidden-shell declines through the canonical coercion - #1204
Merged
Merged
Conversation
…cion A hidden shell call declined by the operator must suppress its coerced run_shell retry with the identical reason. denialFingerprint now derives the key from callForIdentity(rawCall) instead of a name-only canonicalization, so raw, coerced, and fresh-id retries share one denial entry on the middleware, decide, and reactor paths. resolveSuspended rebuilds its key through the same helper; coercion is idempotent on coerced run_shell because looksLikeCodexShellArgs ignores native cwd/timeout, so tool-aliases needs no change. The workdir case rides inside arguments while the fingerprint cwd stays the session cwd; a suspended request cannot round-trip a coerced cwd (buildRequests keeps only command), so reactor-path workdir declines re-ask fail-safe. No grant/deny policy or wording changes.
…ment
Reactor-path declines of workdir-scoped hidden shell record a {command}-keyed denial while same-workdir retries look up a {command, cwd} key, so the retry re-asks fail-safe and only cwd-less retries over-deny fail-closed. Locks both limits with keeper tests; no behavior change.
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.
Hidden-shell decline fingerprint: denialFingerprint(rawCall, cwd) = stableRequestId(callForIdentity(rawCall), cwd, ...), so an operator decline suppresses the coerced run_shell retry with the identical reason on the middleware, decide, and reactor paths.
Note: repo typecheck/build currently fail on origin/main from a stale oauth-core pin (callbackTargetFor missing in the installed github-version package); unrelated to this change.
Fixes CL-9341