Skip to content

contract: api-schemas.ts is stale on main — #9813's ignoredCheckRuns was never regenerated #9836

Description

@JSONbored

Problem

npm run contract:api-schemas:check fails on main:

packages/loopover-contract/src/api-schemas.ts is stale. Run `npm run contract:api-schemas` and commit the result.

#9813 (gate.ignoredCheckRuns) added the field to RepositorySettingsSchema in src/ but did not commit the
regenerated contract copy. The missing line is one, directly beside the sibling it mirrors:

ignoredCheckRuns: z.array(z.object({ name: z.string(), appSlug: z.string() })).readonly().nullable().optional(),

This is the fourth piece of #9813 fallout, after the three #9829 fixed (a stale arity assertion, a stale
cache-key expectation, and an unsynced config template).

Why it matters

@loopover/contract is the published package MCP and miner consume, and api-schemas.ts is what an external
client validates PUT /repos/:owner/:repo/settings against. A client built on the published contract silently
strips ignoredCheckRuns — accepted by the server, absent from the schema — so the configuration appears to
save and then does nothing, with no error at either end.

The generator exists precisely to stop the two sides drifting; it only helps if its output is committed.

Fix

Run npm run contract:api-schemas and commit. No hand-editing — the file is generated.

Note

This check does not appear to gate ci.yml (which is why main is green despite the drift). Whether it
should is a separate question worth asking: a contract-drift check that never runs cannot catch the class of
bug it exists for.

Metadata

Metadata

Assignees

Labels

maintainer-onlyOwner-only work — yields no Gittensor points.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions