Skip to content

Commit c0b04f3

Browse files
os-zhuangclaude
andcommitted
chore(spec): classify ADR-0066 object.access + object.requiredPermissions in liveness ledger
ADR-0054 spec-property liveness gate requires every governed-type property to be classified. Mark both new object props `live`, citing their plugin-security enforcement sites. Not in BOUND_PROOF_PATHS, so no dogfood proof is required; unit + full-middleware coverage lives in plugin-security/security-plugin.test.ts. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent b80c554 commit c0b04f3

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

packages/spec/liveness/object.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,16 @@
8787
"evidence": "packages/objectql/src/registry.ts:208",
8888
"note": "default perms; ui crudAffordances."
8989
},
90+
"access": {
91+
"status": "live",
92+
"evidence": "packages/plugins/plugin-security/src/permission-evaluator.ts",
93+
"note": "ADR-0066 D2 secure-by-default posture. access.default:'private' → resolveObjectPermission excludes the object from non-super-user '*' wildcard grants (needs an explicit grant or View/Modify All Data), and security-plugin computeRlsFilter/computeWriteCheckFilter apply the posture-gated super-user RLS bypass. Unit + full-middleware proven in plugin-security/security-plugin.test.ts."
94+
},
95+
"requiredPermissions": {
96+
"status": "live",
97+
"evidence": "packages/plugins/plugin-security/src/security-plugin.ts",
98+
"note": "ADR-0066 D3 object capability contract — the security middleware denies unless the caller's systemPermissions union covers it (AND-gate, before the CRUD grant). Mirrors App.requiredPermissions. Unit + full-middleware proven in plugin-security/security-plugin.test.ts."
99+
},
90100
"userActions": {
91101
"status": "live",
92102
"note": "objectui ObjectGrid per-object CRUD."

0 commit comments

Comments
 (0)