principles: add "Avoiding prompt fatigue" as §1, ahead of the security principle (PMC vote required) - #1291
Open
potiuk wants to merge 2 commits into
Open
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
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 |
potiuk
force-pushed
the
principles/avoid-prompt-fatigue
branch
from
September 22, 2026 14:56
0c1eb03 to
216f76f
Compare
potiuk
marked this pull request as ready for review
September 22, 2026 14:57
potiuk
force-pushed
the
principles/avoid-prompt-fatigue
branch
from
September 22, 2026 15:18
216f76f to
944b768
Compare
…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
Two wording tweaks to the proposed principle 1, from Justin Mclean's +1 (binding) on the dev@ vote thread: - "read-only actions do not prompt" was too absolute — some reads are themselves the sensitive act (credentials, secrets, private archives). It now reads "reads that do not expose secrets or cross a trust boundary do not prompt". - "a defect of the same severity as a missing prompt on a write" overstated it: a missing write prompt can cause damage that cannot be undone. It is now simply "a defect". Generated-by: Claude Opus 5
potiuk
force-pushed
the
principles/avoid-prompt-fatigue
branch
from
September 22, 2026 19:24
063607b to
ff20148
Compare
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