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
[P0][security] SharingRuleSchema disconnected from the live engine #1887
Part of the metadata liveness audit umbrella #1878 (P0 security cluster).
Problem
SharingRuleSchema is disconnected from the live engine. The runtime enforces a divergent sys_sharing_rule model:
runtime: JSON criteria_json, recipient enum user / team / department / role / queue;
spec: CEL condition, recipients including role_and_subordinates / guest.
The spec's CEL condition is never compiled, and unparsable CEL degrades to "match nothing" — so spec-authored sharing rules silently grant no access. The two models have diverged into a write-only spec surface.
Decision required (enforce or remove)
Reconcile/enforce: compile the spec's CEL condition into the live engine and map the spec recipient set (including role_and_subordinates, which depends on the Role parent walk, and guest) onto sys_sharing_rule.
Remove: deprecate SharingRuleSchema in favor of authoring sys_sharing_rule directly, and document the supported (criteria_json, 5-recipient) model.
Experimental marking landed in #1902 (ADR-0049): this property is now flagged [EXPERIMENTAL — not enforced] in the spec so authors aren't misled. This issue stays open to track the actual enforcement (or removal with the feature) at M2 — the marking only neutralised the false promise, it did not implement the behaviour.
Activity
docs(spec): mark feature-absent security props EXPERIMENTAL — Policy,…
os-zhuang commentedon Jun 15, 2026
Experimental marking landed in #1902 (ADR-0049): this property is now flagged
[EXPERIMENTAL — not enforced]in the spec so authors aren't misled. This issue stays open to track the actual enforcement (or removal with the feature) at M2 — the marking only neutralised the false promise, it did not implement the behaviour.chore(changeset): ADR-0058 expression compiler (closes #1887)
feat(expr): ADR-0058 P1–P4 — canonical CEL→FilterCondition compiler, …
docs(adr): ADR-0060 — Conformance Ledger as a Platform Pattern (#2103)
feat(dogfood): ADR-0060 D5 — flow trigger-type conformance ledger (4t…
feat(showcase): demonstrate RLS check (D4) + compound sharing (#1887)…
fix(qa): keep the settings `visible` slot in the ADR-0058 expression …
feat(spec): declare the settings `visible` grammar the evaluator actu…