Pipeline Stage 02
Fact Mapping
Each channel maps its input to the same set of rule facts. Anything the input does not carry is left absent, so rules about it do not fire either way.
No Invented Facts
simplified flow
facts = {}
for each field the request actually supplied:
facts[ruleName(field)] = value
# never: cvvMatch = true, velocity = 0, cardPresent = false
facts.velocity1h = count(decision log, hmac(PAN), 1h)
facts.velocity24h = count(decision log, hmac(PAN), 24h)
-> rule engine (stage 04)
Absent, not defaulted
No channel substitutes defaults such as "CVV matched" or "velocity 0". A rule that depends on a missing fact simply does not fire.
Card and account identity
Cards and accounts are identified by an organization-scoped HMAC of the PAN or account number, never the raw value.
Velocity
Decisions per card or account over the last hour and 24 hours are counted from the decision log.
KB Analytical Solutions Inc. // Fact Mapping // Describes QUORUM at code baseline e9c2cf7