Skip to main content

Causal trace prediction practice

Attempt before reference code or calibration.

  1. Draw the worked send/local/receive graph and classify every pair before assigning timestamps.
  2. Predict both clocks on an indirect A-to-B-to-C chain. Mark which knowledge crosses each message.
  3. Reorder independent events in the input list while preserving process order; explain why event timestamps remain unchanged.
  4. Exhibit scalar order without causal order. Compare vectors to confirm the concurrency claim.
  5. Construct a shared-list snapshot bug and show which component incorrectly appears in a receiver.
  6. Leave one send undelivered, then add its receive. Identify the new causal paths.
  7. Reset a process identity’s clock after a restart. Explain why the lab rejects that modelling assumption rather than claiming the old comparison theorem still applies.

Keep three independent executable traces, the graph oracle and corrected predictions. Do not infer elapsed latency from counters or treat this as a consensus implementation. Preserve original detector, Raft and retry-safe API evidence.