Skip to content

governance(AGENTS.md PD15): carve the fleet-write relay's refresh stroke out of the release.yml dispatch prohibition - #23436

Merged
os-zhuang merged 2 commits into
mainfrom
claude/issue-23393-pd15-refresh-carveout
Oct 14, 2026
Merged

os-zhuang merged 2 commits into
mainfrom
claude/issue-23393-pd15-refresh-carveout

Conversation

@objectstack-fleet

@objectstack-fleet objectstack-fleet Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #23393
Clause-②: no

Executes ruling A on #23193: ruling record 6160857949, the maintainer's word verbatim 「23209 A」, on the options put in 6141962120. #23193 remains open for PR #23209. #23177 remains open.

Governed, Tier H (AGENTS.md). This PR stays a draft until an at-tier contract review and an authorized approval. Landing order per the ruling: this PR first, then PR #23209 merges main, is re-checked and lands. Only after that is ruling B item 5 on #23177 (6139629628) executable.

Patch round 1 (session_01B7mrh59UAGffd7s9asUfoY, head 9b68a60e to e7712a44) adds edit 2 below. That is the seat's answer B (card comment 6164269656) to the report's open question.

What changes

Two edits to AGENTS.md Prime Directive 15. Nothing else in the file changes.

1. The reserved-act clause. This is the shape option A put to the maintainer: "the reserved act becomes dispatching release.yml in any lane except the relay's ... refresh stroke (... refresh_version_pr: true alone)".

  • Before: ⛔ workflow_dispatch-ing release.yml or any other publish-capable workflow,
  • After: ⛔ workflow_dispatch-ing release.yml in any lane but the fleet-write relay's refresh stroke (refresh_version_pr: true alone), or any other publish-capable workflow,

2. The bold lead. This aligns the lead with the amended list.

  • Before: no AI seat publishes, tags, cuts a Release, or triggers a release workflow, and none merges the Version Packages PR.
  • After: no AI seat publishes, tags, cuts a Release, or triggers a release, and none merges the Version Packages PR.
  • Why: ruling A adopts the rationale in 6141962120, "one rule text that matches one mechanism". With only the clause amended, the lead still forbade what the amended list admits, because the relay's refresh stroke does trigger release.yml, which is a release workflow. That is the same contradiction that held PR tooling(pm): the fleet relay may start release.yml with refresh_version_pr true alone, so a seat refreshes the Version PR through the relay #23209. The seat's answer (6164269656) treats aligning the lead as executing the ruling as given, not as a new decision.
  • Bound: the reserved-act list stays the definition. Every other release.yml lane and every other publish-capable workflow stays reserved there by name.

Proof that nothing else moved. Against merge base 4f81f31526, git diff -w --word-diff shows exactly two changes:

  • the lead's release workflow, becomes release,, so one word (workflow) is removed;
  • the clause in any lane but the fleet-write relay's refresh stroke (refresh_version_pr: true alone), is inserted.

A whitespace-normalised whole-file comparison of AGENTS.md at base and at head e7712a44 equals base with exactly those two edits applied. It answers true. Control: the same edits without the clause's trailing comma answer false. Lines 307-315 of the hunk are the forced re-flow of the paragraph at its own typeset width (118 B). The lead edit shortens line 302 in place and re-flows nothing.

Every other reserved act stays word for word:

  • changeset publish / pnpm run release;
  • the version tag, the GitHub Release and the runtime image;
  • any other release.yml dispatch or input combination, and any other publish-capable workflow;
  • the release environment approval;
  • merging, queueing or arming the Version Packages PR.

