Pipeline Stage 04

Rule Evaluation

Each institution has its own rule set, plus optional global rules. Rules are validated when loaded and evaluated in-process for every decision.

Rule Engine

simplified flow
on load:
    reject rules that reference unknown facts or operators
on decision:
    results = engine.run(facts, organizationId)
    shadow rules evaluated too, recorded, not applied
    on engine error -> no verdict (HTTP 503 / ISO 8583 code 91)
    fraudScore = min(100, sum(riskBoost of fired rules))

Per institution

Rules are loaded per organization and kept in sync across instances.

Shadow mode

New rules run alongside live traffic and record what they would have done without affecting verdicts.

Fail closed

If the rules cannot be evaluated, QUORUM issues no verdict rather than a silent "allow".

Limits

The asynchronous AI arbitrator is separate from this stage: it reconciles disagreement between AI tiers for analyst review and does not change the real-time verdict.

KB Analytical Solutions Inc. // Rule Evaluation // Describes QUORUM at code baseline e9c2cf7