stack: Budget-Ausnahme von version regrade haengt an der Aufrufform (Doku-Nachzug zu #95)
CI / verify (push) Successful in 52s
Release / release (push) Successful in 36s

Files changed:
- CHANGES.md
- VERSION
- instructions/gates.md
- instructions/session-setup.md
This commit is contained in:
2026-09-12 18:25:57 +02:00
parent 1b0158fc8d
commit dc688e5726
4 changed files with 30 additions and 4 deletions
+8 -1
View File
@@ -193,10 +193,17 @@ command you actually need to run, and only with the user's approval.
A dozen commands are exempt from this budget entirely - `search` and `doctor` because retrieval
and diagnosis are reading, not iterating, plus the read-only forms of `links`, `cite`, `budget`,
`eval`, `version`, `migrate` and `upstream verify`. The exemption is that fixed allowlist in
`eval`, `version`, `migrate` and `upstream verify`. The exemption is that allowlist in
[tools/CONTRACT.md](../tools/CONTRACT.md), not a "does not change the wiki" rule of thumb: `lint`
only writes to gitignored `reports/` and still counts, because it is not on the list.
**One entry is read-only only in one of its two forms.** `version regrade` lists the running
candidate's graded bump titles when called bare, and writes `CHANGES.md` when called with
positions to regrade - so the exemption is per *invocation* there, not per command name. It is
the only such case; every other row on the list is exempt however it is called. Its
`tools/CONTRACT.md` row says which form is which, which is still the single place that list
lives.
### Taking a new session id
The budget is scoped by `WIKITOOL_SESSION_ID` ([session-setup.md](session-setup.md)), so a new
+3 -2
View File
@@ -57,11 +57,12 @@ refusal. See [gates.md](gates.md).
## Scope
**The exemption is a fixed allowlist, not "read-only" or "does not change the wiki."** A command
**The exemption is an allowlist, not "read-only" or "does not change the wiki."** A command
needs this setup unless it is one of the dozen `tools/CONTRACT.md` marks exempt in its command
table (`search`, `doctor`, `links show`, `cite id`, `budget status`, the read-only forms of
`eval`, `version`, `migrate` and `upstream verify`) - that table, not a rule of thumb here, is
the single list.
the single list. One entry on it, `version regrade`, is exempt only in its bare listing form and
counted when it is given positions to regrade; every other entry is exempt however it is called.
`lint` is the case that breaks the "changes the wiki" reading: it only writes to `reports/`,
which is gitignored, so it looks side-effect-free - but it is not on the allowlist and is counted