Found while confirming MOTIR-2690's merge. PR #13's own checks are green — Lint + Prettier, TypeScript, Unit tests, Next.js build, Playwright E2E all pass, and CI on main is green after the merge. The single red X is a different workflow, on a different event, that has been failing since long before this card.
.github/workflows/cleanup-preview-deployments.yml runs on pull_request: closed and hard-exits in its first step:
##[error]Missing required configuration: secrets.VERCEL_TOKEN vars.VERCEL_ORG_ID vars.VERCEL_PROJECT_ID
env:
VERCEL_TOKEN:
VERCEL_ORG_ID:
VERCEL_PROJECT_ID:
None of the three is set on this repo. The step is written to exit 1 when any is missing, so the job dies in ~2 seconds having done nothing.
Same failure on every PR close in the run list:
| run | branch | date |
|---|---|---|
| 31532687190 | subtask/MOTIR-2690-acceptance-continue-on-error (#13) | 2026-08-11 |
| 31533477681 | parent/MOTIR-2664-design-result (#12) | 2026-08-11 |
| 30957886710 | subtask/MOTIR-1958-acceptance-own-workflow | 2026-08-04 |
| 30957754037 | tmp/MOTIR-1958-trigger-probe | 2026-08-04 |
gh api repos/…/deployments returns 0.vercel.json, no .vercel/ — the repo is not linked to a Vercel project.motir-core carries no such workflow; this is starter-only, from MOTIR-24.So it is not failing to do its job. It is failing to do nothing.
The hard exit is deliberate and the reasoning in the file's header is sound: with the Vercel-Neon Marketplace lifecycle, DB preview branches are reaped by deployment deletion, not branch deletion, so a cleanup job that silently no-ops lets branches accumulate until previews start failing with Resource provisioning failed. A silent skip there would be the same fail-open shape MOTIR-2499 and MOTIR-2690 exist to remove.
But that reasoning covers partial configuration — a token set and a project id forgotten — which really is a misconfiguration worth shouting about. It does not cover zero configuration, which just means this repo does not use Vercel previews. Treating "never opted in" the same as "half configured" is what produces a permanently red check.
if:) or an explicit early success is fine; a red X is not..error a hard failure.nextjs-prisma-vercel-starter/.github/workflows/cleanup-preview-deployments.yml — the workflow; the Verify required config is set step is the exit.nextjs-prisma-vercel-starter/.github/workflows/acceptance-video.yml — the MOTIR-1958 precedent for a lane that is absent rather than failing when it does not apply.