Repository navigation
Commit 720b836
committed
docs(spec): AnchorBindingContext's boot half names the stack's capability DECLARATIONS, not the not-yet-seeded sys_capability rows
The docblock named two sources for `declaredCapabilities`: at boot the
`sys_capability` rows carrying `managed_by: 'package'` provenance, at authoring
time the stack's own `capabilities` array. The boot half has an ordering
precondition the sentence never stated. The ADR-0090 D5 anchor binding
(`bindBaselineToEveryone`) runs BEFORE `bootstrapDeclaredCapabilities`, the
seeder that writes those rows, so on a first boot the table is empty at exactly
the moment the docblock said to read it — and this docblock's own "omission
refuses" property then turns that emptiness into a silent refusal of every
declared token, the defect #18535 removed, reproduced one layer in.
The boot half now names the DECLARATIONS, read through the seeder's own two-step
(the ObjectQL registry first, the metadata service as the fallback) — the same
source the authoring-time half already named, and the read
`readDeclaredCapabilityContext` in `@objectstack/plugin-security` already
implements. The `sys_capability` rows stay a valid source, qualified: only once
the seeder has written them.
Comment text only. No predicate, type, export or behaviour changes.
Claude-Session: https://claude.ai/code/session_01JbZnqu8bt6YqfJsr9vaFb3
Co-authored-by: Claude <noreply@anthropic.com>1 parent 95b21b3 commit 720b836
1 file changed
Lines changed: 17 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
35 | | - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
36 | 51 | | |
37 | 52 | | |
38 | 53 | | |
| |||
0 commit comments