Policy pack

Affiliate Rewards

Governance for affiliate/referral funnel agents that issue reward and commission payouts.

Key
affiliate_rewards
Version
affiliate_rewards-v1
Rules
4
Domain
AFFILIATE_REWARDS

Rules, in the order the evaluator tries them

Highest priority first. The first rule whose conditions all hold decides; with none, the decision is a REVIEW.

  1. Reject structurally invalid negative payout amounts

    priority 200

    reject_negative_amount · AFFILIATE_REWARDS

    When
    • amount < 0
    Then

    AUTO_REJECT → REJECT · urgent · SLA 60 min

    Negative reward amounts are invalid and must never be paid.

  2. Review elevated-risk reward payouts

    priority 150

    review_high_risk_payout · AFFILIATE_REWARDS

    When
    • risk_score ≥ 0.6
    Then

    REQUIRE_REVIEW → REVIEW · elevated · SLA 240 min

    Elevated fraud/risk signals hold the payout for accountable review.

  3. Review large reward payouts

    priority 140

    review_large_payout · AFFILIATE_REWARDS

    When
    • amount > 100
    Then

    REQUIRE_REVIEW → REVIEW · elevated · SLA 240 min

    Large payouts (in the funnel's amount unit) get a manual accountability check.

  4. Approve standard referral reward payouts

    priority 20

    approve_standard_payout · AFFILIATE_REWARDS

    When
    • decision_type = "REFERRAL_REWARD_PAYOUT"
    Then

    AUTO_APPROVE → APPROVE · routine · SLA 30 min

    Standard low-value, low-risk referral rewards are credited automatically.

Evaluate under it

Locally, with @decionis/mcp: the payload becomes the request's context, and its action the decision type. On the hosted protocol, once the bundle is stored for your organization, name vertical_pack, policy_version and require_exact_policy_version: true.

decionis_evaluate arguments

{ "policy_pack": "affiliate_rewards", "payload": { "action": "<decision type>" } }

In a hosted evaluate-decision request

"vertical_pack": "affiliate_rewards",
"policy_version": "affiliate_rewards-v1",
"require_exact_policy_version": true

Workflow keys that resolve to this pack: reward_payout, referral_reward, affiliate_commission.

What its rules read

amount, decision_type, risk_score are fields of the request itself, not of its context. A value put only in the context is discarded, and the evaluator holds the decision as an ESCALATE rather than decide without it. @decionis/mcp puts the whole payload in the context, so a payload that carries amount, risk_score is held.

  • amountrequest
  • decision_typerequest
  • risk_scorerequest

Signals it maps

  • payout_amountfunnel
  • fraud_risk_scorerisk