mixle.experimental.typed_runtime.faults module

Deterministic boundary fault injection for distributed correctness tests.

class BoundaryFaultInjector(events)[source]

Bases: object

Apply each scripted message fault at most once and retain delayed payloads.

Parameters:

events (tuple[FaultEvent, ...])

intercept(message, *, step)[source]

Return zero, one, or two messages after applying a scripted fault.

Parameters:
  • message (BoundaryMessage)

  • step (int)

Return type:

tuple[BoundaryMessage, …]

release(*, step)[source]

Release delayed messages whose scripted step has arrived.

Parameters:

step (int)

Return type:

tuple[BoundaryMessage, …]

recover(shard_id)[source]

Mark a failed source shard available for retried messages.

Parameters:

shard_id (str)

Return type:

None

as_dict()[source]

Return replay-relevant injector state and receipts.

Return type:

dict[str, Any]

class FaultEvent(message_id, kind, release_step=None, version_delta=1)[source]

Bases: object

One scripted fault targeting a message id.

Parameters:
  • message_id (str)

  • kind (FaultKind)

  • release_step (int | None)

  • version_delta (int)

class FaultInjectionReceipt(message_id, kind, step, emitted_messages, reason, applied, target_state_before, target_state_after)[source]

Bases: object

Scripted fault action and number of resulting deliveries.

Parameters:
  • message_id (str)

  • kind (FaultKind | None)

  • step (int)

  • emitted_messages (int)

  • reason (str)

  • applied (bool)

  • target_state_before (str)

  • target_state_after (str)

as_dict()[source]

Return a JSON-compatible fault receipt.

Return type:

dict[str, Any]

class FaultKind(*values)[source]

Bases: StrEnum

Injected delivery or worker failure.