principles: add "Avoiding prompt fatigue" as §1, ahead of the security principle (PMC vote required) - #1291
Draft
potiuk wants to merge 2 commits into
Draft
principles: add "Avoiding prompt fatigue" as §1, ahead of the security principle (PMC vote required)#1291potiuk wants to merge 2 commits into
potiuk wants to merge 2 commits into
Conversation
…atch-all that prompted on every read The reference `.claude/settings.json` kept `Bash(gh *)` in `permissions.ask` on the assumption that the more specific read-only `allow` rules (`gh pr view`, `gh issue list`, …) would exempt reads. They never did: Claude Code evaluates deny, then ask, then allow, and "a matching ask rule prompts even when a more specific allow rule also matches the same call". So every gh call prompted, reads included, in every permission mode — and because ask rules merge from every settings source, a user-scope file could not undo it. - .claude/settings.json + tools/sandbox-lint/expected.json: the catch-all becomes 94 explicit gh write subcommands (`gh api` included — GET and POST look the same to a prefix rule). Read-only subcommands now reach the allow list; a subcommand in neither list falls through to the mode's default. - sandbox-lint: new invariant rejects `Bash(gh *)` in ask, with a test; the old test that pinned the catch-all is replaced. - isolated-setup-verify: check 11b fails on a catch-all in any scope. - isolated-setup-doctor: the gh probe warns when a catch-all is present. - docs: the annotated reference config, the verification prompt, the catalog's gh entry and RFC-AI-0002 § Layer 3a now state the real precedence rule; the RFC's example `gh api * -X *` patterns (middle wildcards, which prefix rules do not support) become `gh api *`. - specs: agent-isolation-sandbox and sandbox-diagnostics updated; the validation script asserts no catch-all plus explicit writes. Generated-by: Claude Opus 5
…y principle A confirmation prompt is a control only while the human still reads it. The catch-all `Bash(gh *)` ask rule that #1290 removes prompted on every read, and the hundredth prompt was being approved as reflexively as the first — the exact failure RFC-AI-0002 § Layer 3a describes. This makes avoiding that failure a principle in its own right, placed before "Privacy, security, and supply-chain integrity ship before features" because it is what keeps that principle's confirmations meaningful. Adding a principle and changing the ordering both require a PMC vote per "Amending these principles"; this PR is the proposal, and it merges only after the vote result is recorded on dev@. The insertion renumbers §1–§18 to §2–§19. Every anchor of the form `PRINCIPLES.md#N-…`, every bare `PRINCIPLES.md#N`, every `§N` on a line that links the file, and the three unlinked "Principle N" mentions in the optimize-skill docs are updated to match (21 files). RFC-AI-0002 § Layer 3a now links the new principle. Generated-by: Claude Opus 5
potiuk
marked this pull request as draft
September 19, 2026 11:56
Member
Author
|
Converted to draft while the Vote is runnning https://lists.apache.org/thread/bl8lhj9c0jls8h5s3172vw6gg1pvwkwb |
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.
Summary
## 1. Avoiding prompt fatiguetoPRINCIPLES.md, ahead of "Privacy, security, and supply-chain integrity ship before features". Per Amending these principles, adding a principle and changing the ordering require a[VOTE]on private@ mirrored to dev@, ≥3 binding +1, no binding -1, a 72-hour window, and the result recorded on dev@ and linked from the merge commit.Bash(gh *)ask rule had been prompting on everyghread since it was written, because Claude Code evaluates ask before allow regardless of specificity. Nobody noticed for months because the prompts were being clicked through — which is RFC-AI-0002 § Layer 3a's prompt-fatigue argument playing out on the framework's own maintainers. The principle names the rule the fix relied on: read-only actions do not prompt, writes prompt once in a judgeable shape, bulk work is a bounded operation, and a prompt on a read is a defect of the same severity as a missing prompt on a write.Type of change
docs/,README.md,CONTRIBUTING.md).claude/skills/<name>/) — eval fixtures updated belowtools/<system>/*.md)tools/*/withpyproject.toml)projects/_template/)prek, workflows, validators)Test plan
prek run --files <all changed files>passes, includinglychee— the renumbering touches everyPRINCIPLES.md#N-…anchor in the tree (21 files) and lychee's fragment check is what proves none danglePRINCIPLES.md#N,§Non lines that link the file, and the three unlinked "Principle N" mentions in the optimize-skill docsSKILL.mdchanged by one digit)sandbox-lint's live-vs-baseline check passes on the same working tree; rebase ontomainonce fix(agent-isolation): list gh write subcommands in ask instead of a catch-all that prompted on every read #1290 mergesRFC-AI-0004 compliance
Linked issues
Refs #1290 (the fix that motivated this), #1289.
Notes for reviewers (optional)
[VOTE]on private@magpie.apache.org mirrored on dev@magpie.apache.org will follow this PR; the merge commit must link the recorded result.PRINCIPLES.mdand the renumbering change; the text stands either way. The ordering argument is in the Summary.docs/rfcs/RFC-AI-0002.md§ Layer 3a gains one sentence linking the principle; no other RFC text changes beyond anchor numbers.🤖 Generated with Claude Code