feat: add read-only Actions queue health evidence - #1150
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📝 WalkthroughWalkthrough시간별 GitHub Actions 큐 상태 수집 기능을 추가했습니다. 허용 저장소의 실행과 작업을 읽기 전용으로 조회하고, 실행 상태와 queue-age SLO를 분류합니다. 결과를 JSON·HTML 아티팩트로 저장하며, 워크플로 계약과 처리 경로를 테스트합니다. ChangesActions Queue Health
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: 🟡 Moderate · up to The new scheduled read-only queue-health collector can remain stuck on an unresponsive GitHub API call and occupy the workflow for up to its platform limit, delaying later runs; bounded API and job timeouts should be added before merge, with several smaller validation and robustness follow-ups remaining. Sequence Diagram(s)sequenceDiagram
participant Scheduler as GitHub Actions scheduler
participant Workflow as actions-queue-health.yml
participant Script as actions_queue_health.py
participant GitHub as GitHub API
participant Artifact as Actions artifacts
Scheduler->>Workflow: 매시간 collect 작업 실행
Workflow->>Script: allowlist와 토큰으로 수집 시작
Script->>GitHub: 저장소·PR·실행·작업 읽기 요청
GitHub-->>Script: 큐 및 runner 상태 반환
Script-->>Workflow: JSON·HTML 보고서 생성
Workflow->>Artifact: 실행별 보고서 업로드
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Current-main successor for #1142: head |
|
Current-head review request for PR #1150:
Please provide a fresh independent review for this exact head. Protected current-head checks and qualifying approval remain required before merge. |
|
Current-head verification for |
|
@opencode-agent Review exact current head |
c3697b6 to
f92f08e
Compare
|
@opencode-agent Review exact current head f92f08e against main@2cce96f8. Rebased the read-only Actions queue-health evidence onto current main; allowlisted repositories, bounded pagination/identity retries, named read credentials, and no write/dispatch/merge permissions are preserved. Verified: 76 queue-health/commercial-readiness tests, actionlint, compileall, interrogate, ruff, and git diff --check passed. |
|
Exact-head ecosystem review requested. Verify the current source and checks only; preserve protected gates and read-only credential boundaries. @opencode-agent review |
|
@opencode-agent Review the current exact head of the read-only Actions queue-health successor. Verify complete bounded pagination, exact pull-request/head identity, transient incomplete-response retry, runner-assignment and queue-age classification, deterministic JSON/accessible HTML, and the absence of cancellation, dispatch, branch, merge, or credential-expansion authority. Reacquire exact-head quality, security, CodeQL, SAST, dependency/SBOM, and formal review evidence. Do not alter the branch. |
|
Current exact head The read-only queue-health collector bounds Actions workflow-run responses to 50 records per page, rejects path-traversal repository segments, retries one transient incomplete PR identity response after a bounded delay, records repository-scoped collection failures as explicit incomplete evidence, rejects duplicate repositories, applies a 30-second API subprocess timeout, and has a 30-minute workflow ceiling. It never cancels runs, changes branches, dispatches workflows, or mutates merge state. Systematic RED → GREEN:
Exact-head hosted evidence:
The eight security/SBOM/CodeQL runs and a qualifying exact-head formal Reviews API verdict remain non-passing prerequisites. |
|
Exact current head evidence for
Please review and evaluate Checks against this exact SHA only. No self-approval or predecessor-head evidence transfer. |
|
Final exact current head is now |
|
Correction to my immediately preceding comment: the exact final HEAD is |
|
@opencode-agent Please perform the independent review on exact current head |
|
Fresh zero-job CodeQL consumer canary: |
|
Fresh fast-mlsirm canaries after non-force branch movement — 2026-09-03 The shared runner/control-plane symptom reproduces on two new exact heads, before any repository checkout/source step:
These are fresh exact-head reproductions, not predecessor evidence. RED: new clean candidate heads still fail to acquire/start required hosted work and CodeQL PR can terminate before job creation. GREEN acceptance remains actual job creation + runner assignment + checkout on the unchanged exact head, followed by terminal required checks; leaf no-op commits, selector churn, or gate weakening are not acceptable substitutes. |
|
Fresh OriginWeave zero-job startup-failure canary after a source-moving canonical-baseline update: |
|
Fresh OriginWeave control-plane reproduction after a legitimate protected-main restack, 2026-09-03 KST:
This single dependency-ordered stack therefore reproduces both owner incident classes after meaningful, non-no-op head movement: (a) required workflow |
추가 독립 canary — 2026-09-03
관측값:
따라서 이 canary는 source test failure가 아니라 이 사례를 #1150의 분모와 보고서에 포함해 주십시오. Queue-health collector는 0-job startup failure와 |
2026-09-03 분류 보강 — stale workflow source와 0-job startup을 분리추가 증거:
보고서와 collector에서 최소 다음 분류를 서로 배타적으로 유지해 주십시오. 동일 PR/head라는 이유만으로 |
|
Fresh Orgmetra canary evidence for the canonical queue-health lane: repository-owned runner-selector PR |
|
Fresh quarantine consumer requirement for the queue-health owner lane. This is a concrete coverage gap in the canonical read-only health artifact: #712 has manual quarantine evidence, but #1150 cannot currently collect/classify it because the repository is outside its bounded allowlist. Please repair this in the |
|
|
Fresh downstream owner-path evidence for the existing pre-checkout/cancellation incident class:
Treat this as control-plane evidence, not an html4tree source failure and not permission for a no-op leaf retrigger. RED is the unchanged exact head losing every applicable hosted lane to cancellation before admissible terminal evidence exists. GREEN is the same unchanged consumer head receiving real workflow materialization/runner assignment/exact checkout and terminal conclusions while the queue-health collector keeps cancellation distinct from source/test failure. Preserve fail-closed classification; do not synthesize PASS, reuse predecessor evidence, weaken required checks, or require a source-neutral leaf commit merely to obtain another run. |
|
The Generated by Claude Code |
|
|
Fresh queue-health canary from ConceptWeave bootstrap: central native CodeQL dispatch run |
|
Fresh read-only leaf evidence for the queue-health owner path:
This reproduces the owner lane's pre-checkout admission class on a fresh writable-leaf descendant without no-op retrigger or runner-selector churn. GREEN remains unchanged-head runner assignment + checkout identity + terminal required conclusions. Also note a canonical-evidence drift in #1150 itself for the dedicated writer to repair: live PR metadata now reports base |
Preserve the complete queue-health RED/GREEN lineage while integrating current protected main with a two-parent, non-force reconciliation. The post-merge tree uses current main as the base and overlays only the 13 queue-health owner files; the compared path sets do not overlap.
Current-main successor for #1142. This is the canonical read-only Actions queue-health owner lane; it does not cancel/rerun observed workflows, mutate leaf branches, synthesize success, weaken required checks, or merge repositories under observation.
Current protected-base reconciliation — 2026-09-03
Protected
.github/mainis exact8c085835fbf77de2321b72fa6b8dd946227e523e. The queue-health lane was reconciled non-destructively onto that protected tip rather than transferring predecessor evidence.Current exact head is
bbacf9e81ae954eb8365fbfe1856d8698a768a4a. It has queue-health predecessor7d80a06c3a48f6411a17aa41e48b1f7064c5e36aand protectedmain@8c085835fbf77de2321b72fa6b8dd946227e523eas parents. The writer ref advanced withforce=false; the effective queue-health implementation/config/docs/tests remain preserved and the branch is no longer behind protected main. No destructive rebase or source-copy workaround was used.Every predecessor-head check/review is historical after this movement.
Fresh exact-head control-plane evidence
Exact
bbacf9e8...runs for Noema token-lifetime, Secret Scan, Semgrep, CodeQL PR, Python Security, Scorecard, Security Scan, SBOM and OSV have materialized but remain non-passing. Security Scan run33655230050exposes four exact-headubuntu-24.04jobs (dependency-review,trivy-fs,osv-scan,scorecard) withsteps: [],runner_id=0and no runner identity: this is the pre-checkout acquisition class.A fresh leaf canary independently reproduces both classes after the central reconciliation.
fast-mlsirm#1519@0939b77608ec55d0d765da59c3e7d1926b98d365has required CodeQL PR run33655884568terminatingstartup_failurewith zero jobs, while Security Scan33655882631materializes four exact-headubuntu-24.04jobs with no runner identity or steps. Existingfast-mlsirm#1729@7faa16037a3e8697e640bfbac780709ee5297d1fshows the same distinction. Exact evidence is also recorded on owner issue #712.Owner-side incident contract
Independent ContextualWisdomLab repositories reproduce distinct organization Actions admission states before source execution:
startup_failurewith zero jobs;runner_id=0, no runner name and no steps;The collector keeps those states distinct and fail closed. Ordinary head-bound evidence uses bounded supported workflow-run queries and local classification.
pull_request_targetcancellation candidates are accepted only after linked current-open-PR number/head identity is proven. PR identity is re-read after terminal/job evidence; transient incomplete reads receive the bounded retry added by RED5031e0bcb498add8d5833e7ebc0f8400a1835e4f/ GREEN predecessor36639d090fd24c894e06fe39d01bac2dcfa0c4a4, while persistent incompleteness or identity drift remains a hard evidence failure.ContextualWisdomLab/fast-mlsirmremains in the explicit bounded read-only repository allowlist. Leaf repositories must not answer this incident with no-op commits, runner-selector churn, gate weakening, or predecessor-success promotion.RED / GREEN closure criterion
RED is either (a) an exact-current required workflow terminating
startup_failurebefore any job exists, or (b) an exact-current materialized required job with no runner assignment, checkout SHA, or steps. GREEN requires the unchanged exact owner/leaf heads to obtain actual runner assignment, checkout identity, and terminal required workflow conclusions under the current ruleset, while queue-health classification continues to distinguish the pre-job and pre-checkout cases fail closed.Landing boundary
Merge only on this unchanged exact head when every applicable live protected check is terminal success, all valid review threads/findings are resolved, and the live review policy is satisfied. Queued, pending, cancelled,
startup_failureand predecessor results are incomplete evidence. No self-approval, bypass, force update or administrative success synthesis is authorized.2026-09-07 evidence-integrity repair
Exact repair head
7c4e42daa275e71c908605ad77790b01cad12bferepairs three fail-closed evidence defects without weakening any leaf gate:Remote RED commits:
c5d59c12e9f2b3424acadd055e8f21b71fcacd0b,dcb857ace02f7f82ed2b48369d6535428b31e358,de676cb38b6d3da68a0af660e631a29188ed7675. Remote GREEN commits:e01e03399be44329b8f366db46998a0562ec2a5a,889b095c590e224e9b0e7187b1ed8428740bdf76,7c4e42daa275e71c908605ad77790b01cad12bfe.Current exact head
a0b05c087ece89c989c2a2ede065f7f85dcaf4b4is a non-force two-parent reconciliation of the complete repair head and protectedmain@c9052e607e5f3cc76e73207e7786b21500721b79; the compared path sets do not overlap. Reconciled-tree verification: 72 queue-health tests passed; full repository suite 3,047 passed, 1 skipped, 21 subtests passed; touched production modules report 100% docstring coverage; compile and diff checks passed. Fresh GitHub exact-head checks and qualifying independent review remain mandatory before ordinary merge.