Skip to content

Commit 85bca30

Browse files
committed
docs(permissions): document the ADR-0094 pure-projection env door in authorization.mdx
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SXjD7g2JkEsdqhZFZgAo1Q
1 parent 728ffe4 commit 85bca30

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

content/docs/permissions/authorization.mdx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,15 @@ one of two doors, each writing only what it owns:
133133
matrix plus subject **assignment** (`sys_user_permission_set`,
134134
`sys_position_permission_set`), edited **live** (config). It owns env-authored
135135
sets (`managedBy` `platform`/`user`) and assignments — not package sets.
136+
Since ADR-0094 the set **definition** itself has one authoritative store —
137+
the metadata layer: an env-door write to `sys_permission_set` (the Setup
138+
CRUD) is transparently redirected into an env-scope metadata save
139+
(`saveMetaItem`), and the data record is a **pure projection** the platform
140+
re-derives on every metadata mutation (awaited — no staleness window) and at
141+
boot. Deleting an artifact-backed set through this door **resets** it to its
142+
declared body rather than removing it; renaming through the data door is
143+
rejected (the name is the metadata identity — clone instead). Subject
144+
assignments remain plain config rows, unchanged.
136145
- **Data-layer write gate** — the security middleware **refuses** any admin-door
137146
write to a `managedBy:'package'` `sys_permission_set` row, and refuses a
138147
payload that forges that provenance (insert or update, single or array). It

0 commit comments

Comments
 (0)