What the run actually resolved to, after package.json, the defaults and the options were
merged — the answers a caller cannot otherwise recover from what it passed in.
port is the sharp one: it auto-increments past a busy port, so the value bound is routinely
not the value requested.
const resolved: ResolvedRun = { browser: 'chromium', projectRoot: '/proj', output: '/proj/tmp', port: 1235, extensions: ['js', 'ts'], coverageFormats: [], }; resolved.port; // 1235 — 1234 was taken