# `Lockstep.Strategy.POS`
[🔗](https://github.com/b-erdem/lockstep/blob/v0.1.0/lib/lockstep/strategy/pos.ex#L1)

POS (Partial-Order Sampling). On every step, with probability
`:resample_prob`, re-randomize the priorities of all currently-ready
processes; otherwise keep the current priorities. Then run the
highest-priority enabled process.

Conceptually a "noisy PCT": where PCT only demotes priorities at
`d - 1` precommitted change points, POS continually shuffles. The Fray
paper (Yuan et al., OOPSLA 2025, https://arxiv.org/abs/2501.12618)
reports POS finding bugs across Kafka, Lucene, and Guava in fewer
iterations than PCT for many real-world races.

## Options

  * `:seed`           -- RNG seed (required)
  * `:resample_prob`  -- probability of resampling priorities at each
    step. Default `0.5`. The Fray paper finds 0.5 a sensible default
    across workloads.

No `:max_steps` or bug-depth precommitment, unlike PCT.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
