Problem
Production-ready readiness is currently checked only in pieces:
pnpm check runs pnpm docs:catalog:check in CI.
scripts/package-docs-check.mts already fails when a production-ready package is missing generated API docs without a short-lived temporaryProductionApiDocExceptions entry.
- CI also publishes the package quality dashboard from build/typecheck/test and package boundary data.
That is useful, but there is no dedicated production-ready gate that answers: "Every package marked 🟢 production-ready in docs/package-catalog.json has the full evidence expected by the maturity contract."
Scope
Add a blocking production-ready verification path and a CI-visible report.
Suggested implementation:
- Add a script such as
pnpm production-ready:check or extend the existing package quality/docs checker with a dedicated production-ready mode.
- Read the production package list from
docs/package-catalog.json.
- For each production-ready package, assert at minimum:
- package README exists;
- generated API docs exist, unless there is a short-lived justified
temporaryProductionApiDocExceptions entry;
- package test directory exists;
- package participates in build/typecheck/test reporting where applicable;
- publishable packages participate in public API snapshot checking where applicable;
- adapter/presentation/provider packages have maturity evidence linked from the relevant reference docs before production-ready promotion.
- Emit a markdown report, for example
ci-reports/package-quality/production-ready.md, listing pass/fail evidence per package.
- Wire the check into
.github/workflows/ci.yml as a blocking step and append the report to the GitHub Actions job summary.
- Add focused tests for the checker, including:
- missing README fails;
- missing API docs fails unless a temporary exception exists;
- stale temporary exception fails;
- missing tests fail;
- non-production packages are reported separately but do not fail this production-ready gate.
Acceptance criteria
- CI has a clearly named production-ready package verification step.
- The step fails when any package marked production-ready lacks required README/API docs/test evidence.
- The step produces a per-package report in
ci-reports/package-quality and uploads or appends it with the existing package quality dashboard.
- Existing
docs:catalog:check behavior remains intact.
- Tests cover the new production-ready failure modes.
- Documentation explains how to fix failures and when
temporaryProductionApiDocExceptions is allowed.
Verification
pnpm production-ready:check
pnpm check
pnpm test --filter scripts
If the final script name differs, update the verification commands in docs and CI at the same time.
Problem
Production-ready readiness is currently checked only in pieces:
pnpm checkrunspnpm docs:catalog:checkin CI.scripts/package-docs-check.mtsalready fails when a production-ready package is missing generated API docs without a short-livedtemporaryProductionApiDocExceptionsentry.That is useful, but there is no dedicated production-ready gate that answers: "Every package marked 🟢 production-ready in
docs/package-catalog.jsonhas the full evidence expected by the maturity contract."Scope
Add a blocking production-ready verification path and a CI-visible report.
Suggested implementation:
pnpm production-ready:checkor extend the existing package quality/docs checker with a dedicated production-ready mode.docs/package-catalog.json.temporaryProductionApiDocExceptionsentry;ci-reports/package-quality/production-ready.md, listing pass/fail evidence per package..github/workflows/ci.ymlas a blocking step and append the report to the GitHub Actions job summary.Acceptance criteria
ci-reports/package-qualityand uploads or appends it with the existing package quality dashboard.docs:catalog:checkbehavior remains intact.temporaryProductionApiDocExceptionsis allowed.Verification
pnpm production-ready:check pnpm check pnpm test --filter scriptsIf the final script name differs, update the verification commands in docs and CI at the same time.