True on the main it merges into (dependence on PR #23209)

Why the stroke cannot publish: release.yml jobs on main (4f81f31526)

  • version-pr (Version PR maintenance) runs on schedule, or on a dispatch with inputs.refresh_version_pr true. It is the only job the stroke starts.
  • release-integrity (Release integrity (audit + no-mint backfill)) and stale-prompts (Cancel publish prompts for versions already on npm) carry !inputs.refresh_version_pr in their own if: for a dispatch.
  • full-battery (Full battery green at the version commit) and publish (Publish ... to npm (awaiting approval)) need release-integrity, so a skipped audit makes success() false. Their force branch also carries !inputs.refresh_version_pr.
  • docker (Docker image) has no input guard. It runs only on a published output from release-integrity or publish, and the stroke leaves both unset.

So the card's "the publish lanes require !inputs.refresh_version_pr" holds literally for two jobs and on the force branch for two more, and docker is covered through its dependency. The two dispatches recorded in 6141962120 (runs 38351525685 and 38357219168) ran Version PR maintenance and skipped the other five jobs.

Line budget: why the ruling's clause and not a three-part sentence

  • AGENTS.md has a line ceiling of 1116 in scripts/pm/check-skill-line-ratchet.mjs, at headroom 0 on base. Raising it takes a maintainer ruling quoted in the raising PR. Ruling A ruled the text and named no line budget.
  • I measured with that gate's own wrapLine at the paragraph's typeset width (118 B). The base paragraph greedy-wraps to its current 15 lines, so it has no lossless re-wrap headroom, and its last line has 99 B of slack. With both edits (+91 B clause, -9 B lead) the paragraph is still 15 lines, with 12 B of slack on its last line. AGENTS.md stays at 1116 lines on head e7712a44.
  • The three-part sentence the card sketched (the admitted dispatch, the by-job warrant, and every other act unchanged; 367 B) measures +3 lines (1116 to 1119). It would need its own ruling. The ratchet's header refuses re-wrapping existing text to pay for it.
  • The warrant above is recorded here, not in the rule. PD15's own second paragraph holds that "the YAML is not a barrier that holds against you". So the carve-out's authority is the ruling, and the job guards are only the reason it is safe.

Reviewer points

  1. The bold lead is aligned in patch round 1, per the seat's answer B (6164269656); see edit 2.
  2. Mirror check: no file restates PD15's reserved-act list, so nothing moves in step. The queries are listed under Acceptance notes.
  3. Prime Directive 13: no ADR reserves the refresh stroke. ADR-0125 line 95 (PD15's "prohibitions stand as written") is the record of 2026-08-20, and it predates refresh_version_pr. Nothing is superseded.

Acceptance notes

  • Mirror search over .claude/**, skills/**, scripts/** and docs/**, with git grep -F at 9b68a60e. Control: publish-capable workflow in AGENTS.md = 1 hit.
    • 0 hits in all four trees for each list phrase: publish-capable workflow, publish-capable, workflow_dispatch-ing, release act itself, triggers a release workflow, PD15 and pending release environment.
    • Prime Directive 15: scripts/release-github-releases.mjs (2 hits; it cites PD15 for not deleting Releases).
    • Prime Directive #15: scripts/pm/check-skill-line-ratchet.mjs (1, a historical ceiling comment), plus docs/adr/0125-… and docs/adr/0082-… (7 in total, all citations).
    • refresh_version_pr: scripts/pm/check-expected-skips.mjs (2) and docs/releases-maintenance.md (3, the maintainer's runbook).
    • .claude/skills/pm-dispatch/SKILL.md:34 is a pointer ("发布动作的完整清单以 AGENTS.md 为权威").
    • Pointers do not move, and there is no Tier S hunk.
  • The card cites PD15 at :300-312. On base it is :301-321. The lead edit is at :302, and the amended clause is at :307-308.

Gates (head e7712a44)

Derived with node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack (no paths; 1 path vs merge base 4f81f3152, +10 / -10). This is the same 15-command list as on 9b68a60e. All 15 exited 0, with exit codes captured before any pipe:

  • check-closing-keyword-parity and its --self-test
  • check-comment-mask-corpus
  • check:agent-test-spelling
  • check:docs-audit-scope
  • check:driver-memory-census
  • check:gitlink-declared
  • check:nul-bytes ("no raw ASCII control bytes")
  • check:pm-governed-merges
  • check:pm-governed-prose
  • check:pm-skill-id-lint ("87 file(s) clean")
  • check:pm-skill-ratchet ("AGENTS.md is 1116 lines (ceiling 1116; headroom 0)")
  • check:refd-timer-probe
  • check:required-contexts
  • check:watch-hint-literal

Also run, outside the derivation: check-published-list-mirrors ("1 published list mirror(s) match"), exit 0.

Reconciliation with --ran: "15 derived, 15 run, 0 NOT-MEASURED, 0 UNRUN", a derived zero.

Not measured:

  • scripts/check-required-contexts.mjs --verify-required-set, which takes a value from the workflow.
  • No package build or test: no package is touched.

No changeset: AGENTS.md ships in no package's files[] (skip-changeset). GitHub reports the PR mergeable, so main was not merged in.

维护者速读(草稿)

改了什么

AGENTS.md 第 15 条改了两处:

  1. 保留动作清单。手动派发 release.yml 仍由维护者保留,只有一种例外:经 fleet-write 中继、只带 refresh_version_pr: true 的刷新,它只重生成 Version Packages PR。
  2. 加粗首句。「triggers a release workflow」改成「triggers a release」,和清单对齐。

其余保留动作一字未改,包括发布、打 tag、Release、镜像、release 环境审批,以及合并或排队 Version Packages PR。

为什么改

执行 #23193 的裁决 A(「23209 A」)。裁决 B 第 5 条要求席位在修复合入后立刻刷新 Version PR,但原文禁止任何 release.yml 派发,规则和机制互相矛盾,PR #23209 因此一直搁置。只改清单的话,首句仍会禁止清单已经允许的刷新,矛盾还在。所以按裁决 A 的理由「一条规则文本对应一种机制」,首句一并对齐。这是席位对报告问题的答复(B)。

风险与代价(含回滚)

这次刷新不会发布:它只跑 Version PR maintenance,审计、发布、镜像任务都跳过,两次实跑可以作证。首句改短以后,其余发布类派发仍由清单逐项点名保留。PR #23209 合入之前,中继会直接拒绝 release.yml,例外暂时用不上,失败方向是关闭。行数仍是 1116,不需要抬上限。回滚方法:revert 本 PR 合入的 commit。

席位意见

你要做的

批准本 PR(Tier H)。

…oke out of the release.yml dispatch prohibition

Ruling record 6160857949 (letter A): the reserved act becomes dispatching
release.yml in any lane but the fleet-write relay's refresh stroke
(refresh_version_pr: true alone). Every other reserved act is unchanged.

The words added are exactly that clause; the rest of the paragraph is a
forced re-flow at its own typeset width (118 B). AGENTS.md stays at 1116
lines against its ceiling of 1116.

Claude-Session: https://claude.ai/code/session_01B7mrh59UAGffd7s9asUfoY
Co-authored-by: Claude <noreply@anthropic.com>
…rved-act list

The lead read "... or triggers a release workflow", which forbade the
fleet-write relay's refresh stroke that the amended list admits. It now
reads "... or triggers a release". The list stays the definition: every
other release.yml lane and every other publish-capable workflow is still
reserved by name. Ruling record 6160857949 (letter A: one rule text that
matches one mechanism); the seat's answer to the report's open question
chose this option. AGENTS.md stays at 1116 lines.

Claude-Session: https://claude.ai/code/session_01B7mrh59UAGffd7s9asUfoY
Co-authored-by: Claude <noreply@anthropic.com>
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Contract review

Served-tier: CONTRACT_REVIEW_TIER
Head-sha: e7712a4402550e361e9c849a09ebee2d036fb768
Local-runs: none

Rendered from card #23393 (body and all four comments), PR #23436 (body, file list, net diff against main — AGENTS.md on main is still blob 30727c2c0b, the diff's base), the 41 check-runs on the head, and on #23193 only 6141962120 (the options) and 6160857949 (ruling A, the maintainer's word 「23209 A」). Every PR-body claim judged below was re-derived from origin/main's release.yml, scripts/pm/fleet-write/*, scripts/pm/check-skill-line-ratchet.mjs, scripts/pm/check-expected-skips.mjs and ADR-0125, and from a word-diff of AGENTS.md at main against the head. Reads only; nothing built, run or re-run.

① Derived judgments

One file, AGENTS.md Prime Directive 15. No package is touched, so no public API surface moves. The accept-set the diff implies, each judged:

  1. Admitted: one dispatch. A seat may workflow_dispatch release.yml through the fleet-write relay with refresh_version_pr: true as the only input. Right. It is ruling A's own shape (option A in 6141962120: "in any lane except the relay's closed refresh stroke, refresh_version_pr: true alone"); the sentence names the channel (the relay), the input, and its exclusivity ("alone"). On main's release.yml that stroke starts version-pr and nothing else: release-integrity and stale-prompts carry !inputs.refresh_version_pr in their own if:, full-battery and publish need release-integrity and carry the same negation on their force branch, and docker needs both and runs only on a published output. The two runs disclosed in 6141962120 match that reading.
  2. Not named: WORKFLOW_DISPATCH_INPUTS. The ruling says "as fenced by WORKFLOW_DISPATCH_INPUTS"; the clause does not name it. Right. The constant is not on main — scripts/pm/fleet-write/ops.mjs carries only WORKFLOW_DISPATCH_ALLOWLIST with the single entry shard-timings-refresh.yml, and validate.mjs pins that a release.yml dispatch is refused naming that list — and the ruling lands this amendment before PR tooling(pm): the fleet relay may start release.yml with refresh_version_pr true alone, so a seat refreshes the Version PR through the relay #23209, so a constant named today would dangle. The rule states the mechanism; the relay's own header becomes the authority on detail when tooling(pm): the fleet relay may start release.yml with refresh_version_pr true alone, so a seat refreshes the Version PR through the relay #23209 lands; until then the admitted stroke is refused by the relay with zero writes. It fails closed.
  3. Reserved: everything else, word for word. Right. My own whitespace-insensitive word-diff of AGENTS.md at main against the head shows exactly three word-level changes: release workflow, becomes release, in the lead, and the clause in any lane but the fleet-write relay's refresh stroke (refresh_version_pr: true alone), is inserted. Every other changed line of the hunk is re-flow. changeset publish / pnpm run release, the version tag, the GitHub Release, the runtime image, every other release.yml lane and input combination, every other publish-capable workflow, the release environment approval, and merging, queueing or arming the Version Packages PR all stay reserved by name.
  4. The lead edit ("triggers a release workflow" becomes "triggers a release"). Right — and named as the one edit beyond the ruling's literal sentence. The lead summarises; the list ("What is reserved is the release act itself") is the definition. The new lead reserves nothing less than the list reserves: every act the old lead caught is still on the list by name, except the one stroke ruling A admits. Left as it was, PD15 would forbid in its first sentence what its list admits — the same rule-versus-mechanism contradiction that held PR tooling(pm): the fleet relay may start release.yml with refresh_version_pr true alone, so a seat refreshes the Version PR through the relay #23209 and that ruling A's adopted rationale ("one rule text that matches one mechanism") exists to end. So this is execution of the ruling, not a new permission. Because it is a second governed edit, the PR body states both edits (before, after, why — and again in the 维护者速读), so the Tier H approval this PR waits for is an informed word on both. One letter-level edge checked: a release.yml run started other than by dispatch (a rerun) falls outside the new lead's wording — but it is a GitHub write, every write leaves through the relay, and the relay's only reachable actions/* path is the dispatch call on an allowlisted file (validate.mjs pins it), so nothing widens in practice.
  5. Readability of the amended clause. In "workflow_dispatch-ing release.yml in any lane but the fleet-write relay's refresh stroke (…), or any other publish-capable workflow", the second disjunct parallels release.yml ("any other … workflow"), not the stroke, so the ⛔ governs both. Note only; the intended reading is the one a reader recovers.
  6. No mirror moved; no gate added. Right. On origin/main the list phrases (publish-capable, release act itself, triggers a release workflow, the workflow_dispatch-ing spelling) hit AGENTS.md only. docs/releases-maintenance.md is the maintainer's runbook and names the input as the maintainer's own click; scripts/release-github-releases.mjs cites PD15 for the Release-delete prohibition; check-expected-skips.mjs quotes the version-pr if: as a parser case; the pm-dispatch SKILL.md pointer defers to AGENTS.md. No Tier S path in the file list, and PD14's paragraph (what check:pm-governed-prose reads) is outside the hunk.
  7. PD13. Right. ADR-0125 D6 records that ADR-0125 changes none of PD15's prohibitions and adds the approval act; it does not quote the dispatch clause (publish-capable hits AGENTS.md alone), and this diff touches neither the approval act nor a publish lane. No accepted decision is reversed. The carve-out's provenance is the ruling record, which both commit messages name.
  8. Line ratchet. Right. The ceiling entry is ['AGENTS.md', 1116]; main and the head are both 1116 lines; no raise. The card's sketch put the by-job warrant into the sentence; at headroom 0 that costs lines, and a raise needs a maintainer ruling quoted in the raising PR, which ruling A did not give. The warrant lives where AGENTS.md says detail lives — release.yml's own header ("dispatch WITH refresh_version_pr → version-pr only, no deployment") — and in the PR body. A (ruling record …) citation inside the clause would likewise cost a line; the fallback provenance AGENTS.md allows (the commit in this repository's history, here naming 6160857949) holds.
  9. Governance posture. Right. AGENTS.md is register row agents-md, Tier H; the PR is a draft, auto-merge is not armed, head repo equals base repo, the card's Claim: names this branch, and both reports record no release.yml dispatch (the ruling's "until step 1 lands" bar).
  10. Gate verdicts on the head. 41 check-runs: 29 success, 12 skipped, none failure. Of the five queue-required contexts, Lint & Repo Gates, TypeScript Type Check, Test Core and Governed Surface Queue Guard are success; Build Core is skipped by its path filter (needs.filter.outputs.core != 'false'), and every skipped name on the head is on the check-expected-skips.mjs roster (Check Changeset skips on the skip-changeset label, as the roster declares). The claim guards and the governed-surface queue guard pass.

② Semver level

skip-changeset is right. The only file is AGENTS.md; the root manifest is private with no files entry, so nothing published changes and no package changelog is owed a sentence. The PR body's Clause-② line reads no with no arm — right for a diff that publishes nothing. Check Changeset skipped on the label, as the roster declares.

③ Boundary flags

Round 0 report (6164234572):

  • open_questions[0] (align the bold lead): answered B by the seat (6164269656) and executed at this head. Judged in ① item 4 — execution of the ruling's adopted rationale, no new permission, disclosed to the approver in the PR body.
  • Deviation, warrant kept out of the sentence: accepted — ① item 8.
  • Deviation, in-clause amendment instead of an appended sentence: accepted — it is option A's literal shape, and the word-diff proves nothing else moved.
  • Deviation, line_budget not n/a: accepted as a measurement; the head holds the ceiling.
  • Deviation, the git fetch of PR tooling(pm): the fleet relay may start release.yml with refresh_version_pr true alone, so a seat refreshes the Version PR through the relay #23209's head auto-followed origin's tags into the shared .git: accepted — origin's own tags, no write to origin; a --no-tags fetch next time.
  • Deviation, attribution form: accepted — both commits carry the model-free trailer pair AGENTS.md prescribes, and no model identifier appears in the title, body or comments.
  • out_of_scope_findings: no class a/b/c finding; the mirror and PD13 notes were verified independently (① items 6 and 7). Nothing to file.

Round 1 report (6164396312):

  • open_questions: none.
  • Deviation, worktree re-added for the patch round: process only; accepted.
  • Deviation, PR body PATCH stored with no footer: accepted — AGENTS.md lets durable attribution live in body prose, and the body names the session in prose. The platform reading (the relay's PATCH appended nothing) is correctly left with the PM as a platform-readings.md note, not filed.
  • out_of_scope_findings: none to file.

Nothing escalated. The remaining word is the maintainer's: the Tier H approval on this PR, which the ruling already assigns.

Implemented-by: claude/issue-23393-pd15-refresh-carveout
Reviewed-by: session_01B7mrh59UAGffd7s9asUfoY

VERDICT: PASS


Generated by Claude Code

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

维护者速读

PR #23436 · head e7712a4402 · 本席 domain:devx#2(session_01B7mrh59UAGffd7s9asUfoY)· 2026-10-14T08:54Z。这是终稿,以本评论为准;PR 正文里的「草稿」节是 dev 写的底稿。

改了什么

AGENTS.md 第 15 条(版本发布由维护者亲手做)改了两处,共 2 个词组:

  1. 保留动作清单:「手动派发 release.yml」仍归维护者保留,只开一个例外:经 fleet-write 中继、只带 refresh_version_pr: true 的刷新。这一笔只重新生成 Version Packages PR。
  2. 加粗首句:「triggers a release workflow」改为「triggers a release」,和清单保持一致。

其余保留动作逐字未动:发布、打 tag、GitHub Release、推镜像、release 环境审批,以及合并、排队或挂 auto-merge 到 Version Packages PR。

为什么改

这是执行你在 #23193 的裁决 A(「23209 A」)。裁决 B 第 5 条要席位在每个修复合入后马上刷新 Version PR,而原文禁止任何 release.yml 派发,规则和机制冲突,所以 PR #23209 一直停着。如果只改清单、不改首句,首句仍会禁止清单已经允许的刷新,冲突还在。因此按裁决 A 的理由「一条规则文本对应一种机制」,首句一并对齐。

风险与代价(含回滚)

席位意见

建议批准。

  • diff 我逐词核过,只有上面两处,其余行只是重新折行。
  • 达档(CONTRACT_REVIEW_TIER)契约复核在本 head 上 PASS,记录 6164595133。
  • CI 41 项:成功 29、跳过 12、失败 0。
  • 卡上的复核记录:ACCEPT 6164623506。

批准后由本席落地,顺序是:本 PR → #23209 合入 main、复检后落地 → 裁决 B 第 5 条才可以执行。在这之前,任何席位都不触发 release.yml。

你要做的

批准本 PR:os-zhuang 或 hotlong 任一账户给出 APPROVED 即可。合并由本席落地,不需要你点合并。


Generated by Claude Code

@os-zhuang
os-zhuang marked this pull request as ready for review October 14, 2026 08:56
@os-zhuang
os-zhuang enabled auto-merge October 14, 2026 08:56
@os-zhuang
os-zhuang added this pull request to the merge queue Oct 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⛔ merge queue 构建失败 — 先分诊,再决定要不要重排

队列构建 38539141182 红了。队列跑的是全量套件(PR 侧 CI 只跑 affected 子集),
所以失败的测试可能在本 PR 没碰过的包里 —— 那不是重排能修的。每次盲目重排都会让排在后面的所有 PR 重建一轮。

分类:failure —— 按下面的日志分诊。

失败的 job(日志抽取,best effort):

  • Build Core — 失败步骤: Build packages (excluding docs)(日志不可读,点进 job 看)

↳ 失败原因 是判读的关键:超时(Test timed out in … / Hook timed out in …)多半是负载/时序,不是本 PR 的回归;
断言(AssertionError: …)才指向真实的行为改变。两者的 FAIL 行长得一模一样,只有这一行能区分。

⚠️ 断言这一侧有一类例外,判据是断言在测什么,不是它是不是 AssertionError。 断言的对象是产品行为(一个值、一个形状、一次拒收)⇒ 照上面读:真实的行为改变,去查,⛔ 不要重排掉;
断言的对象是这次实验自身的有效性前提(跑完的耗时、负载下的先后、任何只在时间预算内才成立的条件)⇒ 它跟超时是同一类,同样对负载敏感,重排一次是合法的判别手段。
识别是机械的:断言的消息或它比较的值本身点名了一段时长、一个时间戳、一个耗时计数。实测过的一对 —— AssertionError: SecurityPlugin.init() ran: expected false to be true 测的是产品行为(真回归);
AssertionError: this run took over a second, so second-precision stamps could have differed too: expected 1006 to be less than 1000 测的是实验前提:它守护的那条不变式当时是绿的,同一个 head 原样重排一次即成功。
穿着 AssertionError 外衣的时间测量,仍然是时间测量。(⛔ 这只改「怎么读一次红」,不改「哪些测试可以重排」——后者由别处管。)

跨 PR 相同签名(24h,按失败测试文件聚合):

  • ⚠️ 本次没有可用的聚合签名(日志里没有能解析出测试文件名的 FAIL 行)—— 这不是「没有同签名的其他 PR」,是这一轮没测到。跨 PR 聚合本次不可用,请手工比对其他 PR 的同类评论。
  • ⚠️ 24h 评论账本没读完(超过 5 页仍未读到窗口尽头),所以上面的「不同 PR 数」是下界,不是全量。

历史信号:

  • 本 PR 过去 24h 无队列失败记录(首次)。
  • 过去 24h 队列共有 3 个失败构建(不含本次)。

分诊清单:

  1. 失败测试在本 PR 改动的包里 → 真回归,修 PR。
  2. 失败测试与本 PR 无关 → 看上面的「跨 PR 相同签名」;已有汇总 issue ⇒ flaky/环境问题实锤,去那张 issue 上谈,修好前重排只会再烧一轮全队列。
  3. 两者都不是 → 可能与同组 PR 语义冲突;等前面的 PR 落地或失败出队后再重排一次即可,不要连续重排。

Generated by Claude Code · merge-queue-triage workflow (#4859)

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Queue red, disposition · domain:devx#2 · session_01B7mrh59UAGffd7s9asUfoY · 2026-10-14T09:07Z. Answers the merge-queue triage comment 6164838148.

Not this PR's. No re-queue. This PR changes AGENTS.md only, and no package build reads that file.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

3 participants