{
  "id": "bug-report-triage",
  "title": "Bug Report Triage",
  "type": "workflow",
  "version": "0.1.0",
  "tier": "browser",
  "icon": "🐛",
  "author": "Switchboard Core",
  "description": "Public bug report submission with severity-based routing, team assignment, and SLA timers.",
  "permissions": [],

  "workflow_definition": {
    "name": "Bug Report Triage",
    "slug": "bug-report-triage",
    "entry_mode": "public_link",
    "stages": [
      {
        "name": "submit",
        "ordinal": 0,
        "stage_mode": "form",
        "audience": "public",
        "stage_type": "simple",
        "auto_transition": false,
        "form_template": {
          "fieldsets": [
            {
              "label": "Report Details",
              "fields": [
                { "key": "reporter_email", "label": "Your Email", "type": "text", "required": true },
                { "key": "summary", "label": "Summary", "type": "text", "required": true },
                { "key": "component", "label": "Component", "type": "select", "options": ["ui", "api", "database", "auth", "other"], "required": true },
                { "key": "severity", "label": "Severity", "type": "select", "options": ["critical", "high", "medium", "low"], "required": true }
              ]
            },
            {
              "label": "Reproduction",
              "fields": [
                { "key": "steps", "label": "Steps to Reproduce", "type": "textarea", "required": true },
                { "key": "expected", "label": "Expected Behavior", "type": "textarea", "required": true },
                { "key": "actual", "label": "Actual Behavior", "type": "textarea", "required": true }
              ]
            }
          ]
        }
      },
      {
        "name": "classify",
        "ordinal": 1,
        "stage_mode": "form",
        "audience": "team",
        "stage_type": "simple",
        "auto_transition": false,
        "form_template": {
          "fieldsets": [
            {
              "label": "Classification",
              "fields": [
                { "key": "severity", "label": "Confirmed Severity", "type": "select", "options": ["critical", "high", "medium", "low"], "required": true },
                { "key": "notes", "label": "Triage Notes", "type": "textarea" }
              ]
            }
          ]
        },
        "branch_rules": [
          { "field": "severity", "op": "eq", "value": "critical", "target_stage": "fix-critical" },
          { "field": "severity", "op": "neq", "value": "critical", "target_stage": "fix-normal" }
        ]
      },
      {
        "name": "fix-critical",
        "ordinal": 2,
        "stage_mode": "form",
        "audience": "team",
        "stage_type": "simple",
        "auto_transition": false,
        "sla_seconds": 3600,
        "form_template": {
          "fieldsets": [
            {
              "label": "Critical Fix",
              "fields": [
                { "key": "fix_description", "label": "Fix Description", "type": "textarea", "required": true },
                { "key": "commit_ref", "label": "Commit / PR Reference", "type": "text" }
              ]
            }
          ]
        }
      },
      {
        "name": "fix-normal",
        "ordinal": 3,
        "stage_mode": "form",
        "audience": "team",
        "stage_type": "simple",
        "auto_transition": false,
        "form_template": {
          "fieldsets": [
            {
              "label": "Fix",
              "fields": [
                { "key": "fix_description", "label": "Fix Description", "type": "textarea", "required": true },
                { "key": "commit_ref", "label": "Commit / PR Reference", "type": "text" }
              ]
            }
          ]
        }
      },
      {
        "name": "verify",
        "ordinal": 4,
        "stage_mode": "review",
        "audience": "team",
        "stage_type": "simple",
        "auto_transition": false,
        "form_template": {
          "fieldsets": [
            {
              "label": "Verification",
              "fields": [
                { "key": "verified", "label": "Fix Verified?", "type": "select", "options": ["yes", "no"], "required": true },
                { "key": "verification_notes", "label": "Notes", "type": "textarea" }
              ]
            }
          ]
        }
      }
    ]
  }
}
