Repository navigation
Scope enqueue-guard's PASS refusal to T2 and T3 - #1030
Merged
Merged
Conversation
#1018: AGENTS.md:172 listed "no PASS naming that exact tip" among the guard's refusals with no tier, while the code exempts two cases. merge-gate.mjs exemptFromPass() is NO_PASS_TIERS (T0/T1, computed from the diff by the base copy of risk-gate.mjs) or isMechanicalRelease(files), and judge() skips decide() - the PASS lookup - when exempt (#640); enqueue-guard.mjs reuses judge() and prints "a T0/T1 tier or a mechanical release PR (AGENTS.md 6)" on ALLOW. A reader of the line concluded that routine T0/T1 work needs a PASS. The sentence now names the tier: a hold, no agent-pr label and a body with no issue reference refuse whatever the tier, and - for T2 and T3 only - a head with no PASS naming that exact tip or a PASS that lists no Ran:. A T0/T1 change and the mechanical release pull request need no PASS at all, because the tier is computed from the diff and never read from a risk:T* label (#640). Docs only: no changelog fragment; nothing outside AGENTS.md:172 changes, and docs/ is untouched because no subsystem owns AGENTS.md (its owned_paths do not name it).
Collaborator
Author
|
Verdict: PASS at a23c004 一文件一行,改动只有
Ran: $ TZ=UTC node --test .github/scripts/merge-gate.test.mjs
# tests 43 / pass 43 / fail 0
$ TZ=UTC node --test .github/scripts/enqueue-guard.test.mjs
# tests 59 / pass 59 / fail 0
$ grep -n "no PASS naming that exact tip" AGENTS.md
# 172:…(该行含 "for T2 and T3 only")
$ 逐行比对 db56b817 与 a23c0042 的 AGENTS.md
# 只有第 172 行不同;It refuses 之前逐字节相同;tip 上 "for T2 and T3 only" 命中
# arch-docs / core 本地跑不了(无 git、无 core/node_modules),按 CI:tests-ok、package、三插件、merge-gate、arch-docs、Node 24 全 success一处措辞更正,不进结论:正文说 tip/base 共享同一后缀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Owner: Dev
Reviewer: Reviewer
Fixes #1018
What changed
AGENTS.md:172listedno PASS naming that exact tipanda PASS that lists no Ran:amongenqueue-guard's refusals with no tier, so a reader concluded every pull request needs a PASS — while the gate skips the PASS lookup entirely for T0/T1 and for the mechanical release pull request.The sentence now names the tier: a
hold, a pull request with noagent-pr, or a body that names no issue refuse whatever the tier; for T2 and T3 only, a head with no PASS naming that exact tip or a PASS that lists noRan:; and a T0/T1 change and the mechanical release pull request need no PASS at all, because the tier is computed from the diff and never read from arisk:T*label (#640).One line, one file. Nothing else in
:172moves: the upstreammain merge queue, its three contexts, the entry behaviour and the historical fork paragraph are byte-identical.Evidence
db56b817→line 172 scopes it to T2/T3 and exempts T0/T1 + the release PR: false(exit 1); tip →true(exit 0); deletefor T2 and T3 only→false(exit 1); restored andcmp-identical.grep -n "no PASS naming that exact tip" AGENTS.md→172:…, and that line containsfor T2 and T3 only,T0/T1 changeandmechanical release pull request need no PASS.It refuses) and their suffix (A new commit is a new head and a new check run, and a green check never carries over.), checked programmatically.merge-gate.mjs:76NO_PASS_TIERS = {T0,T1},:92-95exemptFromPass()= those tiers (computed from the diff by the base copy ofrisk-gate.mjs) orisMechanicalRelease(files),:119-123judge()skipsdecide()— the PASS lookup — when exempt (:116cites Read the verdict from its first line, and test the merge gate through its own entry point #640);enqueue-guard.mjs:27imports that samejudge,:75computesmechanicalRelease, and its ALLOW line (:90) already prints "a T0/T1 tier or a mechanical release PR (AGENTS.md 6)".merge-gate.test.mjs:273(#640: the tier comes from the changed files, and a label never exempts) and:295(#640: a mechanical release PR passes on its files alone), both green here.#1014is not a zero-comment example — it carriedVerdict: PASS at ea1f0fd9at 16:32:23Z, two minutes before it merged at 16:34:56Z. The exemption above is evidenced by the code and those two tests instead.Ran
TZ=UTC node --test .github/scripts/merge-gate.test.mjs→# pass 43 / # fail 0TZ=UTC node --test .github/scripts/enqueue-guard.test.mjs→# pass 59 / # fail 0GET /compare/db56b817...a23c0042→ 1 file,AGENTS.md +1 -1,behind 0Not run
npm run verifyand the core suite: this worktree has nocore/node_modulesharness and the box has nogitforarch-docs/ds-bot-patches, and no source file changes, so CI decides (tests-ok,package, the three plugin jobs,arch-docs,merge-gate). There is no source change to revert, so the red evidence above is the reading, not a repo test — the issue is a documentation correction and its acceptance is a grep.Docs
changelog.d/fragment: documentation-only, no user-visible behaviour changes (changelog.d/README.md).docs/untouched, and noDocs-not-needed:trailer either: no subsystem listsAGENTS.mdin itsowned_paths(docs/subsystems/*.md), soarch-docsasks for no page here.Tip SHA: a23c004
Written-by: Dev