You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Gap surfaced by #77. The @property/@model laws over async / actor / process-global state in #77 use DETERMINISTIC boundary-SWEEPS (the # GEN:-named values {0, 1, MAX-1, MAX} plus seeded-LCG op sequences) rather than real proptest!, because proptest! is synchronous and cannot cleanly drive tokio actors + nested spawn/Barrier concurrency. This covers the named boundaries but NOT the full input space, and gives no shrinking.
Scope
Evaluate options to widen the async laws' input space: proptest's async support / a custom proptest runtime bridge (block_in_place + a current-thread runtime) / randomized-schedule fuzzing.
Apply to the async/global laws: mailbox MPSC ordering, registry same-name election, supervision intensity window, links notify fan-out, request_* timeout predicates.
Gap surfaced by #77. The
@property/@modellaws over async / actor / process-global state in #77 use DETERMINISTIC boundary-SWEEPS (the# GEN:-named values{0, 1, MAX-1, MAX}plus seeded-LCG op sequences) rather than realproptest!, becauseproptest!is synchronous and cannot cleanly drivetokioactors + nestedspawn/Barrierconcurrency. This covers the named boundaries but NOT the full input space, and gives no shrinking.Scope
block_in_place+ a current-thread runtime) / randomized-schedule fuzzing.mailboxMPSC ordering,registrysame-name election,supervisionintensity window,linksnotify fan-out,request_*timeout predicates.proptest!bridge is genuinely infeasible (documented in test(core): wire core feature scenarios to the SUT #77's runners), broaden the deterministic sweep instead and state the trade-off explicitly.Done when the async laws either run under real randomized input generation or carry a documented, widened deterministic sweep.