← Documentation home

Canonical Markdown source · Oct 20, 2018

Launch Review Packet

ops/launch-review.md · 127 lines · SHA-256 1d414c314ee3

`pnpm launch:review` builds a machine-readable launch packet from the latest artifacts. It does not rerun heavy gates; it verifies that the evidence already collected is fresh, internally consistent, and safe to use for a launch decision.

Commands

Staging / controlled beta review:


pnpm launch:review

Controlled beta go/no-go summary:


pnpm launch:beta:readiness

Fail-fast staging check:


pnpm launch:review:check

Production launch review:


pnpm launch:review:production

Refresh evidence and review in one ordered run:


pnpm launch:evidence -- --base-url=https://<deploy-host> --iiif-tile-url=https://<iiif-tile>
pnpm launch:evidence:production -- --base-url=https://<shareable-url> --public-read-base-url=https://<shareable-url> --iiif-tile-url=https://<iiif-tile>

The evidence runner starts with `pnpm hardening:pen-dr` so security-audit and

Postgres DR artifacts are fresh before deployment preflight and launch review

read them. It continues after individual failures, writes

`artifacts/launch/launch-evidence-latest.json`, and then runs the launch review

so operators can see every red step in one packet.

Use `--step-timeout-ms=<milliseconds>` for bounded evidence runs that should

record a failed step and still write the launch evidence packet when a nested

command runs too long.

Every failed or skipped step in `launch-evidence-latest.json` includes

`nextEvidenceNeeded` plus a `remediation` object naming the command to rerun and

the artifact that must turn green. Skipped k6 samples are therefore preserved as

operator-visible launch evidence debt instead of being silently treated as a

production-ready SLO proof.

When `--fail-fast` stops after the first failed step, the remaining planned

steps are still written as `skipped` records with their remediation fields so the

packet preserves the full launch-readiness checklist instead of leaving later

checks missing.

Artifacts

  • latest packet: `artifacts/launch/launch-review-latest.json`
  • latest evidence runner packet: `artifacts/launch/launch-evidence-latest.json`
  • latest controlled beta packet: `artifacts/launch/beta-readiness-latest.json`
  • per-run packet: `artifacts/launch/runs/launch-review-<timestamp>.json`
  • per-run evidence runner packet: `artifacts/launch/runs/launch-evidence-<timestamp>.json`
  • per-run controlled beta packet: `artifacts/launch/runs/beta-readiness-<timestamp>.json`

For launch evidence runner packets, inspect the per-step remediation fields when

`status` is `fail` or `skipped`:

blocker.

  • `nextEvidenceNeeded`: the exact proof still required for that launch lane.
  • `remediation.command`: the command an operator should rerun after fixing the
  • `remediation.artifact`: the artifact path that should show the new evidence.

Inputs

The launch packet reads:

  • `artifacts/launch/deployment-preflight-latest.json`
  • `artifacts/exit-gate/era-c-exit-gate-latest.json`
  • `artifacts/security/pnpm-audit-summary.json`
  • `config/security-audit-baseline.json`
  • `artifacts/dr-drill/latest.json`
  • `artifacts/smoke/public-trust/summary.json`
  • crawler preview smoke evidence: `artifacts/launch/crawler-preview-latest.json` from `pnpm smoke:crawler-preview`
  • a11y evidence: `artifacts/launch/a11y-latest.json` from `pnpm a11y:check`
  • explore smoke evidence: `artifacts/launch/explore-smoke-latest.json` from `pnpm smoke:explore:matrix`

The evidence paths can be overridden with:

  • `METAMUSEUM_A11Y_EVIDENCE_PATH`
  • `METAMUSEUM_EXPLORE_SMOKE_EVIDENCE_PATH`

If an operator needs to supply a manual evidence file, use this minimal shape:


{
  "generatedAt": "2026-06-10T00:00:00.000Z",
  "status": "pass",
  "summary": "Operator pasted the passing command output here."
}

Command evidence may use `status: "warn"` for staging-only blockers, such as a missing researcher smoke token. Use `pnpm launch:smoke-token` to generate/update the staging token without printing it, then copy `METAMUSEUM_TEST_ROLE_OVERRIDE_TOKEN` into both the staging server and smoke runner. Production launch review treats warning evidence as not passing.

Production Rules

Production launch review fails when:

  • deployment preflight is missing, stale, wrong-target, warning, or failing
  • Era C exit gate is missing, stale, or failed
  • security audit exceeds the committed baseline
  • DR drill is missing, stale, failing, or lacks verified Postgres restore proof
  • public-trust smoke screenshots are missing or have pixel-diff failures
  • crawler-preview smoke is missing or fails Open Graph, Twitter, canonical URL, or preview image fetchability checks
  • a11y or explore smoke evidence is missing or not passing

Staging review can warn on production-only blockers so controlled beta can proceed only to collect the missing evidence.

Controlled Beta Readiness

`pnpm launch:beta:readiness` reads the latest launch review and deployment preflight artifacts, then classifies the staging decision as:

  • `blocked`: launch-review blockers or deployment-preflight failures remain.
  • `rehearsal-ready`: deployment and hardening are not blocked, but live beta still needs required smoke/deployment evidence.
  • `live-beta-ready`: deployment, hardening, public-trust, crawler-preview, a11y, and explore smoke evidence are green; remaining warnings are accepted controlled-beta evidence collection limits.

Era C 30-day SLO, uptime, activity-adoption, and KPI gaps are accepted warnings only for controlled beta. They remain production blockers.