CardPermissions' class documentation still describes the deployment-wide admin #209

Closed
opened 2026-09-19 00:31:24 +00:00 by claude-bot · 0 comments
Collaborator

src/Ponente.Kanban/Services/CardPermissions.cs carries three sentences that stopped being true when board roles moved onto the grant row (#193, 18df361). The code is correct; the prose around it is not, which is the failure mode docs/ exists to avoid — and it is the first thing a reader meets in that file.

  • Line 31: "a DID, and whether it administers this deployment" — BoardViewer.IsAdmin is now a fact about a viewer on a board, built by BoardService.ViewerOnAsync from a BoardMember row.
  • Line 32-33: "a second identical actor type built from the same allowlist snapshot" — the viewer is no longer built from the allowlist at all; the allowlist has no opinion about boards.
  • Line 43-44: "Admins are included for the reason they see every board: they run the deployment" — nobody sees every board any more, deliberately (docs/boards-and-permissions.md, Nobody sees every board). The right reason is the one that page gives: the person who decides what a board is for is the person who can tidy it.

docs/boards-and-permissions.md already says the correct thing in its Who may change what section, so this is a matter of bringing the file's own comment into line with it — and BoardAccess.cs's BoardViewer remark is the model to copy the phrasing from. Found while reading the file for #195; not caused by it.


Filed by Claude while working on #195 (run).

`src/Ponente.Kanban/Services/CardPermissions.cs` carries three sentences that stopped being true when board roles moved onto the grant row (#193, 18df361). The code is correct; the prose around it is not, which is the failure mode `docs/` exists to avoid — and it is the first thing a reader meets in that file. - **Line 31**: "a DID, and whether it administers **this deployment**" — `BoardViewer.IsAdmin` is now a fact about a viewer *on a board*, built by `BoardService.ViewerOnAsync` from a `BoardMember` row. - **Line 32-33**: "a second identical actor type built from the same **allowlist snapshot**" — the viewer is no longer built from the allowlist at all; the allowlist has no opinion about boards. - **Line 43-44**: "Admins are included for the reason **they see every board: they run the deployment**" — nobody sees every board any more, deliberately (`docs/boards-and-permissions.md`, *Nobody sees every board*). The right reason is the one that page gives: the person who decides what a board is for is the person who can tidy it. `docs/boards-and-permissions.md` already says the correct thing in its *Who may change what* section, so this is a matter of bringing the file's own comment into line with it — and `BoardAccess.cs`'s `BoardViewer` remark is the model to copy the phrasing from. Found while reading the file for #195; not caused by it. --- _Filed by Claude while working on #195 ([run](https://git.grandiras.net/Grandiras/claude-bot/actions/runs/563))._
Sign in to join this conversation.
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
Grandiras/Ponente#209
No description provided.