Methods guide

A reproducible replay starts with its contract

A practical record of inputs, state transitions, invariants and information availability.

6 min read

Start with the data specification

A reproducible replay begins with a record of the rules it implements: feed format, sequence scope, event semantics, initial state and the exact meaning of each output. This provides the basis for checking whether a repeated result is also consistent with the data specification.

Separate protocol facts from experimental assumptions. A documented replace rule belongs to the former; assuming every order has unit size belongs to the latter. Both may be useful, but a reader should never need to guess which is which.

Keep a small experiment record

experiment: event-order-001
input: three synthetic SET messages
sequence_scope: one channel, one session
initial_state: quantity = 0
update_rule: SET overwrites quantity
source_order_expected: 7
receive_order_expected: 4
network_access: none

Keep this record with the code. For larger inputs, retain a checksum, parser version and data licence or access conditions. Machine-readable records make later changes visible and prevent a familiar filename from silently referring to different data.

Test invariants, not only final values

A final checksum can reveal disagreement without identifying its origin. Per-event checks localise the problem: a known order before cancellation, a positive remaining quantity for a resting order, and agreement between order-level totals and an aggregate built from the same included state.

Each invariant must respect the feed. A message can be a correction, recovery update or session transition. The checks should accommodate these protocol-defined cases, with exceptional transitions represented explicitly in the fixtures.

Record when information becomes available

An offline reconstruction can use later messages to explain an earlier event. That may be valid for diagnosis while unavailable for a contemporaneous decision. Label outputs as retrospective states, feed-observed states or live-available features.

A timestamp comparison alone is insufficient if the timestamp was assigned at a processing stage the consumer had not yet observed. Availability belongs to the observation model and should be tested. Keep diagnostic labels separate from the input used by the decision rule.

What to include in a review package

  • An input fixture with provenance and a stable identifier.
  • Explicit assumptions and unsupported message types.
  • An expected event-by-event trace and a minimal run command.
  • Failure states, recovery rules and information-availability checks.
  • The scope of the experiment and the interpretation of its results.

This checklist is intended for reviewing a small experiment. The public lab provides a synthetic teaching fixture to demonstrate the workflow.

Inspect the event-order lab
Back to all researchContinue with the experiments

Search website

    Arrows to select · Enter to open · Esc to closeCtrl / ⌘ K

    BROWSER SETTINGS

    Privacy & display

    These choices apply to this website and browser. You can revisit them from the footer.

    Necessary settings

    Remembers this choice on this device.

    Always on

    These choices govern display preferences stored in this browser. Cloudflare page-performance measurement operates separately. Refusing optional storage does not prevent reading or contacting us.

    Cookie & storage details