Establish what is happening
Capture one count
Record badge value, unread records, grouped summary, read transition, tab or device, refresh time, and list result. Include one item opened and one explicitly marked read. Keep a no-unread control.
Compare count meaning
Ask whether the badge counts items, groups, events, or only visible records. Compare list and navigation after filters or pagination. A count that is delayed can be a refresh issue; a count with a different universe needs a contract decision.
Set the drift boundary
State when the badge changes, what opening means, how sync resolves, and which records count. Preserve a reconciled case. Stop when another reviewer can explain a mismatch from definition or timing rather than calling every difference stale.
What to carry forward
The triage output is a badge count contract with unread definition, grouping, transition, and refresh boundary. Stop when definition and drift are distinguishable. If cross-device sync is unknown, keep the count provisional and record the missing observation.
Technical background: W3C guidance.
Keep the decision with the work.
Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.
Create an account See the product workflow