Skip to content

[ci] production-ready 패키지 검증 게이트를 분리한다 #938

Description

@kang-heewon

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:

  1. Add a script such as pnpm production-ready:check or extend the existing package quality/docs checker with a dedicated production-ready mode.
  2. Read the production package list from docs/package-catalog.json.
  3. 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.
  4. Emit a markdown report, for example ci-reports/package-quality/production-ready.md, listing pass/fail evidence per package.
  5. Wire the check into .github/workflows/ci.yml as a blocking step and append the report to the GitHub Actions job summary.
  6. 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.

Metadata

Metadata

Assignees

Labels

P1Priority 1 issuebuild-timeBuild-time validation, linting, and generated checksciContinuous integration checks and repository quality gatesdeveloper-experienceDeveloper ergonomics and local workflow improvementsenhancementNew feature or requesttestingTesting utilities, harnesses, and verification workflows

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions