Build a useful investigation brief
Build versioned fixtures
Create old payload, added field, removed field, renamed field, changed type, unknown event version, and malformed body cases. Record expected parse, state, and effect before execution. Repeat each case for every receiver revision and environment.
Trace field handling
Capture raw safe shape, version label, decoder result, required checks, unknown-field branch, mapper, persistence, and handler effect. Compare first divergence between old and changed fixtures. Preserve event identity without storing sensitive values.
Challenge compatibility
Vary one field, type, version, parser table, or consumer branch at a time. Compare quarantine, fallback, and processing. If a new field’s meaning is unknown, name the contract source needed instead of treating it as harmless.
What to carry forward
The investigation is ready when versioned fixtures show the first compatibility divergence and its state or effect. Deliver a narrow decoder or migration change. Keep sender meaning and unsupported versions explicit. Keep the first changed field explicit in the brief.
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