Aglet

Verify backward-compatible webhook payload handling

Compatibility verification must preserve old event meaning while making new shapes deliberate. Run versioned and malformed fixtures through parsing, storage, and effects. Inspect required fields, unknown-field behavior, event identity, and downstream state rather than only parser success. Keep explicit event identities in every result.

Check whether the outcome improved

  1. Define schema outcomes

    Write expected parse, stored shape, handler branch, acknowledgement, review, and effect for old, added, removed, renamed, type-changed, unknown-version, and malformed payloads. Record the responsible reviewer for every version and consumer branch.

  2. Run old and new shapes

    Feed fixtures through the real receiver and compare required fields, unknown-field handling, mapper state, and side-effect count. Confirm additive data does not alter old meaning and removed identity fields cannot fall into a success default.

  3. Check migration and retry

    Process a changed payload after a receiver restart, then repeat an unsupported shape through review. Verify event identity and state remain stable and a retry cannot create a second effect.

What to carry forward

Accept when supported old and new shapes retain intended meaning, unsupported or malformed payloads stop safely, and retries preserve identity. Keep sender-version coverage partial where uncontrolled. Record matrix, fixtures, handler revision, and effects. Keep removed identity fields from reaching a success branch.

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