GitHub issue-comment metadata causes false PR-target ambiguity in automatic approval
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 76/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- json, rust
調査の方向性
codex-rs/core/assets/consequential_tool_message_templates.json を読み、公開されているツールのコントラクトと add_comment_to_issue のエントリを比較します。pr_number フィールドを維持したまま、ターゲットのラベルと承認の質問が Issue または Pull Request を指すように更新し、Production Connector を通じて両方のターゲット種別を検証して、返された正規 URL を確認します。公開テンプレートの変更だけでは、自動承認の判断が修正されたことは証明できません。
索引モデルが issue の本文から書いたものです。
説明
Summary
The managed GitHub tool github_add_comment_to_issue advertises a PR-only target, although its name, body description and observed behavior include ordinary issues. Automatic approval can therefore approve one ordinary-issue comment and reject a later comment to the same verified issue as an unauthorized target ambiguity.
This report is sanitized. Repository names, issuer names, private report content, account identifiers, credentials and complete conversation logs are excluded.
Exposed tool metadata
Description: "Create a top-level PR Conversation comment (Issue comment)."
Parameters:
- repo_full_name: string
- pr_number: number; description "Pull request number in the repository."
- comment: string; description "Top-level comment body to add to the issue thread."
Reproduction from October 17, 2026 UTC
- Fetch an ordinary issue from a private repository; confirm the issue number and canonical /issues/ URL.
- Add a claim comment with github_add_comment_to_issue using that repository and number in pr_number. It succeeds.
- Later submit a handoff comment through the same tool to the same ordinary issue.
- Automatic approval rejects the request with this rationale, identifiers sanitized:
"This externally visible comment is intended for issue #17, but the tool argument is explicitly pr_number: 17 and the target type is ambiguous, creating a material risk of posting to the wrong PR or failing; the user has not authorized that exact target ambiguity."
Expected behavior
The tool contract and approval presentation should state that the target can be either an issue or a pull request. Once the repository and numbered issue are verified, the misleading legacy argument name should not create a second, fictitious target.
Primary evidence
GitHub documents that issue comments and PR conversation comments share the Issues endpoints:
https://docs.github.com/en/rest/issues/comments#create-an-issue-comment
OpenAI Codex source at ce0323f2f2d3b25e82806cd555237da3db4e1897 also labels this managed GitHub tool's target "Pull request" and asks to comment "on a pull request":
https://github.com/openai/codex/blob/ce0323f2f2d3b25e82806cd555237da3db4e1897/codex-rs/core/assets/consequential_tool_message_templates.json
Relevant entry: tool_title add_comment_to_issue; connector_id connector_76869538009648d5b282a4bb21c3d157; source_tool_index 0.
Smallest correction
- Managed connector description: "Create a top-level conversation comment on a GitHub issue or pull request."
- Keep the existing pr_number wire field for compatibility; describe it as the issue or pull-request number, documenting its legacy name.
- Update the bundled approval label and question to "Issue or pull request" / "an issue or pull request".
- Verify ordinary-issue and PR conversation comments through the same production connector, checking the returned canonical target URL. Preserve normal approval checks.
The accompanying patch changes only the public Codex approval presentation. It does not modify the managed connector schema, and applying it alone must not be claimed to resolve automatic-review decisions.
Separate incident
A branch-create attempt returned "Automatic approval review failed: authorization changed before approval could be applied". Public Codex source maps that message to StaleAuthorization when authorization or review-context revisions change during review. The branch and PR subsequently succeeded. This is distinct from the comment metadata problem; the original internal attempt count and precise changing evidence were not retained, so no specific race is claimed proven.
Source:
https://github.com/openai/codex/blob/ce0323f2f2d3b25e82806cd555237da3db4e1897/codex-rs/core/src/guardian/review_request.rs
https://github.com/openai/codex/blob/ce0323f2f2d3b25e82806cd555237da3db4e1897/codex-rs/ext/guardian-reviewer/src/retry.rs
Public Codex approval-template patch
diff --git a/codex-rs/core/assets/consequential_tool_message_templates.json b/codex-rs/core/assets/consequential_tool_message_templates.json
--- a/codex-rs/core/assets/consequential_tool_message_templates.json
+++ b/codex-rs/core/assets/consequential_tool_message_templates.json
@@ -9,7 +9,7 @@
"template_params": [
{
"name": "pr_number",
- "label": "Pull request"
+ "label": "Issue or pull request"
},
{
"name": "repo_full_name",
@@ -20,7 +20,7 @@
"label": "Comment"
}
],
- "template": "Allow {connector_name} to add a comment to a pull request?"
+ "template": "Allow {connector_name} to add a comment to an issue or pull request?"
},
{
"source_tool_index": 1,
- 主要言語
- Rust
- スター
- 133k
- フォーク
- 21.1k
- 平均マージ
- 1分
- マージ済み PR(30日)
- 997
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
openai/codex のほかの issue
-
bug CLI enhancement TUI
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
メンテナーはふだん 1 日以内に返信
-
bug memory windows-os
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
Skill Creator quick validator rejects standard compatibility frontmatter対応中かも @akhil9tiet が 4 日前に担当しました。 オープンbug skills
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
openai/codex#58538 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
app bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信
-
`nsh-core` fails to compile when taffy's default `calc` feature is enabled elsewhere in the graphオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
longbridge/nsh#966 ·
メンテナーはふだん 1 日以内に返信
-
Windows docs: pin a tested ConPTY version for Kitty graphics; 1.25.260930003 corrupts large uploadsオープン
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
raphamorim/rio#2021 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
hydro-project/infinity#187 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
near/near-sdk-rs#1676 ·
メンテナーはふだん 2 日以内に返信