Summary
The Required Gates section in CONTRIBUTING.md documents a manual command sequence contributors are told to run as "the full gate" before requesting review. That list is meant to mirror the combined gate (npm run test:ci), but it is missing three commands that test:ci actually runs and that CI enforces. A contributor who follows CONTRIBUTING.md literally will skip these checks and can hit surprise CI failures even though they ran the documented gate.
Details
The combined gate in package.json runs 14 steps:
git diff --check && npm run actionlint && npm run db:migrations:check && npm run typecheck && npm run test:coverage && npm run test:workers && npm run build:mcp && npm run test:mcp-pack && npm run ui:openapi:check && npm run ui:version-audit && npm run ui:lint && npm run ui:typecheck && npm run ui:test && npm run ui:build
The CONTRIBUTING.md "Required Gates" code block is missing three of these:
| Missing command |
Enforced by (CI job in .github/workflows/ci.yml) |
npm run db:migrations:check |
lint job ("Check migrations" step) |
npm run ui:version-audit |
ui job ("UI/MCP version audit" step) |
npm run ui:test |
ui job ("UI tests" step) |
Because these run in CI but are absent from the documented gate, the docs under-state the real required checks.
Proposed fix
Add the three missing commands to the CONTRIBUTING.md "Required Gates" block, in the same order they appear in test:ci, so the documented gate matches the actually enforced gate.
Scope
Docs-only change to CONTRIBUTING.md. No code or behavior changes.
Summary
The Required Gates section in
CONTRIBUTING.mddocuments a manual command sequence contributors are told to run as "the full gate" before requesting review. That list is meant to mirror the combined gate (npm run test:ci), but it is missing three commands thattest:ciactually runs and that CI enforces. A contributor who followsCONTRIBUTING.mdliterally will skip these checks and can hit surprise CI failures even though they ran the documented gate.Details
The combined gate in
package.jsonruns 14 steps:The
CONTRIBUTING.md"Required Gates" code block is missing three of these:.github/workflows/ci.yml)npm run db:migrations:checklintjob ("Check migrations" step)npm run ui:version-audituijob ("UI/MCP version audit" step)npm run ui:testuijob ("UI tests" step)Because these run in CI but are absent from the documented gate, the docs under-state the real required checks.
Proposed fix
Add the three missing commands to the
CONTRIBUTING.md"Required Gates" block, in the same order they appear intest:ci, so the documented gate matches the actually enforced gate.Scope
Docs-only change to
CONTRIBUTING.md. No code or behavior changes.