From ed48c5a8fd4e751316ccfc6da6c845b6b9e54875 Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Sun, 8 Nov 2026 22:16:56 +0100 Subject: [PATCH] File the group delete that can stop part-way as plan item 62 --- todo.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/todo.md b/todo.md index 9acc202..7249652 100644 --- a/todo.md +++ b/todo.md @@ -6,12 +6,13 @@ `Bar = 1` -`Next ID = 62` +`Next ID = 63` ## Items | ID | Release | Blocked by | Exempt | Item | L | E | I | R | S | Moves | Score | |---|---|---|---|---|---|---|---|---|---|---|---| +| 62 | 0.5.1 | | | **Delete a group's grants and its membership set in one Keto transaction, so a failure cannot leave it half-deleted.** | 1 | 2 | 2 | 3 | 2 | code health by 2, 2 by 3 | 16.2 | | 19 | 0.6.0 | | question | **Run the documented Docker commands on macOS and fix whatever misbehaves.** | 2 | 2 | 1 | 3 | 3 | 1 by 3 | 3.3 | | 16 | 0.6.0 | | question | **Decide whether the single Keto `Resource` namespace splits into per-domain namespaces.** | 3 | 2 | 3 | 6 | 6 | 7 by 2 | 0.5 | | 14 | 0.6.0 | | | **Drop a double-clicked duplicate submit, with no client-side JavaScript.** | 4 | 2 | 3 | 7 | 7 | 2 by 7, 1 by 4 | 1.4 | @@ -23,6 +24,14 @@ ## Details +### 62. Delete a group's grants and its membership set in one Keto transaction, so a failure cannot leave it half-deleted. + +`groupsDelete` in `examples/plugins/auth-admin/admin-groups.ts` drops each held grant with its own +`deleteTuple`, then the membership tuple, so a Keto failure part-way leaves a group with some grants +gone and its members still listed. Send all the deletes through `KetoClient.transactTuples`, as +`applyGrants` in `admin-grants.ts` does. The comment on delete order stays true inside one +transaction. + ### 19. Run the documented Docker commands on macOS and fix whatever misbehaves. Needs a Mac. Two suspects, both from `--user "$(id -u):$(id -g)"`: a macOS `id -g` is `20`, which is