template · daily triage
Daily triage template
Copy-paste skeleton. Fifteen minutes. Three outputs per bug: severity, chain level, owner. Triage routes; it does not solve. Daily for the first week post-release, twice-weekly after.
How to use
Open the inbox of new bugs filed since the last triage. For each: agree severity, agree chain level, assign owner. Do not debug. Do not design fixes. Triage is a routing meeting, not an engineering meeting. If a bug needs a 10-min conversation, it does not belong in triage — pull it out.
text
# Daily triage — YYYY-MM-DD
Time: 15 min
Attendees: QA, PO, on-call Tech Lead
Inbox: [N new bugs since last triage]
## Routing decisions
ID | Title (one line) | Sev | Chain | Owner | Action
──────┼───────────────────────────────────────┼─────┼──────────────┼──────────┼───────
BUG-N | [Symptom in user-facing terms] | P1 | scenario-gap | [Name] | Fix this sprint
BUG-N | [Symptom] | P2 | adr-drift | [Name] | Backlog · review
BUG-N | [Symptom] | P3 | unknown | [Name] | Spike 2d before fix
...
## Patterns surfaced
[If 3+ bugs in one chain level, name the pattern. This is
the diagnostic moment — concentration in `observation-mismatch`
means the briefs are thin; concentration in `scenario-gap`
means amigos is missing a prompt.]
Pattern: [e.g., "Three bugs this week trace to language-
pack timing — observation-mismatch for
non-English-default graders."]
Owner: [PO logs as brief input for the next cycle]
## Out-of-band (pulled from triage)
[Bugs that need real conversation, moved to a 30-min slot
with the right people. Not blocked, just not triaged.]
BUG-N: [reason] → scheduled [date]The triage outputs (every bug, every time)
- Severity — Critical / High / Medium / Low (technical badness)
- Impact — Blocker / High / Medium / Low (user effect) — priority is auto-derived from the matrix
- Chain level — operational root cause label and chain-aware label (see Bugs Root Causes)
- Owner — a named person, not a team
- Action — fix now · fix this sprint · backlog · spike · kill
What triage NEVER does
- Debug the bug
- Design the fix
- Argue about priority (use the matrix; argue about severity or impact, not the output)
- Skip the chain level (the most-skipped field — the diagnostic depends on it)
Where this lives in your project
Triage produces an entry per bug in the team's tracker. The patterns surfaced section is read at the weekly bi-weekly sync as a heads-up to the PO and Tech Lead. The chain-level distribution is read monthly at the chain-health review.
What to do if a section resists
| Resistance | What it means | Where to go |
|---|---|---|
| Triage takes 45 min | The team is solving, not routing | Cut to severity + chain + owner. Solving happens after. |
| Same bug debated every triage | Severity is being re-litigated | Severity is set by the filer + QA before triage; triage agrees or rejects, never debates |
| Chain-level field is "unknown" for everything | The team has not internalised chain-aware classification | Read Bugs Root Causes at start of next triage |
| Patterns section is always empty | Triage isn't pattern-detecting | The PO is responsible for naming patterns; it's the most valuable output |
| Bugs accumulate without owner | The "unowned" bug is dead before it starts | Force an owner. "I'll look at it later" from nobody named is not an owner. |
Worked example — daily triage during release week
text
# Daily triage — 2026-05-27
Time: 14 min
Attendees: Maya (QA), Alex (PO), Esti (TL on-call)
Inbox: 4 new bugs since 2026-05-26
ID | Title | Sev | Chain | Owner | Action
────────┼──────────────────────────────────────┼──────┼────────────────────────┼───────┼──────────────
BUG-211 | Negative wallet shows $0.00 (caught | High | scenario-gap + | Esti | Fix today
| in staging) | | logic-error | |
BUG-212 | Hebrew submit "freezes" 2-3s | Med | observation-mismatch + | Alex | Brief input;
| (3 reports) | | configuration | | spike Mon
BUG-213 | Storybook story for ErrorBanner | Low | scenario-gap | Maya | Backlog
| missing focus state | | | |
BUG-214 | Tooltip cut off at 768px | Low | scenario-gap | Maya | Backlog
## Patterns surfaced
- BUG-212 is the third Hebrew/language-pack ticket this week.
Logged by Alex as brief input for next-cycle initiative
"Perceived responsiveness for non-English graders."
## Out-of-band
None this triage.See also
- Practice — Daily triage
- Template — Bug filing — what each entry needs before triage
- Template — Helpdesk reading — the weekly pattern-detector this feeds
- Canon — After We Build · Bugs and Their Roots · Severity × Impact · Root causes