{
  "$format": "thethinkloop.template/v1",
  "slug": "engineering-escalation",
  "title": "Engineering escalation",
  "decides": "Whether a support issue needs engineering, or can be resolved by support.",
  "question": {
    "name": "decision",
    "type": "predicate",
    "instructions": "Does this support issue need to go to engineering?"
  },
  "evidenceChecks": [
    {
      "name": "factor_1",
      "label": "Technical failure",
      "type": "predicate",
      "instructions": "The message reports an error, crash, or failed request."
    },
    {
      "name": "factor_2",
      "label": "Wide customer impact",
      "type": "predicate",
      "instructions": "Multiple users or production systems are affected."
    },
    {
      "name": "factor_3",
      "label": "Usage question",
      "type": "predicate",
      "instructions": "The customer is asking how to use an existing feature."
    }
  ],
  "inputs": [
    {
      "name": "message",
      "type": "string",
      "required": true,
      "description": "The customer's message, verbatim. Include the subject line if there is one."
    },
    {
      "name": "recent_releases",
      "type": "string",
      "required": false,
      "description": "A short list of recent releases or known incidents, so the model can connect reports to changes."
    }
  ],
  "expectedOutput": "A probability from 0 to 1 that the issue needs engineering, plus one probability per evidence check.",
  "examples": [
    {
      "title": "Reproducible API error after a release",
      "input": "Since yesterday's release, the /v2/invoices endpoint returns a 500 error for any request with more than 100 line items. Request ID req_8f2a. Reproducible every time.",
      "expected": "Yes"
    },
    {
      "title": "Looking for a setting",
      "input": "How do I add a second admin to our workspace? I can't find the setting.",
      "expected": "No"
    }
  ],
  "startingPolicy": {
    "automateAt": 0.85,
    "abstainBelow": 0.6,
    "note": "A starting point for exploration, not a recommendation. Calibrate against your own labeled examples."
  }
}
