{
  "additionalProperties": false,
  "description": "Payload for ``evaluation.completed``.\n\nEmitted from three call sites in ``application/commands/trades.py``\n(``EvaluateTradeStepCommandHandler``, the settle-worker confirmed-\ncheckpoint path, and the settle-worker timeout path). The ``reason`` and\n``failure_class`` fields are only present on the timeout path \u2014 they are\noptional here so this one schema is truthful for every call site rather\nthan describing only the most common one.",
  "properties": {
    "failure_class": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Failure Class"
    },
    "reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Reason"
    },
    "step_no": {
      "title": "Step No",
      "type": "integer"
    },
    "trade_id": {
      "title": "Trade Id",
      "type": "string"
    },
    "verdict": {
      "title": "Verdict",
      "type": "string"
    }
  },
  "required": [
    "trade_id",
    "step_no",
    "verdict"
  ],
  "title": "EvaluationCompletedEventPayload",
  "type": "object"
}
