Aglet

Investigate truncated API payloads

Investigation should distinguish bytes that never arrived from values the decoder ignored and from a contract that permits partial results. Build complete and incomplete fixtures, follow the body through each boundary, and compare stored state. Keep server limits, proxy behavior, and local parser stops as hypotheses.

Build a useful investigation brief

  1. Build complete and cut fixtures

    Create a complete response, a body cut before the final item, a missing continuation marker, and a declared partial response. Record expected completeness and storage state before parsing. Use synthetic identifiers that make omission visible.

  2. Trace the termination point

    Capture transport size, stream or parser stop, count metadata, decoder warnings, mapper output, and persistence decision. Compare the first missing value with the complete fixture. Record client, proxy, and response revisions without retaining sensitive body content.

  3. Vary one boundary

    Change only body length, content metadata, parser input, response size, or server limit in separate runs. Compare whether the client rejects, marks incomplete, or stores the result. If both a proxy and parser explain the outcome, state the missing observation.

What to carry forward

The investigation is ready when a fixture shows the first boundary that loses completeness and the resulting local state. Recommend a bounded parser, transport, or contract change. Keep external size and partial-response semantics explicit where they cannot be observed.

Technical background: RFC Editor reference.

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