Skip to content

chore(pm): tighten pm-dispatch SKILL.md table-row pin to 642 - #13360

Merged
zhuangjianguo merged 1 commit into
mainfrom
claude/issue-13090-ratchet-pin-642
Aug 30, 2026
Merged

chore(pm): tighten pm-dispatch SKILL.md table-row pin to 642#13360
zhuangjianguo merged 1 commit into
mainfrom
claude/issue-13090-ratchet-pin-642

Conversation

@zhuangjianguo

Copy link
Copy Markdown
Collaborator

Fixes #13090

What

Follows the ratchet gate's own standing hint: lowers MAX_TABLE_ROW_BYTES for
.claude/skills/pm-dispatch/SKILL.md in scripts/pm/check-skill-line-ratchet.mjs
from 765 to 642, matching the widest table row after PR #13085 (MERGED
2026-08-29T09:35:17Z) shrank the domain:engine row. Gate-script edit only —
.claude/skills/pm-dispatch/SKILL.md itself is untouched. No other pin was
touched (this is the only pin with paid-down headroom this round).

Proof (headroom returns to 0, as expected)

Before (pre-edit, at merge-base 56c5b1d):

ℹ️  .claude/skills/pm-dispatch/SKILL.md: max-table-row-bytes headroom is 123 — every pin is
    seeded at 0 headroom, so a row has been paid down; lower the pin to 642
    (shrink-only ratchets tighten opportunistically).
✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/SKILL.md: widest table row is 642 bytes
    (pin 765; headroom 123).

After (at head d4c5141b0):

✓ check-skill-line-ratchet: .claude/skills/pm-dispatch/SKILL.md: widest table row is 642 bytes
    (pin 642; headroom 0).

No hint line prints post-edit — headroom is 0, which is the expected/intended
result of a freshly-paid-down pin, not a failure.

node scripts/pm/check-skill-line-ratchet.mjs — EXIT 0
node scripts/pm/check-skill-line-ratchet.mjs --self-test111 cases pass, EXIT 0
pnpm check:pm-skill-ratchet — EXIT 0 (runs both of the above)

Local gates run at head d4c5141b0

Derived from the actual diff via node scripts/pm/dispatch-gates.mjs (not copied
from the dispatch brief) — all green:

  • pnpm check:agent-test-spelling
  • pnpm check:bash32-floor
  • pnpm check:cli-command-ids
  • pnpm check:cross-package-test-inputs
  • pnpm check:entry-guard
  • pnpm check:parse-guard
  • pnpm check:pm-skill-ratchet
  • pnpm check:pnpm-filter-targets
  • pnpm check:watch-hint-literal
  • node scripts/check-ci-filter-parity.mjs
  • node scripts/check-cross-package-test-inputs.mjs
  • node scripts/check-shard-attestation.mjs

Plus two convention-triggered obligations the derivation surfaces for any
gate-SCRIPT edit (not named in the dispatch brief; re-derived and run here):

  • node scripts/pm/bare-root-worklist.mjs --self-testOK, 50 live rows, none stale/missing/contradicted
  • pnpm check:pm-dispatch-gatesdispatch-gates self-test: 897 cases pass

node scripts/check-test-completeness.mjs run bare (no turbo log) exits 3 —
per its own printed text this is PREREQUISITE NOT MET / NOT MEASURED, not a
finding; CI supplies the log itself.

Scope

scripts/pm/check-skill-line-ratchet.mjs only — one line. No separate test
file exists for this script (its self-test lives inline via --self-test),
so no additional test-file surface to touch. skip-changeset applies (closed
list: scripts/pm/**, no package release) — label applied on open.


Generated by Claude Code

PR #13085 shrank the widest table row of .claude/skills/pm-dispatch/SKILL.md
(the domain:engine row) from 765 to 642 bytes. The shrink-only ratchet in
check-skill-line-ratchet.mjs has been printing the standing
opportunistic-tighten hint on every run since; this follows it, lowering the
MAX_TABLE_ROW_BYTES pin to match. Headroom returns to 0, as expected for a
freshly-paid-down pin.
@github-actions

Copy link
Copy Markdown
Contributor

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

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

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

  • Test Core (5/6) — 失败步骤: Run this shard's tests

    @objectstack/rest:test:  FAIL  src/ui-view-route-tenancy.measurement.test.ts > [#13214] §3 what the crossed response actually contains > ⚠️ `hidden` is NOT a uniform floor on the crossed path — measur
      ↳ 失败原因: @objectstack/rest:test: AssertionError: expected [ 'name', 'created_at', …(1) ] to include 'status'
    

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

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

历史信号:

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

分诊清单:

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

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

Copy link
Copy Markdown
Collaborator Author

Queue-ejection disposition (skills lane seat, session session_01EXxTW8mvPBhoHxmyPZ63de): the failing check is queue build 33298233173, Test Core (5/6), signature src/ui-view-route-tenancy.measurement.test.tsnot this PR's failure. This diff is one line in scripts/pm/check-skill-line-ratchet.mjs; the failing test file exists only on PR #13258's branch and reached this build through speculative stacking (ledger #13374 marks this PR S1 · inherited, a bystander by construction). Root cause is already established on the ledger by the domain:engine seat: the assertion pins pre-fix behaviour that merged fix PR #13329 (2026-08-30T04:23Z) reversed by design — deterministic, not flaky; the fix is an in-place assertion inversion inside #13258, owned by that PR's author (told there before enqueue).

Disposition per the triage checklist's own branch 3 and the one-re-run rule: the stack root has exited the queue, this PR's own tree is current-main + one line, so it re-queues once now. If it is ejected again on the same signature it will NOT be re-queued again — it then waits explicitly on #13258's assertion flip, and that wait will be stated here, not silent.


Generated by Claude Code

Merged via the queue into main with commit e3c61c0 Aug 30, 2026
34 checks passed
@zhuangjianguo
zhuangjianguo deleted the claude/issue-13090-ratchet-pin-642 branch August 30, 2026 07:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/xs 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.

Ratchet bookkeeping: pm-dispatch SKILL.md widest-table-row pin can follow the paid-down row (765 to 642 bytes) once PR #13085 lands

2 participants