Establish what is happening
Capture the changed shape
Record event ID, event type, schema or API version, field names and types, endpoint, receiver revision, and disposition. Redact values and secrets. Note whether the request was rejected, stored, or processed with a fallback.
Compare old and new
Run an old payload, added field, removed field, renamed field, changed type, and malformed payload through the same decoder. Compare required-field checks, unknown-field handling, mapper state, and side effects. Record the version beside the field change.
Bound consumer impact
Group changes by event type, field, endpoint, version, handler revision, and downstream workflow. Separate parse failure, semantic change, and display-only difference. Preserve identity and any pending state for unsupported shapes. Preserve the field difference in the comparison.
What to carry forward
Triage ends with the changed field or version, first decoder boundary, affected consumer, and evidence gap. Quarantine unsupported shapes before effects. Route schema, parser, and workflow questions separately. Keep unsupported shapes out of side effects while the contract is reviewed.
Technical background: GitHub 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