{
  "$format": "thethinkloop.template/v1",
  "slug": "policy-exception",
  "title": "Policy exception",
  "decides": "Whether a request that falls outside policy deserves an exception.",
  "question": {
    "name": "decision",
    "type": "predicate",
    "instructions": "Is this request eligible for a policy exception?"
  },
  "evidenceChecks": [
    {
      "name": "factor_1",
      "label": "Company error",
      "type": "predicate",
      "instructions": "The request follows a mistake or outage on our side."
    },
    {
      "name": "factor_2",
      "label": "Long-standing customer",
      "type": "predicate",
      "instructions": "The customer has a long relationship with us."
    },
    {
      "name": "factor_3",
      "label": "Prior exceptions",
      "type": "predicate",
      "instructions": "The customer has already received an exception or refund."
    }
  ],
  "inputs": [
    {
      "name": "message",
      "type": "string",
      "required": true,
      "description": "The customer's message, verbatim. Include the subject line if there is one."
    },
    {
      "name": "policy_text",
      "type": "string",
      "required": true,
      "description": "The policy clause in question and your written criteria for exceptions."
    },
    {
      "name": "account_history",
      "type": "string",
      "required": false,
      "description": "Tenure and any previous exceptions."
    }
  ],
  "expectedOutput": "A probability from 0 to 1 that an exception is warranted, plus one probability per evidence check.",
  "examples": [
    {
      "title": "Missed a deadline because of the company's outage",
      "input": "We've been a customer for 6 years and have never asked for anything. Your outage on the 12th made us miss the renewal discount deadline by one day. Could you honour the discount?",
      "expected": "Yes"
    },
    {
      "title": "A repeat request with no new circumstances",
      "input": "I forgot to cancel again before the trial ended. I know you already granted a refund last time, but can you make another exception?",
      "expected": "No"
    }
  ],
  "startingPolicy": {
    "automateAt": 0.92,
    "abstainBelow": 0.6,
    "note": "A starting point for exploration, not a recommendation. Calibrate against your own labeled examples."
  }
}
