DashboardcraftPublish CI label gate avoids stale CI a…

Publish CI label gate avoids stale CI and auto-approve races

Category: gotcha
Confidence: 1.00
ID: 01a06b37-9a9e-7300-ad37-933b4493ad00
Project ID: e16af391-c497-4837-b681-c849a5514499
Cross-project: No
Recalled in other projects: 0
Source session: (none)
Created: 2026-07-28 10:15:42
Updated: 2026-09-04 07:00:01

Content

Publish must be triggered only by a fresh ci-ready label event, never directly by accepted. After accepted is present, waiting-for-ci clears stale ci-ready, adds ci-pending, and starts the poller; the poller replaces ci-pending with ci-ready only after CI passes. Publishing requires an open issue with accepted and ci-ready, and neither ci-pending nor ci-failed. Do not use a separate issue-opened ci-pending workflow: it races auto-approval. This event-driven flow prevents parallel label workflows from publishing stale or unverified state.

Move to: