You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 72cc4a6
Browse filesBrowse the repository at this point in the historyBrowse files
fix(verify): provision the RLS probe persona through the registry, not a set row
provisionRlsProbePersona no longer mints a sys_permission_set row. It asks
the security catalog, the same read the authorization resolver uses,
whether the probe set is registered (rlsProbeSecurity registers it at
boot). It reads the id of the row the boot seeds for that registered set,
because sys_user_permission_set.permission_set_id is still required, and
writes the one grant. A probe set the catalog does not serve, or a missing
boot-seeded row, refuses and writes nothing.
Claude-Session: https://claude.ai/code/session_01M5baMwzrfukawVWc496yxD
Co-authored-by: Claude <noreply@anthropic.com>
fix(verify): the RLS probe persona is provisioned through the registry — `provisionRlsProbePersona` no longer mints a `sys_permission_set` row
6
+
7
+
Clause-②: no
8
+
9
+
`provisionRlsProbePersona` used to find-or-create a `sys_permission_set` row named `verify_rls_probe` and grant it. Under ADR-0131 D3/D4 a permission set's one home is the registry: the authorization resolver reads the grant's `permission_set` name and takes the definition from the security catalog, never from a row. So a row this function minted was a copy of a definition nothing read.
10
+
11
+
It now:
12
+
13
+
- asks the security catalog (`securityCatalogReaderOf`, the read the resolver itself uses) whether `verify_rls_probe` is registered. `rlsProbeSecurity(config)` registers it at boot;
14
+
- reads the id of the row the boot already seeded for that registered set, because `sys_user_permission_set.permission_set_id` is still a required column;
15
+
- writes the one grant, carrying both columns.
16
+
17
+
It throws, writing nothing, when the catalog does not serve the probe set or the boot seeded no row for it. `objectstack verify --rls` reports either as a degraded probe persona and fails the run, as it already does for any provisioning failure. Fix for a caller that hits it: boot the stack with `rlsProbeSecurity(config)` as the `security` option of `bootStack`.
0 commit comments