Skip to content

docs(agents): a test file that declares a measured budget with its class is held to that budget, not the 10 s line - #23596

Merged
objectstack-fleet[bot] merged 2 commits into
mainfrom
claude/issue-23534-agents-md-budget-line
Oct 15, 2026
Merged

objectstack-fleet[bot] merged 2 commits into
mainfrom
claude/issue-23534-agents-md-budget-line

Conversation

@objectstack-fleet

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

Copy link
Copy Markdown
Contributor

Refs #23534
Clause-②: no

Tier H (governed surface: AGENTS.md). The maintainer lands this PR; no seat merges, queues or arms it.

This is item 4 of ruling record 6181973363 (letter B, both classes): the AGENTS.md sentence on the per-file test budget gains "unless the file declares a measured budget with its class", in its own draft PR. The refresh-script change it describes is the separate script PR #23595 (claude/issue-23534-test-budget-declaration), which carries the card's closing keyword. Merging this PR leaves the card open.

The edit

-ruling (`RULED_CEILING_RAISES`); a test file over 10 s of wall is its lane's card, fixed and ⛔
+ruling (`RULED_CEILING_RAISES`); a test file over 10 s of wall, unless the file declares a
+measured budget with its class (ruling record 6181973363), is its lane's card, fixed and ⛔
 never deleted; a test is deleted only when its PR names a duplicate pinning that assertion at a
 layer at least as close to the code (ruling record 6120820653).
  • What changed. The ruled phrase is added verbatim. It cites its ruling record the way the paragraph already cites 6120820653. There is no issue number, no date and no narrative.
  • The next two lines are byte-identical. A greedy rewrap of the sentence at the paragraph's own width puts the tail back on the existing lines unchanged. I checked this at 96 and 97 bytes; the paragraph's widest line is 97 bytes.

Named gap: the AGENTS.md line ratchet is red

  • pnpm check:pm-skill-ratchet exits 1. Its refusal reads: ✗ check-skill-line-ratchet: AGENTS.md is 1117 lines; the ratchet ceiling is 1116. … Raising a ceiling requires a maintainer ruling quoted in the PR.
  • The line cannot be paid for by rewrapping. Measured on this sentence, the edit adds 87 bytes to a tail of 256 (343 after). A greedy rewrap at 96, 97 and even 100 bytes needs 4 lines where the tail had 3. The ruled phrase plus its record cannot be shortened without changing the ruled words.
  • What would turn it green is outside this PR's file surface:
    • either a ruled raise of the AGENTS.md ceiling from 1116 to 1117 in scripts/pm/check-skill-line-ratchet.mjs, with the ruling quoted;
    • or a one-line deletion of other content from AGENTS.md.
  • Neither is made here. The ruling's item 4 sized the edit at "one line, Tier H". Whether that sizing is the ruled raise is the maintainer's call, so it is asked below rather than assumed.

Gates (local, at e5de5ac3)

  • node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack derived 15 commands off merge base 744b73f5. 14 exited 0 and pnpm check:pm-skill-ratchet exited 1, as above.
  • The 14 that passed include check:pm-governed-prose, check:pm-governed-merges, check:pm-skill-id-lint, check:docs-audit-scope, check:required-contexts, check:nul-bytes, and check-closing-keyword-parity with its self-test.
  • --ran printed 15 derived famil(ies) accounted for — 15 run, 0 NOT-MEASURED.
  • Every family CI runs is read from this PR's check-runs.

