Commit e437766
committed
fix(auth): posture-key the last-admin guard's grant-anchored enumeration
The break-glass guard enumerated platform administrators from the same
unscoped in-window `admin_full_access` row on every posture, while the
derivation site stopped deriving standing from it under a wall. One anchor,
two readers, disagreeing: on a walled rig holding a legacy row the guard
counted a holder the derivation no longer recognises, so a write ending the
last config-anchored administrator's standing was permitted, and a write
revoking the inert row was refused as though it removed the last one.
Grade 1 is now keyed on the identical expression the derivation uses. The
`single` posture is unchanged and pinned so in both directions. The two
zero-population refusals gained a walled clause, because restoring the
`admin_full_access` row stopped being a remedy that ends the emptiness there.
Also names `@objectstack/plugin-auth`, `@objectstack/runtime` and
`@objectstack/plugin-hono-server` in the changeset, and posture-qualifies the
admin-standing surface's reason prose.
Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019hBqDVrwbijUCoK9qsss2E1 parent 30fb366 commit e437766
4 files changed
Lines changed: 316 additions & 19 deletions
File tree
- .changeset
- packages
- core/src/security
- plugins/plugin-auth/src
Lines changed: 7 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
4 | 7 | | |
5 | 8 | | |
6 | 9 | | |
| |||
11 | 14 | | |
12 | 15 | | |
13 | 16 | | |
14 | | - | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
15 | 20 | | |
16 | | - | |
| 21 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | | - | |
103 | | - | |
104 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
105 | 106 | | |
106 | 107 | | |
107 | 108 | | |
| |||
130 | 131 | | |
131 | 132 | | |
132 | 133 | | |
133 | | - | |
134 | | - | |
135 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
136 | 143 | | |
137 | 144 | | |
138 | 145 | | |
| |||
0 commit comments