System-owned predicates that gate which routes a given vendor can fulfill.
AND-ed with the DB-side route matcher at resolve time, so a route can only
win if BOTH the operator-authored matcher AND the vendor's physics matcher
pass against the criteria.
"Physics" = constraints the vendor itself imposes and operators can't
waive (e.g. Dart only works for customers with a Victor ledger program,
because Dart ACH flows are realized through Victor virtual accounts).
Co-located with the predicate code that depends on it so it deploys
atomically with the service changes that introduce the fields.
Rendered read-only in the admin matcher editor (MatcherEditor with
vendor set) so operators can see why a route is being rejected.
Vendors absent from this map have no mandatory matcher — their routes are
gated solely by the operator-authored matcher.
System-owned predicates that gate which routes a given vendor can fulfill. AND-ed with the DB-side route matcher at resolve time, so a route can only win if BOTH the operator-authored matcher AND the vendor's physics matcher pass against the criteria.
"Physics" = constraints the vendor itself imposes and operators can't waive (e.g. Dart only works for customers with a Victor ledger program, because Dart ACH flows are realized through Victor virtual accounts). Co-located with the predicate code that depends on it so it deploys atomically with the service changes that introduce the fields.
Rendered read-only in the admin matcher editor (
MatcherEditorwithvendorset) so operators can see why a route is being rejected.Vendors absent from this map have no mandatory matcher — their routes are gated solely by the operator-authored matcher.