Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .claude/skills/pm-dispatch/references/platform-readings.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
- ⇒ 落地方法读分支规则,⛔ 永不读 auto-merge 请求;树上每 PR 一个 squash 提交。
- `auto_merge_enabled` webhook 载荷同报 `merge` ⇒ 三个载体一致也不作数,判据是落地提交的父数。
- squash 落地重写署名 trailer:作者行按提交作者身份改拼,`Claude-Session:` 原样存活。
- squash 的 committer date 是入队时刻,快进不改 ⇒ 落地时刻读 `merged_at`/`merged`,不读 `git log`。
- `enable_pr_auto_merge` 对已 `mergeable_state: clean` 的 PR 照样成功,与工具描述的优雅失败相反。
- 回显两向不可靠,空回显不等于未挂上 ⇒ ⛔ 不拿它当任何方向的证据、不为它空转。
- 配额枯竭时 `enable_pr_auto_merge` 回成功而挂载根本没发生 ⇒ 验效果,不验回应。
Expand Down Expand Up @@ -393,8 +394,8 @@
- required checks 的名单是每仓事实,objectstack 七个:
`TypeScript Type Check` · `Lint & Repo Gates` · `Test Core` · `Dogfood Regression Gate` ·
`Build Core` · `Temporal Conformance (live PG + MySQL)` · `Governed Surface Queue Guard`。
- ⭐ 本表的 `mustName` 不要求排他 ⇒ 第七个加注册行不会让本表变红。
- ⇒ ⛔ 门绿不是本行已对的读数:计数行只能手跟改。
- ⭐ 本表的 `mustName` 声明 `statesTheSet` ⇒ 必须逐字等于注册表,加注册行不跟改本表即红。
- ⇒ 门绿即名单逐字齐全的读数;⛔ 但数量词未钉:实测 七→六 照绿,只能手跟改。
- `in_progress` 不是过;advisory 门禁红进 main 是共享损伤,照样止血立单。
- ⛔ 聚合命令同样不作判定:`check:type-check-debt` 可在包级 typecheck 绿时红。
- `check:i18n` 以 PREREQUISITE NOT MET(workspace CLI 未 build)退 3,不是漂移。
Expand Down Expand Up @@ -424,7 +425,7 @@
- `check-governed-merges` 浅克隆上拒答而非少报,并报未审计仓数;补救 `git fetch --shallow-since=`。
- ⛔ 不越过该拒答自行枚举:短清单读作合规;加深日期取窗口起点之前,不猜深度。
- 前台 `sleep` 被 harness 拒 ⇒ 等待写成带 until 条件的前台阻塞等待,⛔ 不写 sleep 轮询循环。
- `check:pm-dispatch-gates` 逾容器 600 秒前台上限 ⇒ detach 加 `tail --pid` 前台等;超时不是读数。
- `check:pm-dispatch-gates` 单机 430–450 秒贴调用方容器上限 ⇒ detach 加 `tail --pid`;超时非读数。
- `check-half-states.mjs` 连 `--help` 都跑整仓 I/O ⇒ 早读到的输出文件是空的,不是干净的。
- 后台工具调用里再 `nohup … &` 会让包装器报假 `exit 0`,而真活还在跑。
- 分支删除被拒有第二形态:代理回 403,与既有 send-pack 断连同处置 ⇒ 不可删,⛔ 不重试。
Expand Down
54 changes: 53 additions & 1 deletion scripts/pm/check-skill-line-ratchet.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -976,7 +976,42 @@ export const CEILINGS = new Map([
// line-neutral folds among this file's adjacent rule pairs, and re-wrap funding
// is refused per the 2026-08-17 rule in any case. Landed count, headroom 0,
// same convention.
['.claude/skills/pm-dispatch/references/platform-readings.md', 465],
// Raised 465 → 466 by the SEVENTEENTH readings increment, again under the
// STANDING one-file exception quoted above rather than a fresh decision card,
// and again recorded as a `ruledRaises` record citing it. Its carrier was a
// FOLDED family of three cards, each graded separately and each checkable by
// its own control word. Spent at ONE line for the one deduplicated reading,
// written in this file's voice: in a merge-queue repository the squash
// commit's committer date is the ENQUEUE instant — the queue writes that
// commit onto its own ref at enqueue and fast-forwards `main` onto the same
// object later, so the date never moves — while `merged_at`, the `merged`
// timeline event and `removed_from_merge_queue` carry the fast-forward
// instant, identical across one group and measured 15–26 minutes later on
// eight landings, so a landing instant is read from `merged_at` or the
// `merged` event and never from `git log` (+1) = +1 exactly. Candidates 1 /
// landed 1 / already present 0 / refused 0 — the family grep (committer date
// / 入队时刻 / merged_at / 快进 / git log) on `origin/main` hit only the
// `merged: false`-beside-`merged_at` row and the starvation block's git-first
// rows, none of which carries the instant.
//
// THREE corrections are paid in place and buy nothing — a rewrite is not a
// raise. The two `mustName` rows, whose stated basis 「本表的 `mustName` 不要求
// 排他」 is refuted by the landed `statesTheSet` census in
// `scripts/check-required-contexts.mjs` (that array must now equal the
// required-context registry EXACTLY, and every literal in it must appear
// verbatim in the ledger, so an enrolment that does not follow the table is
// red on the enrolling PR), are rewritten onto what the gate does, keeping as
// the narrowed conclusion the residual that gate's own header records: the
// COUNT WORD introducing the list is ordinary prose, unpinned, hand-followed.
// And the dispatch-gates battery row, whose stated basis 「逾容器 600 秒前台
// 上限」 is contradicted by five runs on one box under sibling load — four of
// 432–436 s and, on this branch with another agent running the same battery,
// one of 450.2 s — is re-conditioned on what is measured: cap-sized, with the
// cap a property of the CALLER's container and the margin a property of how
// contended it is, the detached prescription unchanged.
// Nothing else was paid in place: re-wrap funding is refused per the
// 2026-08-17 rule in any case. Landed count, headroom 0, same convention.
['.claude/skills/pm-dispatch/references/platform-readings.md', 466],
// Per-operation REST/GraphQL/git channel mapping — which fleet operation has
// a REST twin (each row executed in a real session, provenance date carried
// per row), the handful that are GraphQL-only, and the queue-routing
Expand Down Expand Up @@ -1665,6 +1700,23 @@ export const CROSS_FILE_MOVES = new Map([
date: '2026-09-15',
delta: 6,
},
{
// The SEVENTEENTH increment, under the same STANDING exception — the
// same words again, for the same reason: a record that quotes no
// ruling is RED and each record stands alone. The +1 is accounted for
// line by line beside this entry's ceiling above; the exception's
// conditions (per-item verification and the candidate / landed /
// already-present / refused counts) are carried by the raising PR's
// body and the seat's ACCEPT.
ruling:
'the standing one-file exception for'
+ ' `.claude/skills/pm-dispatch/references/platform-readings.md` — pm-dispatch'
+ ' SKILL.md, verbatim and untranslated: 「唯一例外:`platform-readings.md`'
+ ' 增量抬上限到落地行数,免决策卡,记 `ruledRaises` 引常设裁决。条件:席位验收评论'
+ '逐条核实、去重计数(候选/落地/已有/拒收)、一事一行、不计重排」',
date: '2026-09-15',
delta: 1,
},
],
sources: [
['.claude/skills/pm-dispatch/references/lanes/cli.md', 35],
Expand Down
Loading