PropertyDamage.Progress.ReplayUpdate (PropertyDamage v0.2.0)

View Source

Progress for the seed-library replay phase of PropertyDamage.run/1 (DR-023).

Classified under the :test_run operation alongside RunUpdate/RunResult, this payload reports the pre-exploration replay of previously-failing seeds.

Phases

  • :start — emitted once when a non-empty library begins replaying; carries file, seed_count, and the prune threshold prune_after.
  • :seed — emitted per replayed seed with its seed and outcome (:pass, :fail, or :prune when a pass reaches the prune threshold).
  • :summary — emitted once after the replay pass with replayed, passed, pruned, and still_failing counts, and halted? (whether exploration was skipped because seeds still fail).

Summary

Types

outcome()

@type outcome() :: :pass | :fail | :prune

phase()

@type phase() :: :start | :seed | :summary

t()

@type t() :: %PropertyDamage.Progress.ReplayUpdate{
  file: String.t() | nil,
  halted?: boolean() | nil,
  outcome: outcome() | nil,
  passed: non_neg_integer() | nil,
  phase: phase(),
  prune_after: pos_integer() | nil,
  pruned: non_neg_integer() | nil,
  replayed: non_neg_integer() | nil,
  seed: integer() | nil,
  seed_count: non_neg_integer() | nil,
  still_failing: non_neg_integer() | nil
}