#598: Used-by real share counts, fail-closed group delete #605

Merged
Cordy merged 4 commits from fix-598 into main 2026-09-18 12:04:55 +00:00
Owner

Approved mockup batch A rev 1 blocks 6–7. New admin endpoint GET /api/v1/admin/groups/usage (one pass over grants, group-addressed only, links impossible by construction); groupDelete 409s naming grants while any address the group; membership changes proven not to touch grants. UI: lazy usage fetch, shares lead the Used-by cell, "Not used" state, click-to-expand read-only listing (path · owner · role). Go tests + usedByParts glue tests. Red witnessed, green across both suites.

Approved mockup batch A rev 1 blocks 6–7. New admin endpoint `GET /api/v1/admin/groups/usage` (one pass over grants, group-addressed only, links impossible by construction); groupDelete 409s naming grants while any address the group; membership changes proven not to touch grants. UI: lazy usage fetch, shares lead the Used-by cell, "Not used" state, click-to-expand read-only listing (path · owner · role). Go tests + usedByParts glue tests. Red witnessed, green across both suites.
#598: Used-by carries the real share count; group delete is fail-closed
All checks were successful
ci / test-and-build (pull_request) Successful in 1m0s
c553d7bcb0
GET /api/v1/admin/groups/usage returns every live group-addressed grant
(path, owner, role) keyed by lowercased group name; links and user
grants never appear. groupDelete 409s while grants address the group,
naming them. The Groups view fetches usage lazily, leads the Used-by
cell with the count, says 'Not used' instead of a dash, and clicking
the cell expands the read-only listing. i18n x4.
Cordy merged commit 6509748c31 into main 2026-09-18 12:04:55 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#605
No description provided.