You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
maintainer-resolve-comment.sh @-mentions the bot it is clearing, so Codex posts a new blocking comment every time #2255
scripts/maintainer-resolve-comment.sh clears a registered bot's status comment (Codex usage notice, SonarCloud clean status, and so on) by posting a reply and then minimizing the original. The reply begins Maintainer disposition of @<bot>'s status comment by @<maintainer>: (line 223). That @<bot> is a live mention.
Codex answers every mention. So clearing a Codex usage-limit notice makes Codex post a new comment a few seconds later, and the PR is blocked by the new comment instead of the old one. The tool cannot win against Codex.
The reply the tool posts does not mention the bot or the maintainer. Name them without the @ (for example in backticks), keeping the maintainer-resolve marker unchanged.
A bats test asserts the reply body contains no @<login> for either account.
Codex's "To use Codex here, create an environment for this repo" notice is added to its info_status_pattern in scripts/lib/reviewer-sources.tsv, with a test, so an existing one can be cleared.
Issue:#2255 — maintainer-resolve-comment.sh @-mentions the bot it is clearing, so Codex posts a new blocking comment every time
Scope
Stop the maintainer-resolve reply from @-mentioning the bot or the maintainer, and register Codex's "create an environment" notice as an info-status body so it can be cleared.
Implementation Checklist
scripts/maintainer-resolve-comment.sh — mrc_build_reply_body names the bot and the maintainer in backticks instead of @login; the maintainer-resolve marker stays the same
scripts/lib/reviewer-sources.tsv — add To use Codex here, [create an environment for this repo](…). to the chatgpt-codex-connectorinfo_status_pattern, anchored at both ends like the existing usage-limit forms
Tests to Write
tests/dev-lead/unit/test_maintainer_resolve_comment.bats — the reply body contains no @<bot> and no @<maintainer>, still has the marker unchanged, and still names both accounts
Dev-Lead: Progress (in progress — not yet durable)
Provisional. Nothing is pushed yet; the automation posts the authoritative
completion record (with PR number + head SHA) after the push. Treat the notes
below as intent, not delivered results.
Plan Execution (intended)
Tests written first; both new tests failed locally before the fix, as expected.
mrc_build_reply_body now names the bot and the maintainer in backticks instead of @login. The maintainer-resolve marker line is unchanged.
tests/dev-lead/unit/test_maintainer_resolve_comment.bats: the reply contains neither @<bot> nor @<maintainer>, still names both, and keeps the marker
tests/test_reviewer_sources.bats: the environment notice clears; a quoted copy and a notice followed by a finding do not
Notes
test_engine_fallback.bats and test_engine_gemini_35.bats fail locally both with and without this change, so those failures already existed here and are not caused by it.
The implementation for issue #2255 is durable: commits are pushed and a pull request is open. This record is backed by verifiable artifacts you can confirm in one click.
Review happens on the PR. Acceptance criteria and test results are evidenced by the PR's diff and CI checks — not asserted here. If a later stage fails, this claim is retracted in place.
Activity
don-petry commentedon Oct 11, 2026
Dev-Lead Implementation Plan
Issue: #2255 — maintainer-resolve-comment.sh @-mentions the bot it is clearing, so Codex posts a new blocking comment every time
Scope
Stop the maintainer-resolve reply from @-mentioning the bot or the maintainer, and register Codex's "create an environment" notice as an info-status body so it can be cleared.
Implementation Checklist
scripts/maintainer-resolve-comment.sh—mrc_build_reply_bodynames the bot and the maintainer in backticks instead of@login; themaintainer-resolvemarker stays the samescripts/lib/reviewer-sources.tsv— addTo use Codex here, [create an environment for this repo](…).to thechatgpt-codex-connectorinfo_status_pattern, anchored at both ends like the existing usage-limit formsTests to Write
tests/dev-lead/unit/test_maintainer_resolve_comment.bats— the reply body contains no@<bot>and no@<maintainer>, still has the marker unchanged, and still names both accountstests/test_reviewer_sources.bats— the real environment notice from PR feat: implement issue #2079 — dev-lead: resolve a bot review thread on a maintainer "no change needed" disposition (rebuild of #1799 on #2049's resolver) #2084 matches Codex's pattern; quoted or finding-followed variants do notTest Command
bats tests/dev-lead/unit/test_maintainer_resolve_comment.bats tests/test_reviewer_sources.bats(plus the fullbatssuite)don-petry commentedon Oct 11, 2026
Dev-Lead: Progress (in progress — not yet durable)
Plan Execution (intended)
mrc_build_reply_bodynow names the bot and the maintainer in backticks instead of@login. Themaintainer-resolvemarker line is unchanged.info_status_patternnow also acceptsTo use Codex here, [create an environment for this repo](…)., with the link or without it. It is still anchored at both ends. The text was copied from the real comment on PR feat: implement issue #2079 — dev-lead: resolve a bot review thread on a maintainer "no change needed" disposition (rebuild of #1799 on #2049's resolver) #2084.Files touched (this workspace, not yet pushed)
scripts/maintainer-resolve-comment.sh: reply body with no @-mentionsscripts/lib/reviewer-sources.tsv: Codex pattern extended to the environment notice; the rationale column now cites maintainer-resolve-comment.sh @-mentions the bot it is clearing, so Codex posts a new blocking comment every time #2255tests/dev-lead/unit/test_maintainer_resolve_comment.bats: the reply contains neither@<bot>nor@<maintainer>, still names both, and keeps the markertests/test_reviewer_sources.bats: the environment notice clears; a quoted copy and a notice followed by a finding do notNotes
test_engine_fallback.batsandtest_engine_gemini_35.batsfail locally both with and without this change, so those failures already existed here and are not caused by it.don-petry commentedon Oct 11, 2026
Dev-Lead: Implementation Complete — PR #2265
The implementation for issue #2255 is durable: commits are pushed and a pull request is open. This record is backed by verifiable artifacts you can confirm in one click.
3b539dbe2754120d99c46beb438daea0ba749880main: 4 file(s), +34/-3 linesReview happens on the PR. Acceptance criteria and test results are evidenced by the PR's diff and CI checks — not asserted here. If a later stage fails, this claim is retracted in place.