# Bug Report Triage Public bug report submission with severity-based routing and SLA timers. ## Features - **Public entry** — anyone with the link can submit a bug report (no auth) - **Progressive fieldsets** — two-step form (Report Details + Reproduction) - **Branch rules** — severity=critical routes to senior queue, otherwise standard queue - **SLA timer** — critical fixes have a 1-hour SLA (fires `workflow.sla_breach` event) - **Team assignment** — classify, fix, and verify stages are team-scoped ## Stage Flow ``` [submit] → [classify] → [fix-critical] → [verify] public team ↘ [fix-normal] ↗ team team ``` ## Installation ```bash # Via admin API curl -X POST $BASE/api/v1/admin/packages/install \ -H "Authorization: Bearer $TOKEN" \ -F "file=@packages/bug-report-triage" ``` ## API Walkthrough ```bash # 1. Start public instance (no auth) curl -X POST $BASE/api/v1/public/workflows/$WF_ID/start \ -H 'Content-Type: application/json' \ -d '{"data": {"reporter_email": "user@example.com", "summary": "Login broken", "component": "ui", "severity": "critical", "steps": "1. Click login", "expected": "Login page", "actual": "500 error"}}' # 2. Resume (check status) curl $BASE/api/v1/public/workflows/resume/$ENTRY_TOKEN # 3. Team claims classify assignment curl -X POST $BASE/api/v1/teams/$TEAM/assignments/$ASSIGN_ID/claim \ -H "Authorization: Bearer $TOKEN" # 4. Advance classify (triggers branch rule) curl -X POST $BASE/api/v1/teams/$TEAM/instances/$INST/advance \ -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: application/json' \ -d '{"data": {"severity": "critical", "notes": "Confirmed production issue"}}' ```