docs: state the approval walls at their real strength - #228
Merged
Conversation
configuration.md said an agent cannot launder a grant through `env -u` in bash because `--approve` refuses agent-spawned processes and callers with no terminal. The session marker, the attestation variable, and a terminal are all things a shell the agent runs can arrange, and the ledger record that results reads like a human's; require_human's own comment says as much. The walls stop a grant from happening by accident and hold against an agent that follows the prompt; what makes the grant a human act against an agent that sets out to take one is the hardened profile the same page describes (bash asks, so the command that would arrange those markers is seen first). The page now says exactly that, and says the same about the permission and trust files under ~/.openmax/, which the confined file tools cannot reach and bash can. The --spec tools sentence is aligned. hooks.rs claimed hooks never inject text into the model; a pre_tool_use block reason is the call's tool result and a blocking turn_end reason is a user message. The module doc now names the two, and the user_prompt_submit doc keeps its narrower, true claim.
…losed reasons Review pointed out that the harness's own fail-closed reasons (a revoked gate, a gate whose approved code changed) bypass MAX_REASON_CHARS; the module doc now says which text is clipped and which is not.
Review pointed out that a headless -p run in auto mode accepts gate cards itself, including one raised by an explicit ask rule, so the page no longer promises the rule puts the command in front of a human there; it names the TUI and --stdio as where it does, and ask mode or the stdio wire as where authority-changing headless work belongs.
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.
Why
docs/configuration.mdsaid an agent cannot launder a grant throughenv -uin bash because--approverefuses agent-spawned processes and callers with no terminal. The session marker, the attestation variable, and a terminal are all things a shell the agent runs can arrange, and the ledger record that results reads like a human's;require_human's own comment says as much. The walls stop a grant from happening by accident and hold against an agent that follows the prompt; what makes the grant a human act against an agent that sets out to take one is the hardened profile the same page describes. Governance surfaces should state the true shape where the reader looks.Summary
docs/configuration.md: the approvals paragraph states the walls at their real strength, says the hardened profile (an ask rule on bash) is what closes it, and says the same about the permission and trust files under~/.openmax/(unreachable by the confined file tools, reachable by bash).--spec tools: the one sentence about--approvealigned.hooks.rs: the module doc no longer claims hooks never inject text into the model (apre_tool_useblock reason is the call's tool result, a blockingturn_endreason is a user message); theuser_prompt_submitdoc keeps its narrower, true claim.Test Plan
cargo test --workspacegreen; clippy at zero warnings.Greptile Summary
The documentation now accurately explains the boundary between hook-authored and harness-generated refusal messages, and clearly distinguishes interactive and stdio approval behavior from headless execution. End-to-end checks confirmed the described behavior: hook-authored refusals are clipped, fail-closed harness messages are preserved, headless ask mode declines an explicit permission gate, and headless auto mode accepts it.
Confidence Score: 5/5
No blocking failure remains; the documented behavior matches the exercised product behavior.
No accepted blocking findings remain after exercising the hook refusal and headless permission-gate flows.
What T-Rex did
Reviews (3): Last reviewed commit: "docs: the bash ask rule holds where ther..." | Re-trigger Greptile