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 b96b79e
Browse filesBrowse the repository at this point in the historyBrowse files
docs(permissions): re-anchor the system-context census after the provenance headers grew (#15302)
The three `isSystem` reads moved when the provenance-stamp headers were rewritten
(`email-template-provenance.ts:59` to `:77`, `sharing-rule-provenance.ts:47` to `:66`,
`webhook-provenance.ts:50` to `:68`) and `content/docs/permissions/system-context.mdx`
was not regenerated with them, so `check-system-context-census` reported 6 problems:
three read sites with no row, and three anchors that are no longer read sites.
This is the output of `node scripts/check-system-context-census.mjs --fix`, which
rewrote 3 anchors on 2 page lines. `--fix` REFUSED ZERO files, so this is a pure
line-number shift and not a population change. A second `--fix` run rewrites 0
anchors; the gate and its `--self-test` both exit 0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XpTx2tbq3pZRYAdoGt6E6Y
Copy file name to clipboardExpand all lines: content/docs/permissions/system-context.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -136,7 +136,7 @@ The largest single consumer — **17 of the 105 sites**.
136
136
| 35 |`listShares()` skips the management gate | Get: full enumeration of who can see a record |`plugin-sharing/src/sharing-service.ts:1528`|
137
137
| 36 |`sys_record_share` reads are **not** self-scoped | Get: tenant-wide share listing without `manage_sharing`|`sharing-plugin.ts:1088`|
138
138
| 37 | Share-link policy `enabled` check bypassed; system callers re-enter under a system context | Get: link **creation** while the policy is off — resolution is **not** bypassed since #14033 (`publicSharing.enabled` is a standing policy held at every redemption): a link minted this way does not resolve until the block is enabled |`plugin-sharing/src/share-link-service.ts:469`, `:523`, `:527`, `:600`, `:630`|
139
-
| 38 | Sharing-rule provenance stamp skipped | Lose: the row is not marked as an admin customization — seeder / `defineRule` / boot reconcilers are "the package door" |`sharing-rule-provenance.ts:47`|
139
+
| 38 | Sharing-rule provenance stamp skipped | Lose: the row is not marked as an admin customization — seeder / `defineRule` / boot reconcilers are "the package door" |`sharing-rule-provenance.ts:66`|
140
140
| 39 | Sharing-rule service write + delete paths return early | Lose: the manage-rules gate on the service surface, and the platform-global-rule delete guard |`sharing-rule-service.ts:202`, `:427`|
@@ -167,7 +167,7 @@ The largest single consumer — **17 of the 105 sites**.
167
167
| 56 | Activation write / authoring refusals do not fire | runtime | Get: activation artifacts writable and authorable without the activation-authoring capability |`activation-gate.ts:138`, `:189`|
168
168
| 57 | Automation run-state read, flow-authoring write and unrelated-screen read all pass | runtime | Get: run state, flow writes and screen reads with no grant |`domains/automation.ts:254`, `:545`, `:635`|
169
169
| 58 | Audience-binding suggestion recording skipped | plugin-security | Lose: install-time suggestions are not recorded for system callers |`suggested-audience-bindings.ts:703`|
170
-
| 59 | Email-template / webhook provenance stamps skipped | plugin-email, plugin-webhooks | Lose: the row is not marked as an admin customization |`email-template-provenance.ts:59`, `webhook-provenance.ts:50`|
170
+
| 59 | Email-template / webhook provenance stamps skipped | plugin-email, plugin-webhooks | Lose: the row is not marked as an admin customization |`email-template-provenance.ts:77`, `webhook-provenance.ts:68`|
171
171
| 60 |**Automation flow data nodes re-add the `owner_id` stamp** (the one place row 2's gap is compensated inline) | service-automation | Get: a flow-authored INSERT under system elevation still lands owned, when the run resolved a user. Fill-only — flow-authored values win |`runtime-identity.ts:279`, called from `builtin/crud-nodes.ts:319`|
172
172
| 61 | Inbox caller refusal names `isSystem` as what was carried | service-messaging | Get: nothing — the refusal still fires. The flag only shapes the diagnostic, because privilege is not an authorization subject |`inbox-caller.ts:148`|
0 commit comments