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 713f83f
Browse filesBrowse the repository at this point in the historyBrowse files
fix(formula): fail closed on a null MEMBER of a resolved membership array in the CEL pushdown (#13496) (#13630)
* fix(formula): fail closed on a null member of a resolved membership array in the CEL pushdown
lowerMembership checked only Array.isArray and emitted the list verbatim, so a
null MEMBER of a resolved membership variable reached a security $in while a
null SCALAR variable took the pinned unresolved-variable fail-closed path. It now
refuses the member with the same reason, in every polarity.
Refusing rather than stripping: `not in` lowers to $not wrapping $in, and
$in: [] matches nothing, so stripping inverts into allow-all under negation.
Refusing throws before any $not wrapper is built, so no polarity threading is
needed in the lowerer.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F3jdziLbAPGeceVNmSox5L
* test(formula): widen the local ok() helper so the new cases add no TEST_DEBT errors
The module-level ok() pins its second argument to the exact shape of VARS, so
the partial contexts this suite builds were 4 new TS2345 on a shrink-only
ledger. Same assertion, same throw, widened only where this suite needs it;
re-measured @objectstack/formula TEST_DEBT back to the frozen 17.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01F3jdziLbAPGeceVNmSox5L
---------
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments