Answer prose round 1: 1 🔴, 4 🟡 (0 misread); correct the older changelog entries, keep each fact in one home, rewrap the Keto header
CI / full-gate (push) Successful in 4m37s

This commit is contained in:
2026-11-08 22:15:54 +01:00
parent 63c90ea3d6
commit 2b19ed27d2
4 changed files with 10 additions and 16 deletions
@@ -126,8 +126,6 @@ test("applyGrants sends the whole change as one Keto transaction, and a failure
await assert.rejects(applyGrants(keto(true), userSubject("u1"), diff), /boom/);
});
// grantDiff never touches a held name nobody declares, so the picker lists them apart and offers a
// Remove for each. A reader is told what is held but offered no button.
test("buildPermissionPicker lists direct grants no plugin declares, with a remove action only for a writer", () => {
const direct = ["zed:read", "users:read", "old:write"];
const picker = buildPermissionPicker({ action: "/auth-admin/users/u1/permissions", declared, direct });