backend/rules-engine.md
Rules Engine
Entradas
- clientId
- applicationId
- licenseId
- platform
- environment
- origin/package/bundle
- targetState
- requestedChannel
- providerHealth
- quotaState
Salidas
- canal seleccionado
- fallbackOrder
- target requerido
- billingPolicy
- acción permitida/rechazada
- error normalizado
Pseudoflujo
validateLicense()
validateEntitlement()
validateChannelAllowed()
validateQuota()
validateTargetForChannel()
selectProvider()
if provider unavailable -> evaluateFallback()