FIELD NOTES · ACCEPTANCE EXERCISES

Do not turn an empty save response into a false failure

A profile editor can save correctly and then show an error because its frontend tries to parse an empty response as JSON. The business problem is misleading feedback that encourages customers to submit again. Agree the response contract before asking for more aggressive retry logic.

Source-bound fact

A204 response has no content. The client must not expect a JSON representation in that response. Official reference · Checked 17 October 2026.

Filled synthetic acceptance example

Synthetic teaching example, not a client case or a real-platform assessment. On narrow screens, scroll to read the complete table.

InputCheck basisExpected
204; empty bodyno representationsave acknowledgement; no JSON parse
200; application/json; valid objectdocumented representationparse the agreed object
500; empty bodyfailure statusdo not classify as saved

Supplier acceptance procedure

  1. Ask for status, content type and body expectations for every documented save outcome.
  2. Use an authorised test record to compare the response with the actual stored value, including the empty-success path.
  3. Check the UI does not offer a duplicate automatic retry after a confirmed save; retain the original operation reference.

Interpret the output

The fixture returns a no-body branch for 204 and does not pretend that parsing proves persistence. A supplier must separately show that the permitted test record changed. Empty error responses remain errors; do not treat every response with no text as success.

Explicit limits

No production saves, retry engine or storage proof. This differs from draft expiry and stale-save concurrency: it tests how a completed response is interpreted.

Replay the finite teaching model

Save both files in one folder and use Node22 or newer. JSON contains inputs and expected results. The script processes synthetic data only, with no network, credentials, payment or paid API calls. Passing is not evidence that a real integration passed acceptance.

Filled inputs and expectations · Inspectable teaching script

node check.mjs empty-success-response-ui-handover.json