Dashboard › publish › Distillation
35c78463-5f03-42da-a0d5-8ba0dbdc912c["lore_tm_v1_bs-7Tkhr70yC2D8yr4hJQJmUKfyxYqv0TSz2-53XU6g"]
Date: Sep 8, 2026
workflow_dispatch for manual recovery..github/workflows/ci-poller.yml polls up to 200 open issues requiring both ci-pending and accepted labels; it exits successfully when none are found. It uses concurrency group ci-status-poller with cancel-in-progress: false.gh_api_release() helper using RELEASE_TOKEN; API failures—including 404s—emit ::warning::gh api failed: ... and cause the relevant issue to be skipped rather than deriving a state from partial data.[View check runs] URL format https://github.com/{owner}/{repo}/commit/{SHA}/checks/; if unavailable, it skips the issue. It resolves the original commit’s first check-suite .head_branch, then attempts to resolve repos/${repo}/git/ref/heads/${branch}; if branch HEAD differs, it replaces the SHA in the issue body, otherwise it falls back to the original issue SHA..github/workflows/ci-poller.yml: at least one check run or commit status must exist; commit status must be success or there must be zero commit statuses; all check runs must be completed; and no completed check run may conclude other than success, neutral, or skipped.failure, cancelled, timed_out, action_required, stale, and startup_failure as unsuccessful. If all check runs finish with any unsuccessful conclusion, it removes ci-pending and accepted, adds ci-failed, and comments failed check names plus a check-runs URL. If all check runs pass but combined commit status is failure, it likewise adds ci-failed and comments failed/error status contexts with target URLs when present.if: always() cleanup step counts remaining open ci-pending + accepted issues. When the count is 0, the poller app sets CI_POLLER_HAS_PENDING=false; otherwise it sets CI_POLLER_HAS_PENDING=true. The poller variable update is skipped if creation of the CI_POLLER_APP_CLIENT_ID / CI_POLLER_APP_PRIVATE_KEY token fails.ci-poller.yml with incrementing attempt input while pending issues remain, using the internal-app token. It caps self-dispatch at 60 attempts (approximately 30 minutes), with GitHub cron as fallback; comments specify cron */5 can drift to 30–40 minutes under load, while self-dispatch generally rechecks in approximately 30–60 seconds. A new chain can restart upon re-adding accepted or manually invoking workflow_dispatch.