FIELD NOTES · ACCEPTANCE EXERCISES

A large-file upload needs a completion ledger

A design studio’s customer portal may receive a large artwork archive over an unreliable connection. Before commissioning resumable uploads, agree which parts are durable, which need retry and what proves the final object exists. A full progress bar is not that proof.

Primary evidence and claim boundaries

Cloudflare R2 documents multipart completion and resumable parts. Non-final parts have a5 MiB minimum and must share a size; incomplete uploads have their own lifecycle. Primary reference · Read 17 October 2026.

Filled acceptance example

Synthetic teaching scenario, not a client case, provider integration test or business result. Scroll the example table on narrow screens.

Synthetic20 MiB archivePart ledgerRequired next step
Part 1 /8 MiBStored; ETagE1 retainedKeep part 1
Part 2 /8 MiBConnection lost; result unknownReconcile or retry part 2 under upload identity
Part 3 /4 MiB finalStored; ETagE3 retainedValid smaller final part in model
All parts later confirmedOrdered completion manifest + final object readbackVerify size 20 MiB and content integrity

Practical handover procedure

  1. Define object key, upload identity, byte size, part numbering and a secure authenticated ownership model. Use MiB consistently:20 MiB equals 20,971,520 bytes.
  2. Persist confirmed part references and distinguish unknown responses from confirmed failures. Check provider resume semantics rather than restarting the whole file automatically.
  3. Complete with the verified ordered part set, read the final object and verify the agreed checksum/size. Define abandoned-upload cleanup separately from completed-file retention.

Interpret the outcome

The part sizes sum to 20 MiB. Until part 2 and final completion are verified, the archive remains incomplete. An ETag should be treated according to the provider’s documented semantics, not assumed to be a universal whole-file checksum.

Acceptance decision

Demonstrate interrupted transfer, resumed part, final readback and abandoned-upload cleanup in an authorised test environment. Keep user upload permissions separate from transport success.

Limits and unverified work

Synthetic byte ledger only; no bucket, real file or cloud API was accessed. Actual request limits, quotas, lifecycle settings, malware review and confidentiality still need implementation evidence.

Download the filled bilingual acceptance record — Contains these inputs, steps, expectations and limits. This is a teaching record, not an executable integration.