@@ -204,10 +204,10 @@ to write into another package's capability.
204204
205205This ** replaces the implicit back-door** where a capability existed only as an
206206untitled placeholder derived from whatever a permission set happened to reference
207- in ` systemPermissions[] ` . That derivation still runs for back-compat (a
208- reference with no declaration keeps resolving as a ` managed_by:'platform' `
209- placeholder), but an explicit ` defineCapability ` takes precedence and — for a
210- pre-existing derived placeholder — ** claims** it, upgrading the row to package
207+ in ` systemPermissions[] ` . That derivation is retired: a reference with no
208+ declaration still matches by name at runtime but gets no ` sys_capability ` row.
209+ An explicit ` defineCapability ` takes precedence and — for a derived placeholder
210+ an older database still holds — ** claims** it, upgrading the row to package
211211provenance with the authored label/description/scope. This is the ADR-0066 D1
212212direction: retire the implicit ` managed_by ` -guessing back-doors in favour of
213213explicit, attributable declarations.
@@ -537,15 +537,17 @@ The complete, prioritized gap map lives in issue **#2561** (the production
537537
538538- ** Deny/muting layer** (ADR-0066 ⑦⑧) — union-only grants can't take access
539539 away; needed for large-org governance and packaged-set adjustment.
540- - ** Capability registry** (ADR-0066 D1) — ** landed** : capabilities are seeded
541- as first-class ` sys_capability ` records from the canonical list in
540+ - ** Capability registry** (ADR-0066 D1, ADR-0131 D3 ) — ** landed** : the
541+ platform's curated capabilities, from the canonical list in
542542 ` @objectstack/spec ` (` security/capabilities.ts ` → ` PLATFORM_CAPABILITIES ` ),
543- seeded by ` packages/plugins/plugin-security/src/bootstrap-system-capabilities.ts ` .
543+ are declared ` capability ` metadata served by the registry
544+ (` registerBuiltinCapabilities ` , ` GET /api/v1/meta/capability ` ), with no
545+ ` sys_capability ` row.
544546 A ** package** now DEFINES its own capabilities explicitly via
545547 [ ` defineCapability ` / ` stack.capabilities ` ] ( #package-capability-declaration-adr-0066-d1 ) ,
546548 seeded with ` managed_by:'package' ` + ` package_id ` provenance by
547549 ` bootstrap-declared-capabilities.ts ` — replacing the implicit
548- derive-from-` systemPermissions ` back-door (which stays for back-compat ).
550+ derive-from-` systemPermissions ` back-door (now retired ).
549551 The authoring lint (ADR-0066 ⑨) is also ** landed** : ` validateCapabilityReferences `
550552 (` @objectstack/lint ` ) warns at author time (` os validate ` / ` os lint ` ) when a
551553 ` requiredPermissions ` names a capability registered nowhere — no built-in, no
0 commit comments