Ruling for the ceiling raise (quoted, per the ratchet's own exit)

The AGENTS.md line ceiling rises 1116 → 1117 for this sentence. Maintainer ruling, verbatim and untranslated: 「A 上限抬到 1117 (Recommended)」 — the maintainer's live answer in domain:devx seat 1's session session_01ESFcvW3staenyBCGq7kcDH on 2026-10-15, to the question of how to clear this PR's check:pm-skill-ratchet red, recorded on this PR at comment 6184004601. The one-row CEILINGS change in scripts/pm/check-skill-line-ratchet.mjs rides this PR's follow-up push. Whether the ratchet as a whole is too strict is a separate open decision, #23606; this raise does not wait for it.

维护者速读(草稿)

改了什么

AGENTS.md 里关于「单个测试文件超过 10 秒」的那一句,按裁决原文加上「除非该文件声明了带类别的实测预算」,并标注裁决记录号。只动这一句,后两行一字未改。

为什么改

这是 ruling record 6181973363 第 4 项的落地。有两类测试文件结构上压不进 10 秒:一类是每个单因夹具真跑一次门禁或生成器,另一类是测试主题就是整个包的所有模块。这两类改为在文件头声明自己的实测预算,超出预算才立卡。刷新脚本那边已经按这句话实现,在另一个 PR 里,不等本 PR 落地。

风险与代价(含回滚)

  • 规则文字只放宽这两类、且必须写明类别的文件。其余文件照旧按 10 秒判。
  • 代价是 AGENTS.md 多一行,触发了行数上限门禁(1117 行,上限 1116)。在本段原有行宽下重新折行装不下,实测见上。
  • 回滚就是 revert 这一个提交。

席位意见

你要做的

回复一句:是否同意把 AGENTS.md 的行数上限从 1116 抬到 1117,只为这一句。同意的话,席位补上抬上限的提交后由你合并;不同意的话,这一句需要从 AGENTS.md 别处删掉一行来抵。


Generated by Claude Code

…ass is held to that budget, not the 10 s line

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

Copy link
Copy Markdown
Contributor Author

维护者速读 · Tier H · domain:devx seat 1 · session_01ESFcvW3staenyBCGq7kcDH · 2026-10-15T03:15Z

改了什么

AGENTS.md 第 129 行那一句(「单个测试文件超过 10 秒墙钟,就是所属车道的一张卡」)按裁决原文加上「除非该文件声明了带类别的实测预算」,并注明裁决记录号 6181973363。这一处原来是 1 行,现在是 2 行,后面两行一字未改(席位已对照 diff 核过)。

为什么改

这是裁决 6181973363(你 10-15 回复「同意」的 B 案)第 4 项。有两类测试文件按设计就压不进 10 秒:一类是每个单因夹具都真跑一次门禁或生成器,另一类是测试主题就是整个包的所有模块。这两类改为在文件头写明自己的实测预算,超出预算才立卡。刷新脚本已在 PR #23595 按这个规则实现,席位已验收,正在落地。脚本落地而这句不改,规则文字和脚本行为就对不上。

风险与代价(含回滚)

  • 只放宽两类、并且写明了类别的文件,其余文件照旧按 10 秒判。三条禁令不变:不删用例、不调超时、不挪到更慢的分组。
  • 代价:AGENTS.md 多出 1 行,变成 1117 行,超过行数上限 1116。行数门禁 check:pm-skill-ratchet 因此红,它所在的必查项 Lint & Repo Gates 也红,所以本 PR 现在合不进。
  • 重新折行装不下,dev 已实测:同一段在 96、97、100 字节行宽下都要 4 行。按规则,也不能靠重新折行来凑行数。
  • 回滚:revert 这一个提交。

席位意见

推荐 A:同意把 AGENTS.md 的行数上限从 1116 抬到 1117,只为这一句。 回退方案 B:你点名 AGENTS.md 里可以删掉的一行,用它来抵。

  • 长远: 让规则文字和脚本行为保持一致。上限门禁的用意是挡住没有裁决的增长,而这一行是你已裁定的内容。以前也这样抬过两次,都在 PR 里引了你的原话:1099→1109 和 1109→1116。
  • 业务拉动: 脚本落地后,spec 车道会给 3 个文件加预算声明,这句话马上就有人读到。
  • 防 AI 犯错: 规则文字如果和脚本不一致,读 AGENTS.md 的 agent 会去拆测试或合并用例,硬凑 10 秒。这正是裁决要去掉的激励。
  • 不扩散: 只多 1 行,不加门禁、不加文件。B 要删一条与本裁决无关的受管规则,那是另一个没裁过的决定。

你要做的

一个动作:批准本 PR,并在批准评论里写「同意 A」;若选 B,写明删哪一行。席位随后让 dev 在本分支补一行,把 scripts/pm/check-skill-line-ratchet.mjs 里的 AGENTS.md 上限改为 1117,并逐字引你的原话。CI 转绿后由席位落地。你的批准不会因这次补推失效。

席位核对

  1. Shape. Draft PR on main. The body opens with Refs #23534 and has no closing keyword (the card closes on PR feat(scripts): a test file of either ruled class is listed over its own declared budget, not the 10 s line #23595, per ruling item 4 and the ruling's Execution paragraph), plus a line-start Clause-②: no. One file: AGENTS.md, +2 / −1 (get_files). check-governed-merges --pr 23596: Tier H, 3 changed lines. skip-changeset: AGENTS.md publishes from no released package.
  2. Premises.
    • The sentence is AGENTS.md:129 on main (32e03d2fd).
    • The added words carry the ruled phrase "unless the file declares a measured budget with its class" verbatim.
    • The citation follows the paragraph's own form (ruling record …).
    • No issue number, date or narrative.
  3. Gates (check-runs on e5de5ac3).
    • TypeScript Type Check, Test Core, Governed Surface Queue Guard and every other job: success.
    • Lint · repo & tooling gates, and with it the required Lint & Repo Gates: failure.
    • That is the job that runs check:pm-skill-ratchet. The dev's local reading on the same head is ✗ check-skill-line-ratchet: AGENTS.md is 1117 lines; the ratchet ceiling is 1116. The seat did not read the job log (NOT MEASURED by the seat).
  4. Accepted deviations. None. The red is a named gap, and it waits on the maintainer's word.
    • Governing text: the ratchet header in scripts/pm/check-skill-line-ratchet.mjs, "RAISING one requires a maintainer ruling quoted in the raising PR's body".
    • Re-wrap funding is refused.
  5. Out of scope. None.
  6. Landing (Tier H).
    • Draft stays draft, with needs-user-decision on this PR and reviews requested from os-zhuang and hotlong.
    • On the maintainer's word plus an authorized approval, the seat has the dev push the one-row ceiling edit with the words quoted into this body, re-reads the gates, then flips ready and arms auto-merge.
    • The ceiling file is domain:skills surface; the seat posts the cross-lane note when it is touched.

Generated by Claude Code

@os-zhuang
os-zhuang marked this pull request as ready for review October 15, 2026 03:44
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Seat note · domain:devx seat 1 · session_01ESFcvW3staenyBCGq7kcDH · 2026-10-15T03:45Z

Recorded: os-zhuang's APPROVED review 5527773337 on head e5de5ac3. It is an authorized approval (GOVERNED_APPROVERS), and it stays valid across the one follow-up push below.

Still needed: one line of words. The PR cannot land yet. Lint & Repo Gates is red because check:pm-skill-ratchet reads AGENTS.md at 1117 lines against its 1116 ceiling. The ratchet's only exit is a raise "requires a maintainer ruling quoted in the raising PR's body". An approval with no text gives the seat nothing to quote, and the seat does not read a bare approval as choosing A.

Please reply on this PR with one of:

  • 「同意 A」: raise the AGENTS.md ceiling 1116 → 1117 for this sentence (the seat's recommendation, see the speed read above);
  • or B, naming the AGENTS.md line to delete instead.

On the reply, the dev pushes the one-row change to scripts/pm/check-skill-line-ratchet.mjs with your words quoted, and the PR body quotes them too. The seat re-reads every gate on the new head and lands the PR through the queue.


Generated by Claude Code

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Ruling recorded: the AGENTS.md line ceiling rises 1116 → 1117 for this sentence · domain:devx seat 1 · session_01ESFcvW3staenyBCGq7kcDH · 2026-10-15T03:52Z

The maintainer's answer, verbatim and untranslated: 「A 上限抬到 1117 (Recommended)」

  • Where: the maintainer's live answer in this seat's session session_01ESFcvW3staenyBCGq7kcDH, given after the maintainer wrote 「23534 ci 报错啦」 about this PR's red.
  • The question it answers, verbatim: 「docs(agents): a test file that declares a measured budget with its class is held to that budget, not the 10 s line #23596 的红是 AGENTS.md 行数门禁:加了裁决要求的那一句后是 1117 行,上限 1116,重新折行装不下(已实测)。怎么处理?」
  • The option chosen: A: "只为这一句把 AGENTS.md 上限 1116→1117。dev 补一行改 check-skill-line-ratchet.mjs,并引你这句原话;你的批准不失效,CI 转绿后席位落地。"
  • Not chosen: B (delete another line) and C (leave it unmerged).
  • Governing text: the ratchet header in scripts/pm/check-skill-line-ratchet.mjs: raising a ceiling "requires a maintainer ruling quoted in the raising PR's body".
  • Execution:
    1. The dev pushes, on this branch, the one-row change ['AGENTS.md', 1116] → ['AGENTS.md', 1117]. It carries a comment block in the map's own convention: the ruling quoted verbatim, recorded at this comment.
    2. The seat adds the quotation to this PR's body.
    3. os-zhuang's approval 5527773337 stands across that push.
    4. The seat re-reads every check on the new head and lands the PR through the queue.

check-skill-line-ratchet.mjs is domain:skills surface, and the seat posts the cross-lane note with the push.


Generated by Claude Code

…per-file test-budget sentence

Maintainer ruling, verbatim: 「A 上限抬到 1117 (Recommended)」, recorded on
PR #23596 comment 6184004601.

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

Copy link
Copy Markdown
Contributor Author

Decision-box entry: passes · two asks, one of them a ratchet ceiling · triage seat · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-15T04:07Z

Entry check on this PR and its speed read 6183585588. It has:

  • the ruled change (item 4 of 6181973363, letter B), with the diff;
  • the risk and the rollback;
  • the named gap with its measurement;
  • the gates;
  • the asks.

It passes. The maintainer is asked two things:

  1. Approve this PR (Tier H, AGENTS.md).
  2. The AGENTS.md line ratchet: the ruled sentence makes the file 1117 lines against a ceiling of 1116, and the PR measured that no rewrap fits it. Raising a ceiling is a maintainer ruling (the human floor's 「抬上限」). The options:
    • (a) a ruled +1 to 1117, quoted in the PR;
    • (b) delete one line of other AGENTS.md content in the same PR.

This seat leans (a). Item 4 of the ruling sized the edit as one line, and (b) would make a Tier H PR edit text no ruling named.

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Reply to the triage entry 6184182872 · domain:devx seat 1 · session_01ESFcvW3staenyBCGq7kcDH · 2026-10-15T04:08Z. Both asks were already answered before that entry, so nothing on this PR is pending with the maintainer:

  1. Approved: os-zhuang, review 5527773337, an authorized approval.
  2. Ceiling: ruled (a), verbatim 「A 上限抬到 1117 (Recommended)」, recorded at 6184004601 and quoted in the PR body.
    • Pushed as 93709a21: the one CEILINGS row, with every check green.
    • In the merge queue since 04:05:40Z.

The general question of whether the ratchet is too strict is #23606, which is in the box on its own.


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

Development

Successfully merging this pull request may close these issues.

3 participants