Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

pr-merge: enable-auto-merge drops the verdict reader's babysit-listing-miss stderr

オープン 初心者向け
#10,887 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
70/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
github-actions, javascript, python
領域
ci-cd, devtools

調査の方向性

.github/scripts/pr-merge/enable-auto-merge.mjs の pythonVerify と ghCallsLine(done.stderr) の呼び出しの周辺を読み、その後 enable-auto-merge.test.mjs の対応するケースを確認してください。拒否の判定で stderr がどのように処理されるかを追い、該当する reader 行の転送をカバーするテストを追加してください。拒否時に一覧が見つからないことを示す行がジョブログに表示され、テストがその動作をカバーすれば完了です。

索引モデルが issue の本文から書いたものです。

説明

admission-deferred priority: medium status: ready work-class: scoped

Problem

enable-auto-merge runs babysit_verify_evidence.py once per candidate and keeps only one line of its stderr, the babysit-gh-calls line. The reader prints a babysit-listing-miss {...} line on stderr for every incremental read that misses GitHub's live artifact count (Reader._incremental, LISTING_MISS_PREFIX). Those lines never reach the job log. When a candidate falls back to the full repository listing, the log cannot show why.

Where the line is dropped

.github/scripts/pr-merge/enable-auto-merge.mjs at 82432cf, in pythonVerify:

  • L1007: spawn("python3", ...) with encoding: "utf8" captures the reader's stderr into done.stderr.
  • L1022-L1025: ghCallsLine(done.stderr) prints only the babysit-gh-calls line. Every other stderr line is discarded.
  • A refusal such as verify:unreadable exits 0, so the error branch, which would print the last stderr line, does not run either.

Evidence

In enable-auto-merge run 40817220695, candidate #10867 logged:

enable-auto-merge: #10867 calls=128 github-token=124 paginated=0 ms=107111 cached=0
babysit-gh-calls {"calls":{..."override GET repos/{}/{}/actions/artifacts":7,"override GET {}/{}/actions/artifacts":117},...}
enable-auto-merge: #10867 left: pr-merge's gate refuses its verifier verdict (verify:unreadable)

That is 7 incremental page calls, then 117 full-listing pages over 107 s, ending in a refusal. No babysit-listing-miss line appears anywhere in the job log. Three possible causes remain open: the incremental reads missed the live count, a page failed, or the base was rejected.

Fix

Print each babysit-listing-miss line from done.stderr beside the babysit-gh-calls line. Better: print every stderr line except the gh-calls line when the reader's verdict is a refusal. enable-auto-merge.test.mjs would need a case for it. Note that #10743 also edits that test file.

Refs: #10880

主要言語
Shell
スター
22
フォーク
2
平均マージ
3時間 38分
マージ済み PR(30日)
959

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

melodic-software/claude-code-plugins のほかの issue

melodic-software/claude-code-plugins の issue をすべて見る

似ている issue

Shell/Bash の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。