Answer stability round 1: 0 🔴, 5 🟡 (1 misread); pin the revoke, redirect, 503 and URL-slash paths with tests, and stop calling an undeclared grant dormant

This commit is contained in:
2026-11-08 22:15:54 +01:00
parent 2de7e4d79c
commit 63c90ea3d6
4 changed files with 50 additions and 8 deletions
+3 -2
View File
@@ -197,8 +197,9 @@ The host collects every installed plugin's declarations into one catalog (`decla
`ctx.declaredPermissions`), and that catalog is the list the admin screens offer. Hence there is no
Permissions admin screen: nothing in a GUI invents a name, and holding one is a property of a user
or group, edited as a checkbox list there. A Keto tuple naming something no installed plugin
declares gates nothing, is not offered, and is never revoked by an unrelated save: the picker only
speaks for what it showed. The subject's page lists such a direct grant apart, with a Remove of its own.
declares is not offered as a checkbox, and is never revoked by an unrelated save: the picker only
speaks for what it showed. A plugin may still gate on such a name, so it can be live. The user's or
group's page lists such a direct grant separately, each with its own Remove button.
## A permission's `<resource>` is global, not plugin-scoped