summarised method

This outcome as an answer carries it: keep of its steps, and the bulk left in the run.json its package names.

Two things stay behind, and they stay together because they are in the same file — written whole, before anything here is trimmed. The steps beyond keep, and translations, which is every key every catalog was asked for: bounded by the catalog rather than by the run, and on a real suite with one registered it is the largest thing in the answer by a long way. Only the translations plugin reads them, and it asks for every step, so it never comes through here.

What is left says so. An outcome reading stepCount: 27, steps: [] with nothing else to go on reads as a run that captured nothing, and an agent goes looking for a failure that is not there — reported by a consumer who read exactly that. stepsElided is the difference, and it is present whenever there is one.

Implementation

ScenarioRunOutcome summarised(List<ScenarioRunStep> keep) =>
    ScenarioRunOutcome(
      file: file,
      name: name,
      ok: ok,
      skipped: skipped,
      skipReason: skipReason,
      device: device,
      axes: axes,
      ms: ms,
      steps: keep,
      stepCount: stepCount,
      unchangedCount: unchangedCount,
      unsettledCount: unsettledCount,
      guessedCount: guessedCount,
      stillTicking: stillTicking,
      errors: errors,
      stepsElided: stepCount - keep.length,
    );