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
partition-test-shards: the balancing-pins banner says "these five" over six numbered pins #15208
Observed while landing #13799 batch 4 (PR #15198) — not fixed there, because it is a different defect class from that card's assertion floors and the batch is fenced to one file's self-test wiring.
The reading
scripts/partition-test-shards.mjs, the banner that opens the balancing pins:
// WRONG quantity satisfies every one of those assertions. These five pin the
// quantity and the outcome.
Six numbered pins follow it, not five:
pin
line
what it pins
1
523
the weight is TIME, not file count
2
541
the committed dataset meets the acceptance bound at the CI shard count
3
578
the bound is REACHABLE at this shard count
4
596
the shard count in ci.yml agrees with SHARD_COUNT
5
620
an unmeasured package is ESTIMATED, never silently free
6
644
END-TO-END: a real run weighs a real package by duration
Pin 6 was added after the banner was written and the count was not carried forward. Line numbers are as of 919beca43; PR #15198 moves them by wrapping each assertion in a thunk, but does not touch this prose.
Why it is worth a card rather than a silent fix
It is cosmetic today, but it is the same shape as the drift this file's own pin 4 exists to catch: a stated number that no longer matches the thing it counts, with nothing reading it. The cheap repair is to make the sentence not carry a number at all ("These pin the quantity and the outcome"), so it cannot drift again when pin 7 arrives — rather than editing "five" to "six".
No behaviour is affected: the banner is a comment, and every one of the six pins runs.
:823 // WRONG quantity satisfies every one of those assertions. These five pin the
其后到下一条横幅之间的编号钉:
1. The weight is TIME, not file count
2. The committed dataset, split at the shard count CI actually uses, meets …
3. The bound is REACHABLE at this shard count
4. The shard count is spelled in ci.yml too, and drift there is silent
5. An unmeasured package is ESTIMATED, never silently free
6. END-TO-END: the weight a REAL RUN gives a REAL package is its measured …
⇒ 6 条,横幅说 five
对照(无意义变体 `These twelve pin`)= 0
⭐ 同文件 :1082 的第二条横幅本来就不带数字:
:1082 // very build whose shard 1 was killed by the 30-minute wall. These pin the
:1083 // one comparison that can tell a good dataset from a rotted one.
⇒ 卡面推荐的形状在本文件里已经是既有惯例,不是新发明。
判据
:823 那句横幅不再携带任何数量词。卡面的理由是硬的,照它:「把句子改成不带数字(These pin the quantity and the outcome),这样第 7 条钉到来时它不会再漂 —— 而不是把 five 改成 six」。⛔ 不许改成 six。
⛔ 一条钉子都不许动、不许增删、不许重排。这是注释修正,零行为变更;卡面明写「every one of the six pins runs」。
os-dev-report
{
"issue": 15208,
"status": "done",
"branch": "claude/issue-15208-balancing-pins-banner",
"pr": "#17402",
"premise_still_valid": true,
"summary": "Removed the stale quantity word 'five' from the balancing-pins banner comment in scripts/partition-test-shards.mjs, at the text These five pin the quantity and the outcome. (found by text search, not the card's stale line number). The sentence is now numberless -- These pin the quantity and the outcome. -- matching the sibling banner at :1082 that the card pointed to as the model. All six numbered pins (1-6) below the banner are untouched; the file's own --self-test still passes, confirming zero behaviour change.",
"tests": "node scripts/partition-test-shards.mjs --self-test -> pass ('self-test OK (71 measured packages -> 72 shard items, 6 shards, max/mean 1.00x <= 1.3x, floor 404s, bins 672/672/672/671/672/671s)'). Probe grep -noP '(?<=These )(\w+)(?= pin the)' scripts/partition-test-shards.mjs: before-edit run matched '823:five' (1 match, this run doubles as the positive control), after-edit run produced no output (0 matches). Also ran clean: node scripts/check-nul-bytes.mjs, node scripts/check-self-test-wired.mjs, node scripts/check-scripts-symbol-anchors.mjs, pnpm check:entry-guard, pnpm check:parse-guard -- all pass.",
"mcp_calls": 6,
"open_questions": [],
"out_of_scope_findings": []
}
Activity
os-zhuang commentedon Sep 4, 2026
分诊路由(本评论来自分诊座位)· R+150 ·
date -u实测 2026-09-04T20:09:35Zdomain:devx· 保留tooling+finding·priority:p3。落点scripts/partition-test-shards.mjs(仓库根scripts/)⇒ 车道表 devx。p3 判据:一句 banner 注释,六个 pin 全都在跑,零行为影响。
⭐ 但卡面给的修法方向比缺陷本身值钱,别改成 "six":把那句话改成不带数字(「These pin the quantity and the outcome」),这样 pin 7 出现时它不会再漂。⇒ 按本仓的修法排序,「删掉容许出错的构造」是 (a) 型,「把 five 改成 six」是把同一个陷阱重新上膛。⚠️ 而卡面自己指出了那层讽刺:这正是同一文件里 pin 4 存在的理由(一个被陈述的数字不再等于它所计数的东西,而没有任何东西读它)。
Generated by Claude Code
os-zhuang commentedon Sep 8, 2026
分诊:补状态
pm:queue—— 唯一缺的就是它标签
toolingfindingdomain:devxpriority:p3维持不动 · 类型 Task · 补pm:queueR+150 的分诊(
5545905756)已定车道、等级与修法方向,唯独没写状态标签。⇒ 落在 SKILL.md:325 的「析取 ③」里;派发 backlog 默认按label:pm:queue过滤(:58) ⇒ 本卡此刻不在任何清单上。有具名落点(scripts/partition-test-shards.mjs的 balancing-pins banner)、修法一行、无可问之事 ⇒ SKILL.md:341 入队。⭐ ⛔ 修法已定:不要改成 "six"
卡面与上一席在这一点上一致,而且理由是判据级的,原样保留:
等级 p3,且零行为影响是实测的
banner 是一条注释,六个 pin 全都在跑。卡面把六个逐条列了出来(权重是时间而非文件数 / 提交数据集在 CI 分片数下满足验收界 / 该界在此分片数下可达 /
ci.yml的分片数与SHARD_COUNT一致 / 未测量的包被估计而非静默免费 / 端到端按时长称量真实包),并指出 pin 6 是在 banner 写好之后加的,数字没有跟上。919beca43上的;PR #15198 把每个断言包进 thunk 会移动它们,但不动这段散文。⇒ 认领时读行、⛔ 别读行号。家族:七个具名实例
check-skill-compatibility-version.mjs打印 7,块里 6 ——check-wildcard-fallthrough打印 17,体内断言 18check-ratchet-remedy-authority.mjs的why说另一门禁台账「ships EMPTY」,实为 3 条COMPOUND_ANCHOR_LEDGERdocblock 说 22/15/7,表里 25/17/8check-driver-conformance.mjs的比值陈旧且无日期⇒ 上一席在本卡评论里就说这是「第三个实例即证据」的门槛;此后又数到七个。可执行的规矩形状:引用数字状态的散文,要么由生成器/计数器产出,要么不写数字 —— 树上已有先例(
check-skill-frame-sync.mjs打印${popCases})。⭐⚠️ 但房规必须容纳两种终态:本卡与 #15313 都是「不写数字」更合适的那一类(banner 与论证不需要精确计数),而 #15291 是「派生数字」更合适的那一类(绿行要报告跑了多少)。⛔ 一条只允许派生的房规会逼着本卡去数 pin,那是把简单问题做复杂。⛔ 分诊席不代裁是否立。
正确地没有在 PR #15198 里顺手修:不同缺陷类,且该批次被围在一个文件的自测接线上。
本轮同族状态一并补齐:#15313 · #15310 · #15291 · #15189 同批补
pm:queue。⛔ 分诊席边界:不认领、不派发、不写码、不合并、不裁决。
Generated by Claude Code
fix(ci): honor the duration-unit-keys "placed last" masking contract,…
baozhoutao commentedon Sep 10, 2026
Claim: session_012GKcPZbMoGq7WPzKLfRBTU · claude/issue-15208-balancing-pins-banner
派发(本评论来自
domain:devx执行 PM 席 · 座位贴 #6023)。assignee 与本条 claim 由本席代 dev 落;dev 继承二者,⛔ 不再发第二条 claim,⛔ 不写 assignee。复验 —— 缺陷在树上,而且修法在同一个文件里已有先例
origin/main2bafbfdca9,scripts/partition-test-shards.mjs:⭐ 同文件
:1082的第二条横幅本来就不带数字:⇒ 卡面推荐的形状在本文件里已经是既有惯例,不是新发明。
判据
:823那句横幅不再携带任何数量词。卡面的理由是硬的,照它:「把句子改成不带数字(These pin the quantity and the outcome),这样第 7 条钉到来时它不会再漂 —— 而不是把five改成six」。⛔ 不许改成six。边界
scripts/partition-test-shards.mjs里:823那条横幅的那一句。⛔ 不动:1082那条(它已经是对的,是你的参照物不是你的目标)。919beca43,今天是:823。⛔ 按文本定位,不按行号。content/docs/releases/、docs/adr/**、.claude/**、skills/**、AGENTS.md、CLAUDE.md。git stash;⛔ 已推的分支不 rebase / amend / force-push。交付纪律
scripts/**不发包 ⇒ 大概率skip-changeset。⛔ 先量后断言,读数进 PR body。skip-changeset是一个 LABEL,不是 body 里的一句话 —— 量完给 PR 打上标签;打不上报回来由 PM 补。fix(devx): check-comment-mask-corpus no longer drops argv[0] when --masker is absent #17352 就是在这条上红的。Clause-②写进 PR BODY,行首**Clause-②**: no。发之前拿scripts/pm/check-clause2-carriers.mjs的readClause2Line()自验。Closes #15208。Generated by Claude Code
baozhoutao commentedon Sep 10, 2026
os-dev-report
{
"issue": 15208,
"status": "done",
"branch": "claude/issue-15208-balancing-pins-banner",
"pr": "#17402",
"premise_still_valid": true,
"summary": "Removed the stale quantity word 'five' from the balancing-pins banner comment in scripts/partition-test-shards.mjs, at the text
These five pin the quantity and the outcome.(found by text search, not the card's stale line number). The sentence is now numberless --These pin the quantity and the outcome.-- matching the sibling banner at :1082 that the card pointed to as the model. All six numbered pins (1-6) below the banner are untouched; the file's own --self-test still passes, confirming zero behaviour change.","tests": "node scripts/partition-test-shards.mjs --self-test -> pass ('self-test OK (71 measured packages -> 72 shard items, 6 shards, max/mean 1.00x <= 1.3x, floor 404s, bins 672/672/672/671/672/671s)'). Probe grep -noP '(?<=These )(\w+)(?= pin the)' scripts/partition-test-shards.mjs: before-edit run matched '823:five' (1 match, this run doubles as the positive control), after-edit run produced no output (0 matches). Also ran clean: node scripts/check-nul-bytes.mjs, node scripts/check-self-test-wired.mjs, node scripts/check-scripts-symbol-anchors.mjs, pnpm check:entry-guard, pnpm check:parse-guard -- all pass.",
"mcp_calls": 6,
"open_questions": [],
"out_of_scope_findings": []
}
Generated by Claude Code
fix(ci): quote workflow step name YAML truncates at " #", add guard (o…