Build a useful investigation brief
Build the dedup matrix
List event key, resource, state, version, source time, delivery time, channel, retry, notification ID, group, action, and history for paired messages. Include a duplicate and a real repeat. Record the proposed window.
Vary one boundary
Hold identity fixed while changing elapsed time, then hold time fixed while changing state or version. Compare coalesced output, latest action, and history. Record a case where text is identical but event identity differs.
Write the window brief
State first merge boundary, affected channels, exceptions, and competing explanations. Recommend one bounded window or identity experiment with a pass condition. Do not infer duplicate status from matching copy without source evidence. Compare source identity with the rendered message fingerprint.
What to carry forward
The investigation is complete when candidate window behavior is reproducible for retries and legitimate repeats, or the first identity gap is explicit. Stop with one bounded experiment. Preserve latest state and retained history in the brief.
Technical background: Android developer documentation.
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