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,
);