lightspeed/ops/quality_harness

Quality parity harness for M10 compatibility and determinism gates.

Types

Full M10 quality report.

pub type Report {
  Report(
    outcomes: List(ScenarioOutcome),
    failed_scenarios: Int,
    nondeterministic_failures: Int,
  )
}

Constructors

  • Report(
      outcomes: List(ScenarioOutcome),
      failed_scenarios: Int,
      nondeterministic_failures: Int,
    )

M10 scenario identifiers.

pub type Scenario {
  MountConformance
  BadFrameFault
  StaleRefFault
  ThrottledClientFault
  ReplayReconnectCrash
}

Constructors

  • MountConformance
  • BadFrameFault
  • StaleRefFault
  • ThrottledClientFault
  • ReplayReconnectCrash

One deterministic scenario outcome.

pub type ScenarioOutcome {
  ScenarioOutcome(
    scenario: Scenario,
    passed: Bool,
    deterministic: Bool,
    signature: String,
  )
}

Constructors

  • ScenarioOutcome(
      scenario: Scenario,
      passed: Bool,
      deterministic: Bool,
      signature: String,
    )

Values

pub fn deterministic(outcome: ScenarioOutcome) -> Bool

Whether scenario result was deterministic across repeated runs.

pub fn failed_scenarios(report: Report) -> Int

Number of failed scenarios.

pub fn nondeterministic_failures(report: Report) -> Int

Number of nondeterministic scenarios.

pub fn outcomes(report: Report) -> List(ScenarioOutcome)

Report outcomes.

pub fn pass_fail_label(outcome: ScenarioOutcome) -> String

Stable pass/fail label.

pub fn report_signature(report: Report) -> String

Stable report summary suitable for CI signatures.

pub fn run_matrix() -> Report

Run all M10 scenarios.

pub fn run_scenario(scenario: Scenario) -> ScenarioOutcome

Run one scenario twice and require stable signature parity.

pub fn scenario(outcome: ScenarioOutcome) -> Scenario

Outcome scenario id.

pub fn scenario_label(scenario: Scenario) -> String

Scenario label.

pub fn signature(outcome: ScenarioOutcome) -> String

Scenario signature.

Search Document