Commit 94a249f
Whole-surface audit (3 passes) of every authorable expression on the platform:
one authoring language (ExpressionInput/CEL, ~50 declarations) but TWO runtime
backends — a unified per-record CEL interpreter (works) and a FRAGMENTED
compile-to-filter path (rls-compiler regex + celToFilter field-equality +
read-scope-sql backend, no shared AST). That fragmentation is the root of the
predicate-honesty debt: sharing `condition` never compiled (#1887), RLS `check`
unenforced, inconsistent silent-fail policies.
Decision: one canonical CEL→FilterCondition pushdown compiler on the interpreter's
AST; the supported pushdown subset (no subqueries, ADR-0055); reconcile sharing
#1887 + RLS check; one fail-policy matrix (compile-error / fail-closed-security /
fail-soft-but-logged); a durable Expression Surface Conformance ledger. Scopes OUT
the non-expression experimental subsystems (ADR-0056 D8).
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 254abf6 commit 94a249f
1 file changed
Lines changed: 187 additions & 0 deletions
0 commit comments