Skip to content

ci(api): the committed openapi.generated.ts has drifted ~1,000 lines from docs/openapi.yaml, and nothing checks it #814

Description

@alex-dembele

Problem

A frontend developer, or a client built from our types, reads frontend/src/types/openapi.generated.ts as the contract of the API. On 2026-09-25 that file no longer matches docs/openapi.yaml: npm run generate:api-types changes it by +950 / −39 lines. Nothing in CI regenerates it or compares it, so the drift only grows, and type-check stays green on types that are out of date.

Reproduction:

cd frontend && npm ci
npm run generate:api-types
git diff --stat -- src/types/openapi.generated.ts
# 1 file changed, 950 insertions(+), 39 deletions(-)

Related: #630 (ten activation routes missing from openapi.yaml) and #602 (verified as resolved; this drift was found while checking it).

Acceptance criteria

  1. The generated file is regenerated and committed. npm run type-check and npm run lint:ceiling stay green, and any type error the regeneration surfaces is fixed in the same PR.
  2. A blocking CI step runs generate:api-types and fails if git diff --exit-code -- frontend/src/types/openapi.generated.ts is not empty.
  3. CONTRIBUTING.md says in one line that editing openapi.yaml means regenerating the types.

Definition of Done

A PR that changes docs/openapi.yaml without regenerating the types is red in CI. The CI output of a deliberately failing test is pasted here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions