{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://mizan.market/verdict/ap2-constraint.schema.json",
  "title": "market.mizan.verdict (AP2 Mandate Constraint)",
  "description": "Carriage for AP2 v0.2 through its Mandate Constraints extension point. Placed by the user in an open Payment Mandate. Evaluation: met when a mizan.verdict/1 token presented with the closed Payment Mandate verifies offline against the verifier's pinned MIZAN keys, is unexpired, has decision ALLOW, was issued under `rule` (claims.rule and bound_to.rule), and bound_to.payee equals the closed mandate's payee.id or payee.website. The amount is not compared. Per AP2, a verifier that does not implement this type treats it as failing (unresolved_constraint). Spec: https://mizan.market/verdict/#carriage",
  "type": "object",
  "required": ["type", "rule"],
  "additionalProperties": false,
  "properties": {
    "type": {"const": "market.mizan.verdict"},
    "rule": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$", "description": "The rule hash the payee must have been checked under."}
  }
}
