Establish what is happening
Record one chunk exactly
Capture file length, chunk index, byte start and end, declared size, payload length, upload identity, and response. Include whether the range endpoint is inclusive or exclusive, because that convention determines every expected size.
Compare assembly evidence
For a completed or partial object, compare chunk order, received lengths, gaps, overlaps, and total assembled bytes with the source. Keep a small byte-patterned fixture so an incorrectly ordered chunk is distinguishable from a coincidentally matching length.
Classify the mismatch
Classify the case as range arithmetic, metadata disagreement, ordering, duplicate acceptance, or receiver validation. Record the first conflicting field and state whether the next investigation needs request traces, stored part records, or source-byte comparison.
What to carry forward
Triage is complete when a specific chunk has declared and observed lengths, a known range convention, and an assembly comparison. If only a receiver error text is available, record the missing byte evidence rather than inferring which field failed.
Technical background: tus protocol 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