{
  "$format": "thethinkloop.template/v1",
  "slug": "feature-request-classification",
  "title": "Feature request classification",
  "decides": "Whether a message is a bug report, a feature request, a how-to question, or something else.",
  "question": {
    "name": "decision",
    "type": "choice",
    "instructions": "What kind of message is this?",
    "choices": [
      {
        "value": "bug",
        "description": "Something that should work does not: an error, crash, or regression."
      },
      {
        "value": "feature_request",
        "description": "A request for a new capability or an enhancement."
      },
      {
        "value": "how_to_question",
        "description": "A question about how to use an existing feature."
      },
      {
        "value": "other",
        "description": "Anything that fits none of the above."
      }
    ]
  },
  "evidenceChecks": [
    {
      "name": "factor_1",
      "label": "Technical failure",
      "type": "predicate",
      "instructions": "The message reports an error, crash, or failed request."
    }
  ],
  "inputs": [
    {
      "name": "message",
      "type": "string",
      "required": true,
      "description": "The customer's message, verbatim. Include the subject line if there is one."
    }
  ],
  "expectedOutput": "One of the four values, a confidence value, and a probability for every option, plus one probability per evidence check.",
  "examples": [
    {
      "title": "Asking for a capability that doesn't exist",
      "input": "It would be great if the CSV export supported custom date ranges. Any plans to add that?",
      "expected": "feature_request"
    },
    {
      "title": "Something that used to work",
      "input": "The export button returns an error message since Tuesday. It worked fine last week.",
      "expected": "bug"
    }
  ],
  "startingPolicy": {
    "automateAt": 0.75,
    "abstainBelow": 0.5,
    "note": "A starting point for exploration, not a recommendation. Calibrate against your own labeled examples."
  }
}
