* Add Scope plumbing and custom operator extension point
Thread evaluation scope through the rules engine and delegate unknown
operators to an empty CustomOperators dispatcher, without changing behavior.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Add rc.rootVar operator for nested predicate root access
Introduce the rc.rootVar custom operator and shared resolveVar lookup,
with fixture coverage including falsy-item empty-path discrimination.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Fix project.pbxproj: restore RewardedAdTrackingMetadata entries
The RulesEngine registration edit accidentally dropped four
RewardedAdTrackingMetadata.swift entries from the Xcode project.
Restore them and normalize CustomOperators identifiers to 24 hex chars.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Promote firstArgEvaluated to shared Operators helpers
Move the unary-arg helper from LogicOperators to Operators so custom
operators can use the same json-logic-js spread convention.
Co-authored-by: Cursor <cursoragent@cursor.com>
* Address review comments on custom operator extension point
Drop the cross-engine registration note from CustomOperators, and restore
the single-line var extra-args warning that was reflowed without changing
its text.
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: Cursor <cursoragent@cursor.com>