Skip to content

Commit dc46c4e

Browse files
claude[bot]claude
andauthored
docs(pm-skill): write the third platform-readings increment and measure it at +36 against the 358 ceiling (#15265)
* docs(pm-skill): write the third platform-readings increment and measure it against the ceiling Four members, each written in the file's voice and wrapped by the gate's own `wrapLine` rather than by hand, so the counts are landing costs and not estimates: the channel/input-scoped attribution-footer row, the MCP-side rate-refusal reading, the CDN cause behind the payload channel's absence rule, and the Routine transport family with its orphan-recovery path. The ceiling row is deliberately NOT touched: raising it is a maintainer-floor act and this change exists to give that ruling a measured number to size. The ratchet is expected RED. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox * docs(pm-skill): fold a fourth footer observation, measured by this flight, into the same row Opening this PR over a raw REST create measured a combination none of the three prior observations covered: the create end appended a SECOND session-URL footer (a leading horizontal rule, exactly +90 bytes, the sent body a strict prefix of the stored one) rather than the bare form the edit end appends. The row now says the append shape varies by channel AND by action, and still refuses to state a law. Re-measured after the change: the member costs 12 lines instead of 9, so the increment is +39 rather than +36. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox * tooling(pm): raise the platform-readings ceiling to 397 on the ruling, as an ordinary ruled raise The maintainer sized the third increment at the measured +39 (decision batch #34, item 1 = A). The ceiling row moves 358 to 397 and carries the ruling verbatim beside it, with the four members and their line counts, the same way the row above carries the previous one. The move declaration takes a SECOND `ruledRaises` record rather than a carried- forward `was`: an ordinary ruled raise is the maintainer's, so it is subtracted before the move is priced. `was` stays at this file's literal pre-move 314, and the verdict reads +10 (314 to 397, less 73 lines of ordinary ruled raise) against the same net source decrease of 11. Item 2 of the ruling is C: the two quota sentences left in tension stay exactly as written, pending a discriminating read. Neither is edited. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 19be9df commit dc46c4e

2 files changed

Lines changed: 91 additions & 10 deletions

File tree

‎.claude/skills/pm-dispatch/references/platform-readings.md‎

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,12 @@
125125
- **红窗调度**:`until remaining > 阈值` 的守候**只给上面那几件 GraphQL-only
126126
的**(逐件判据与官方文档核对日期住 `references/rest-channel.md`),⛔ 其余一切不为配额空等;
127127
走队列的仓落地必经 auto-merge ⇒ 红窗里**无退路**,直合仓有(合并本身有 REST 端点)。
128+
- **MCP 侧限流下,只有 MCP/GraphQL 做得了的那两件(draft 翻转、auto-merge 挂载)整窗不可得 ——
129+
被这样挡住的翻转是在等窗口,不是关于该 PR 的信号**(2026-09-04 02:17Z 实测:MCP
130+
`update_pull_request` 回 `API rate limit already exceeded for user ID …`,同刻本席 repo-scoped REST 读回满
131+
额;两桶分离本身见上「信封」条,⛔ 不重复)⇒ ⛔ 不据它重挂、不据它改判 PR 状态,其
132+
余(评论、标签、请审、读、timeline)照常走 REST。⚠️ 报文里的 user ID 只是报文:据它
133+
推「MCP 池按身份跨席共享」与本节首条的禁令正面冲突,⛔ 未裁不写成事实。
128134
- **`issue transfer` 因配额或权限拿不到 ⇒ 当轮改走多仓协调条款的「在目的仓重建」
129135
配方**(出处头 + 裸 `#N` 改全名 + 关源单为 moved):纯 REST、配额免疫,⛔ 不为转移空等重置。
130136
- **两个「瘦身参数」都不省池**:`fields` 省载荷不省池 —— MCP list/search 服务器端无条件抓
@@ -154,6 +160,11 @@
154160
单卡读、**不覆盖 issue search**(搜索页无 SSR 结果);⛔ 永
155161
不拿渲染列表定规模(静默只显一页,实测 12 vs 权威 147)。渲染层 WebFetch 仍在(~15 分缓存、
156162
有损)。
163+
- **「本档的缺席不是读数」的成因:本档经 CDN 缓存,专对最新内容失效且绕不掉** —— 内容
164+
可滞后数分钟到数十分钟,实测三次抓取横跨 75 分钟(其中一次带 cache-busting 查询串 +
165+
no-cache 头)都没取到一条已存在 75 分钟的评论(2026-08-30)。⚠️ 它**没有位置性对照**:更早
166+
的内容全在、读起来完全正常,只有最新几条缺席 ⇒ 前 15 项那条判别式在此不成立,唯一
167+
出路是第二通道;失效方向是据它对**别人的工作**下「没有认领」的判词。
157168
- **查重先 `search_issues`,并按它的契约拼**:它是**语义**匹配器 —— ⛔ `query` 里永不放 GitHub
158169
限定符(`repo:` / `is:` / `label:` / `in:title`),范围走 `owner` / `repo` 参数,`query` 写成描述缺陷
159170
的**句子**;限定符形对每个带自由词的查询回 `total_count: 0` 且 `incomplete_results: false`,同一意
@@ -293,6 +304,18 @@
293304
线只写页脚则原样存活(2026-08-28 两仓同轮、两张 PR 全文回读)。**评论不受影响**(两种拼法
294305
都活)⇒ 失效既**依拼写**又**依载体**:评论里验过页脚**对 PR 正文什么都没证明**。⇒ PR
295306
正文页脚**不带前置横线**、且**写后回读正文**(唯一检测手段);评论两形皆可。
307+
- **署名页脚的写侧变异按通道与输入双重定域,⛔ 不是一条定律**(作者侧处方住 AGENTS.md,本
308+
条只定作用域):MCP `update_pull_request` 包装器**删掉** PR 正文的页脚块(2026-09-03 姊妹仓实测:带
309+
与不带页脚两次送出,落库都是 12317 字节、零页脚);裸 REST `PATCH /pulls` **追加**一个裸页脚
310+
并保留既有 session-URL 页脚(送 15726、落 15784、差恰 +58、前缀逐字节相同;2026-09-04 两仓两席
311+
各一次独立观察,后一次全文比对 22,533 字符、两页脚并存)。⚠️ **同一 MCP 包装器上有反
312+
例**:把**已带页脚**的正文整体重送,两条页脚均逐字节存活(2026-09-04 07:02Z,n=1),提出的机理
313+
是「工具只为没有页脚的正文合成页脚」—— ⛔ **未实测**,⛔ 不把这些观察压成一条定
314+
律、不为凑定律改写其中任一句。**第四种组合**:裸 REST `POST /pulls` 建 PR 时,在已带
315+
session-URL 页脚的正文后再追加一条 **session-URL** 页脚(前置 `---`、恰 +90 字节、送出体是存
316+
储体的严格前缀;2026-09-04 实测)⇒ 追加的形态随通道**与动作(建 / 改)**变,⛔ 不由任一条推
317+
其余。⇒ 写后必回读;评论创建两通道都追加同样 58 字节 ⇒ 严格解析 `os-dev-report` 评论必
318+
须停在最后一个右花括号。
296319
- **并行 spec PR 同动 pin 计数断言**(被踢不是事故,按 os-regen 序再解一轮):解冲突两侧收据都
297320
保留、按合并顺序堆叠,新计数**从合并后源码重数**(操作数是文件本身不是历史),⛔ 不从
298321
两侧收据做算术;双方占同一编号是常态(各取当时 max+1),重编号后进侧。
@@ -356,3 +379,19 @@
356379
原则、定时器选型(⛔ 不用 send_later 链)与恢复 playbook 在主文件;事实补遗:`npx ccusage blocks` 容
357380
器内可用(读本地会话记录),报当前 5 小时窗口边界/剩余与燃烧率;盲区:窗口起点是本地推
358381
断的近似值;撞墙报文形如「limit reached, resets at HH:MM」(重置时刻只在此刻可得)。
382+
- **agent 建的 Routine 起的会话不带 `mcp__github__*` 工具**(2026-08-29 两次探针,决断的是第二次:显
383+
式禁止自退休、唯一动作是跑一次 github 查询并发一条评论 —— 回 30s IDLE、评论从未出
384+
现,判别读数是目标卡评论数与 `updated_at` 全程不动,它排除了「正确自退休」这个同形解
385+
释)⇒ **对任何以 GitHub 读写为工作的席位不可用**。⚠️ 2026-09-04 复核本会话工具契约:创
386+
建端现有 `connectors` 参数(声明起的会话可用哪些连接器)⇒ 当时的成因(不存连接器)有了参
387+
数级解法,⛔ **未实测**,⛔ 不据参数在场推「现在能用了」。
388+
- **自绑唤醒的是已存在的会话、工具已加载 ⇒ 上条的传输问题不发生 —— 代价是拿新会
389+
话可恢复性换工具可得性**(`persistent_session_id` 或绑自身):绑定的会话一死,定时器成孤儿、
390+
每小时唤醒一个死会话且长期无人察觉(实测一例躺了 6 天)⇒ **绑定会话一死:先删旧
391+
Routine、再从新会话重建,⛔ 永不留孤儿**;自绑是性能优化(保住一条 prompt-cache 链),⛔ 不是
392+
状态存储,删了重建零成本。
393+
- **创建端无 `sources`、无 `model` 参数**(2026-09-04 复核仍然如此)⇒ agent 建不出带仓库源或钉死
394+
档位的 Routine,起的会话落**默认档**(2026-08-29 实测落在档位裁决之下,两个方向 agent 都改不
395+
动);⚠️ 更新端**今日带** `model`,但只有「每次起新会话」的 Routine 吃得到 —— 自绑的保
396+
持所绑会话的档位直到绑定解除 ⇒ ⛔ 不据「更新端能改档」推「自绑的档位可改」;UI 建
397+
的 Routine agent 改不动(更新端只受理自己建的)。

‎scripts/pm/check-skill-line-ratchet.mjs‎

Lines changed: 52 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -496,12 +496,36 @@ export const CEILINGS = new Map([
496496
// bytes spread over three bullets, none of them completing a line inside its own
497497
// bullet), and re-wrap funding is refused per the 2026-08-17 rule. Landed count,
498498
// headroom 0, same convention.
499+
// Raised 358 -> 397 by the third-increment ruling — again an ORDINARY raise
500+
// under this map's own maintainer exit, ⛔ not a cross-file move. Maintainer,
501+
// decision batch #34, 2026-09-04, verbatim and untranslated: 「决裁批 #34 同意」
502+
// on the presented recommendation, item 1 = A; the director record's own
503+
// sentence for that item: "raise the ceiling by the measured +39, 358 → 397".
504+
// Spent in full, and measured the same way — each member written in the file's
505+
// voice and wrapped by this module's own `wrapLine` rather than estimated:
506+
// attribution-footer scoping +12 (the row is true per CHANNEL and per
507+
// ACTION/INPUT over four observations, and names what is untested instead of
508+
// resolving the mechanism into a law), the MCP-side rate refusal read as a
509+
// window reading rather than a signal about the PR +6, the CDN cause behind
510+
// 「本档的缺席不是读数」 +5, and the Routine transport family +16 (no connector
511+
// tools in a fired session · self-binding's trade and its orphan-recovery rule
512+
// · neither `sources` nor `model` on the create end) = +39 exactly. Two members
513+
// shrank against `origin/main` before landing, because the file already carried
514+
// the fact: a reading the table states is cited, never re-spelled. Nothing was
515+
// paid in place — the deletions this file can offer were measured at 0 whole
516+
// lines under the previous raise and nothing has been added since to delete —
517+
// and re-wrap funding is refused per the 2026-08-17 rule. Landed count,
518+
// headroom 0, same convention.
519+
// Item 2 of the same ruling = C: the two quota sentences this increment leaves
520+
// in tension — the standing 「⛔ 不据限流报文里的 user ID 推…」 and the new
521+
// member's 未裁 clause beside it — BOTH STAY AS WRITTEN, pending a
522+
// discriminating read. ⛔ Neither is edited here or there.
499523
// ⚠️ This entry is also the DESTINATION of the cross-file move declared below,
500-
// and the +34 above is not part of it. It is recorded there as a `ruledRaises`
501-
// record quoting this same ruling, which is what keeps that declaration's `was`
502-
// at this file's literal pre-move 314 while the move's own raise still reads
503-
// +10 against the sources' −11.
504-
['.claude/skills/pm-dispatch/references/platform-readings.md', 358],
524+
// and NEITHER ordinary raise above is part of it. Both are recorded there as
525+
// `ruledRaises` records quoting their own rulings, which is what keeps that
526+
// declaration's `was` at this file's literal pre-move 314 while the move's own
527+
// raise still reads +10 against the sources' −11.
528+
['.claude/skills/pm-dispatch/references/platform-readings.md', 397],
505529
// Per-operation REST/GraphQL/git channel mapping — which fleet operation has
506530
// a REST twin (each row executed in a real session, provenance date carried
507531
// per row), the handful that are GraphQL-only, and the queue-routing
@@ -777,11 +801,13 @@ export const CROSS_FILE_MOVES = new Map([
777801
was: 314,
778802
// ORDINARY ruled raises taken on this destination SINCE the move. Each is
779803
// the maintainer's rather than this move's, so each is subtracted before
780-
// the move's raise is measured: 358 − 314 − 34 leaves the +10 the move
781-
// landed with, against the same net source decrease of 11. Recording it
782-
// here rather than inside `was` is the whole point — with neither, the same
783-
// tree reads the move as +44 against −11 and reds twice, for lines no
784-
// source was ever asked to pay.
804+
// the move's raise is measured: 397 − 314 − (34 + 39) leaves the +10 the
805+
// move landed with, against the same net source decrease of 11. Recording
806+
// them here rather than inside `was` is the whole point — with neither, the
807+
// same tree reads the move as +83 against −11 and reds twice, for lines no
808+
// source was ever asked to pay. The list GROWS by one record per ruled
809+
// raise; ⛔ `was` never moves, so the reviewer's completeness check keeps
810+
// the one shape it has always had.
785811
ruledRaises: [
786812
{
787813
// Quoted beside this entry's ceiling above, where the +34 is accounted
@@ -798,6 +824,22 @@ export const CROSS_FILE_MOVES = new Map([
798824
date: '2026-09-04',
799825
delta: 34,
800826
},
827+
{
828+
// The third increment, ruled the same day as the one above and in the
829+
// same way. Quoted beside this entry's ceiling too, where the +39 is
830+
// accounted for member by member. Copied from there, not paraphrased.
831+
ruling:
832+
'the third-increment raise on `.claude/skills/pm-dispatch/references/platform-readings.md`'
833+
+ ' — maintainer, decision batch #34, 2026-09-04, verbatim and untranslated:'
834+
+ ' 「决裁批 #34 同意」 on the presented recommendation, item 1 = A; and the director'
835+
+ ' record\'s own sentence for that item: "raise the ceiling by the measured +39,'
836+
+ ' 358 → 397". Measured per member rather than estimated: attribution-footer'
837+
+ ' scoping +12, the MCP-side rate refusal read as a window reading +6, the CDN'
838+
+ ' cause behind the payload channel\'s absence rule +5, and the Routine transport'
839+
+ ' family +16 = +39 exactly.',
840+
date: '2026-09-04',
841+
delta: 39,
842+
},
801843
],
802844
sources: [
803845
['.claude/skills/pm-dispatch/references/lanes/cli.md', 35],

0 commit comments

Comments
 (0)