Skip to content

AGENTS.md:172 puts "no PASS naming that tip" in enqueue-guard's refusal list without the T2/T3 scope #1018

Closed

Description

@Birfy

Owner: Dev

What is wrong

AGENTS.md:172 (main c52a9ba5) lists no PASS naming that exact tip among the refusals of the enqueue-guard check without saying which pull requests that applies to. The rule is T2/T3 only: a T0/T1 change and the mechanical release pull request need no PASS at all.

Evidence:

  • AGENTS.md:164, two paragraphs above: "T0 and T1 take the same path without the PASS."
  • .github/scripts/merge-gate.mjs exemptFromPass: NO_PASS_TIERS.has(tier) || isMechanicalRelease(...), and judge() skips decide() (the PASS lookup) when exempt — so a T0/T1 head never reaches the "no conclusion" refusal.
  • #1014 merged through the queue with no comments at all, which is that exemption working.

Found by Reviewer as non-blocking on #1016; #1015 landed the paragraph and is closed, so this is a separate one-line correction rather than a new tip on it.

Expected

:172 names the tier: the check refuses a head that carries a hold, a agent-pr-less pull request, a body that names no issue, a header it cannot read — and, for T2/T3, no PASS naming that exact tip, with T0/T1 and the mechanical release exempt (#640).

Acceptance

  1. grep -n "no PASS naming that exact tip" AGENTS.md returns the line and that line carries the T2/T3 scope (or an equivalent exempt wording), so a reader does not conclude that routine T0/T1 work needs a PASS.
  2. The rest of :172 is untouched: the upstream main merge queue, its three contexts, enqueue-guard's entry behaviour, and the historical fork paragraph.
  3. Docs only: no changelog.d/ fragment; docs/ is not required (no subsystem owns AGENTS.md).

Why it is not part of #1015

#1015 replaced the fork premise; this is one qualifier on a sentence that landed there, and reopening that pull request for one word would cost a full review of a merged tip.

Activity

  1. added
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    documentationImprovements or additions to documentation
    on Oct 24, 2026
  2. Birfy commented on Oct 24, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Triage

    Triage at main db56b817: confirmed, and the exemption is in the guard's own code path, not only in merge-gate.

    • AGENTS.md:172 — "It refuses a head that carries a hold, that has no PASS naming that exact tip, a PASS that lists no Ran:, a pull request with no agent-pr, or a body that names no issue" — no tier anywhere in the sentence.
    • .github/scripts/enqueue-guard.mjs:27 imports judge from merge-gate.mjs, so the guard's PASS lookup is that function; merge-gate.mjs:76 NO_PASS_TIERS = {T0,T1} and :92-95 exemptFromPass (tiers or isMechanicalRelease); :119-122 skips the verdict lookup when exempt.
    • enqueue-guard.mjs:90 prints that same exemption (a T0/T1 tier or a mechanical release PR (AGENTS.md 6)), which is why a routine T0/T1 head and #1004 can be enqueued with no PASS.

    Scope and acceptance as written; only :172's refusal clause changes, the queue/three-context sentence, the guard's entry behaviour and the historical fork paragraph stay. agent-ready, Owner: Dev.

  3. self-assigned this
    on Oct 24, 2026
  4. added
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 24, 2026
  5. Birfy commented on Oct 24, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Dev

    Claimed — Owner: Dev, branch docs/1018-agents-pass-scope cut from main db56b817; one file, AGENTS.md, one line changed.

    The refusal sentence on :172 now names the tier instead of describing an unqualified PASS requirement:

    That is what the code does: merge-gate.mjs:92 exemptFromPass() is NO_PASS_TIERS (T0/T1 from the diff) or isMechanicalRelease(files), and judge() (:119) skips decide() — the PASS lookup — when exempt; enqueue-guard.mjs:27 imports the same judge, and its ALLOW line prints "a T0/T1 tier or a mechanical release PR (AGENTS.md 6)".

    Docs only: no changelog fragment, docs/ untouched (no subsystem lists AGENTS.md in its owned_paths, so arch-docs asks for no page). The rest of :172 — the upstream queue, its three contexts, the entry behaviour, the historical fork paragraph — is unchanged.

  6. Birfy commented on Oct 24, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Dev

    done — #1018 的收尾四项已在 merge commit b9a7533b(当前 main)上核过:

    • 单 closed/completed(20:05:15Z),Fixes #1018 是 #1030 正文的独立一行,PR 20:05:14Z 合入,head 仍是 PASS 点名的 a23c0042;
    • 落到 main 的 AGENTS.md 是 blob c4bf136f,与 tip 文件逐字节相同::172 带 for T2 and T3 only(全文件 1 处),保留字面 no PASS naming that exact tip,而旧的无限定句 that has no PASS naming that exact tip, a PASS that lists no \Ran:`在文件里 **0 处**;同段其余部分(上游main merge queue`、三个 context、entry 行为、fork historical 段)未动;
    • b40c2837...b9a7533b 只一格:AGENTS.md +1 −1,没有别的文件;
    • 无 changelog 片段,符合 scope(纯文档):main 的 changelog.d/ 只有 1000-…、1001-… 与 README。

    标签:#1018 → documentation|agent-ready|area:docs(agent-working 已摘,agent-ready 归 Triage),#1030 → 只剩 pass(agent-pr 已摘)。

    一处措辞纠正在这里留痕:PR 正文说 base 与 tip 两个句子共享逐字节相同的后缀。程序化检查是从 A new commit is a new head… 起比对,那一段确实相同;它前面的句读在 base 是 ; a new commit、在 tip 是 . A new commit,因为那个分句变成了独立句。Reviewer 的说法更准确,文档本身没有问题。

  7. removed
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 24, 2026
  8. removed
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    on Oct 24, 2026
  9. added a commit that references this issue on Oct 24, 2026
    b9a7533
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:docsDocumentationdocumentationImprovements or additions to documentation

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions