本贴是 domain:devx 座位的唯一权威登记。 座位贴协议(维护者 2026-08-06 批准):索引 = label:pm:seat,总入口 #4604 (指针页)。
单写手规则 :只有在任座位 PM 编辑本贴正文;接管/移交 = 改正文 + 一条审计评论。空缺争用时:动手前重拉正文、审计评论时间戳先到先得、写后回读。活性判定(惰性,无心跳):会话座位查最近产出评论时间戳,超过 24h 无产出即可回收。
范围 packages/lint · packages/sdui-parser(仅 lint 消费)· content/docs/** · apps/docs · scripts/(门禁类)· .github/workflows/(门禁接线)· .githooks/ · examples/** 的测试基建面。
当前 PM 🟢 qq9340100 · session session_01Jqe56GnYFddggeAyfkZFVz · 2026-08-13 ~10:2xZ 经空缺接管(审计评论 10:24:30Z)。入口 /pm-dispatch devx,维护者 ~10:4xZ「任务很多,加速处理」、~16:5xZ「8385 我合了,继续 加速」⇒ batch 上限 6-7。
⚠️ 身份判据(17:5xZ 实测) :同一 login qq9340100 下同时开着他席 的 PR(#8546 /#8530 /#8524 属 spec,#8454 属 i18n)⇒ author 不足以判归属 。涉及身份的判断当场 get_me,⛔ 不继承。
当前台账(~19:5xZ 现值,逐条重扫所得) 在飞 2 卡 分支 档位 状态 #8543 claude/issue-8543-en-bundle-source-driftM · opus 19:5xZ 派出。check-i18n-bundles merge 模式从不更新已存在 的 field description ⇒ en bundle 静默过期而门禁报 OK。⛔ 漂移普查是第一交付物,数字报出来之前不许整体重生成 ;⚠️ 分诊裁决带前提 (「无人手工改 en 覆盖源」),前提假 ⇒ 退回分诊,⛔ 不硬推 #8540 claude/issue-8540-ratchet-remedy-detectorM–L · opus 19:5xZ 派出。全农场探测器。⚠️ token 已由分诊裁决,⛔ 不得重开 :两个 ⛔ token 各自成立 (MAINTAINER-ONLY=权限,SHRINK-ONLY=棘轮方向),探测器判析取式 ——扩张型补救要么带权限 token,要么直接拒绝 该补救;⛔ 拒绝形态永远不是违规,不得被推去用更弱的标记形态
停放/等人 2 本任期已落地 18 #8189 (PR #8383 )· #8292 -PR1(#8384 )· #8329 (#8393 )· #8304 (#8394 )· #8052 (#8395 )· #8165 (#8397 )· #8303 (#8402 )· #8012 收尾(#8302 )· #8351 (#8392 )· #8391 · #8340 补丁轮(#8406 )· #8292 的 ADR 半边(#8385 ,维护者手工合 )· #8256 · #8435 (#8517 ,17:26Z)· #8405 的不变量钉(#8513 ,17:38Z)· #8479 (#8525 ,18:13:53Z)· #8519 (#8539 ,18:37:47Z)· #8538 (#8549 ,19:35:27Z) 。
⚠️ 最后三张的关闭都按两读数核过,且 closed_by_pull_requests.total_count恰为 1 ⇒ 没有连带关掉 findings。
🎯 #8435 约定弧线已完整闭合(6/6) :#8435 →PR #8517 (2 处)· #8519 →PR #8539 (3 处)· #8538 →PR #8549 (第 6 处)。⚠️ 普查是真的关闭 而非耗尽:另一个 scripts/*.mts 是 32 行声明文件,零消息发射点。⚠️ 值得记住这条弧线怎么长出来的:#8435 以为只有 2 处;#8519 由那个 dev 立卡因为计数从未被确立,查出 5;#8538 由那个 dev 立卡因为 glob 看不见 .mts,查出 6。每一张卡都源于后一个 dev 不信前一个的计数 ;唯一一次 PM 明确要求「重跑普查而不是继承」(#8519 的假设 C)就是第六处冒出来的地方。
两张卡按证伪结案 :#8405 (差异是按面定制的设计,只钉不变量)· #8409 (并发取消如设计工作)。
可派存量:0 (19:5xZ 实测,两张刚被本席认领) ⚠️ 车道会回填,已实证两次 :#8538 (finding→18:2xZ 定级→18:4xZ 派出,约 20 分钟)、#8540 + #8543 (19:22Z 定级→19:5xZ 派出)。⇒ 「瓶颈在分诊供给」成立但不是死结 :findings 报得准就会变成卡。⛔ 仍不为填批次造卡。
findings / 待分诊(⛔ 定级属分诊席) #8551 (dispatch-gates 把 check-type-check-coverage 的耦合判成 silent)· #8531 (#8474 残留,37 处/三 claim)· #8386 · #8403 · #8404 · #8405 (⚠️ 已结案,勿重开)。存量:#8331 · #8285 · #8249 · #8173 · #8113 · #7963 。
pm:blocked / on-hold / tracking#6533 (pm:blocked 已失实,已转呈两次)· #7245 (上游 objectui#4109,⚠️ Blocked-by: 只在评论)· on-hold #6991 / #4676 · tracking #7849 / #4311 / #3877 / #8372 。
热文件串行队 文件 有序卡片 认领区域 scripts/check-i18n-bundles.mjs#8543 (在飞)⛔ 译文 locale 的 merge 模式不动;只谈 en 通道。⛔ 普查数字先行 新探测器 + 控制语料 #8540 (在飞)⚠️ 读 scripts/*.{mjs,mts} 全量当语料;token 已裁决为两者各自成立 scripts/check-test-typecheck.mts空(#8538 已落) 自测入口 selfTest() 早已存在(line 222,--self-test),接进两个消费包;⚠️ 该文件占 check:type-check-coverage 根条目 80 之中的 29,无余量 已加 marker 的六门 空(弧线闭合) ⛔ 不要再逐门加 token;下一步是 #8540 的探测器 packages/lint/**⚠️ 他席 PR #8546 在飞 (domain:spec 的 #8310 )→ 本席 #8210 (押后)⛔ 不碰 #8546 。派 #8210 前先看它是否已落 scripts/check-test-source-alias.mjs空 ⛔ 不得放宽 KNOWN_UNALIASED_TEST_IMPORTS packages/lint/src/system-fields.ts 及两消费点空(#8405 已结案) ⛔ 不要「统一」三处文案 content/docs/data-modeling/**空(#8479 已落) autonumber:唯一 + 单调,不保证无缺号 docs/adr/0093-*PR #8529 (等维护者) ⚠️ 「ADR-0081 D1」是本仓 ADR 序列之前 的历史编号碰撞scripts/pm/dispatch-gates.mjs#8551 (finding)⚠️ 它把 check-type-check-coverage 判成 silent(不是 undetermined),而 silent 桶哪儿都不打印.github/workflows/lint.yml#8331 (finding)⛔ 动它会拉进七个 workflow 门禁族 scripts/check-adr-merge-approval.mjs · workflow空 ⛔ 留维护者合并;armed ⇒ 恒红 .githooks/** · AGENTS.md空 pre-push 须 100755.github/workflows/ci.yml · turbo.json空 动它先读新门 header block
常设承诺 ⛔ docs/adr/** 的 PR 不得 AI merge / 入队 / 挂 auto-merge (⛔ Discipline: ADRs are confirmed and merged by the maintainer only — no AI seat may merge, queue, or auto-merge a docs/adr/** PR #6741 )。PR fix(ci): the ADR gate goes red while auto-merge is armed on a docs/adr/** PR #8302 后 auto-merge 在该前缀对所有人 失效。 ⛔ .claude/skills/** 与 skills/** 同禁 (pm-dispatch SKILL: skills updates are ADR-class — human review/merge required (maintainer ruling 2026-08-11) #7548 /[PM seat] skills — 🟢 hotlong #7623 )。 ⛔ 等维护者处置的 PR 一律 flip 到 ready —— draft 谁都合不了,停成 draft 是把唯一有权的人锁在门外。边界靠不入队/不挂 auto-merge/不投批准票来守(docs(adr): anchor the default-active-org session hook to ADR-0093 D9 (#8474) #8529 )。 ⛔ 能点绿的门禁不等于该点绿 ;机械可行性不是授权。 ⛔ 不做任何发布动作 (release workflow: publish pushes tags + npm but its version commit never reaches main — twice now (rc.3 c6a52d3, rc.4 a10cbc77); landing the commit must be part of the publish lane #6170 )。#7804's GlobalFilterSchema.object is unreachable in the Studio designer, and no console pin bump can fix it — the console vendors the PUBLISHED @objectstack/spec, which the key postdates #8134 永久卡在这条上。 ⛔ 凡改「约束 AI 行为的门禁本身」的 PR 留维护者合并 (fix(ci): the ADR merge gate requires an APPROVED review, from anyone #8172 、fix(ci): the ADR gate goes red while auto-merge is armed on a docs/adr/** PR #8302 );普通质量门禁不属此列(fix(devx): refresh the ledgered packages' dep closure before --re-measure, so a stale dist stops reporting phantom drift #8330 、fix(ci): check-required-contexts guards types: against dropped defaults #8394 、fix(devx): mark ratchet-editing remedies as maintainer-only in both gates' own output (#8435) #8517 、fix(devx): mark ratchet-editing remedies as maintainer-only in three more gates (#8519) #8539 、fix(devx): mark the ledger-expanding remedy maintainer-only in check-test-typecheck (#8538) #8549 先例)。 ⛔ 不碰别座位的 PR ;判归属按卡的 domain 标签 。 ⛔ 不为「留个记录」造卡 (check:engine-double-contract fires at CI time, not authoring time — four independent PRs tripped it on brand-new test files in one shift, and a pre-warning in the brief did not prevent it #8435 );⚠️ 但有实测就该立卡 (A farm-wide detector is the only thing that makes the #8435 ratchet-remedy convention mechanically enforceable — and the farm now has two conflicting ⛔ tokens that must be reconciled first #8540 、dispatch-gates classifies check:type-check-coverage as SILENT (known-irrelevant) for a card editing check-test-typecheck.mts, though the coupling is real and the path literal is in the gate's own source — it sits inside a prose sentence, so extractWatchHints discards it #8551 )—— 区别是有没有数。 凡改 .claude/skills/pm-dispatch/**、或改变契约接受/拒绝行为、或扩大公开面 ⇒ 一律 claude-fable-5(强制)。 changeset 按 publish 面判,不按惯例 :root scripts/ / test-only ⇒ skip-changeset(Pin cross-site unprovisioned-anchor content invariant (wording convergence blocked by drift) #8513 /fix(devx): mark ratchet-editing remedies as maintainer-only in both gates' own output (#8435) #8517 /fix(devx): mark ratchet-editing remedies as maintainer-only in three more gates (#8519) #8539 /fix(devx): mark the ledger-expanding remedy maintainer-only in check-test-typecheck (#8538) #8549 );⚠️ 但若 diff 落进已发布包的源 (如包内 translations/*.generated.ts),那就是真要 changeset。说明 接手指引 :/pm-dispatch devx → 先读本贴正文 → 再读晚于正文最后编辑 的评论 → 再自己重扫车道标签 。
Key pitfalls(累积;每条自含失效模式):
⛔ 零命中不成立,除非量具被证明看得见东西 ;「它不存在」必须附同一命令形态的正对照。 ⛔ 计数不是证据,位置才是。 ⛔ head -N 截断普查 = 把测量变成假象。 (docs: the autonumber contract ruled on #8283 (unique + monotonic, NOT gapless) is absent from the author-facing pages — a driver TSDoc cannot stop the mis-promise it exists to prevent #8479 :本席报 3,dev 实测 6,已公开更正。) ⛔ 变异测试本身可能没变异。 dev 的头两次变异用 perl \Q…\E 引用静默 no-op ,跑出来是绿 —— 「变异了但断言没抓到」与「根本没变异」输出完全同形 。它靠 echo 变异后那一行才发现。⇒ 跑变异前先回读被改的那行 ;未验明变异体的绿色结果不算数。 ⛔ 探测器正则的「间隔类」是 bug 的藏身处。 首版把间隔写成 [^.;](排除点号)⇒ 所有按路径命名登记表的 offer 静默不匹配 ,只因手工对照集不一致才被发现。⇒ 探测器必须连同手工分类对照集一起交付 ;无对照的零命中不证明任何事。 ⛔ 手工普查一天之内就腐化 :76 →(数小时后)77 .mjs + 2 .mts = 79。结论要带时间戳。 ⛔ glob 的扩展名就是普查的盲区边界 ⇒ 本农场标准 glob 是 scripts/*.{mjs,mts}。 ⛔ PM 不许在派发令的第一/第三分区夹带未实测的机制解释。 本席让 dev 立 dispatch-gates classifies check:type-check-coverage as SILENT (known-irrelevant) for a card editing check-test-typecheck.mts, though the coupling is real and the path literal is in the gate's own source — it sits inside a prose sentence, so extractWatchHints discards it #8551 时断言「这个耦合在门禁源码里确实没表达,工具行为符合设计」——两半都错 :路径字面量就在活代码里 (extractWatchHints 只在整串 都是路径形状时才收,而它嵌在带空格的散文句里);分类是 silent (36 个 hint)而非 undetermined,且 silent 桶哪儿都不打印 。dev 实测推翻了本席措辞。⇒ 猜测只能进第二分区并标注「未实测」 ,否则 dev 会当既定事实转写进卡。 ⚠️ 同一个提取器的两个失效方向互为代价。 dispatch-gates classifies check:type-check-coverage as SILENT (known-irrelevant) for a card editing check-test-typecheck.mts, though the coupling is real and the path literal is in the gate's own source — it sits inside a prose sentence, so extractWatchHints discards it #8551 是 [finding] dispatch-gates watch hints are read from self-test fixtures and comments, so gates are printed as MATCHED for paths they never read #8478 的镜像 (false-SILENT vs false-MATCHED)⇒ 放宽「整串须为路径」来捞回嵌在散文里的路径,正好把 [finding] dispatch-gates watch hints are read from self-test fixtures and comments, so gates are printed as MATCHED for paths they never read #8478 的毛病请回来,因为散文提到一个路径 ≠ 它读那个路径 。二者是否可机械区分,是留给分诊的问题。⛔ 管道里的门禁退出码属于管道最后一段 ⇒ pipefail / PIPESTATUS。 ⛔ 共享主检出上跑树扫门禁 = 伪读数 ;判据只认该 PR 的 job 结论。 ⛔ 要求结构化报告后只读结构化那一半 = 冤枉 dev。 (fix(devx): mark ratchet-editing remedies as maintainer-only in three more gates (#8519) #8539 :A/B 裁定写在 JSON 下方散文里,本席据此公开说 dev「没答」,已更正。)⇒ 要么要求所有结论进结构化字段,要么读全文。 ⚠️ 全绿的门禁,其失败路径从未被跑到。 改「失败时才打印」的文案 ⇒ 必须植入真实违规 再比失败路径。⚠️ 变异断言要互不重叠 (if/else,不是平铺 assert),否则「fixture 坏了」会同时触发「判别力」断言并误述原因。⚠️ 重型 job 可以比同批慢一个数量级。 PR fix(devx): mark the ledger-expanding remedy maintainer-only in check-test-typecheck (#8538) #8549 的 TypeScript Type Check 跑了 16 分钟 ,其余 26 条两分钟内完毕 —— 而它正是压着棘轮的那条。⇒ ⛔ 不许因为「其他都绿了」就 flip;逐 job 认结论 。⚠️ 通用车道默认在特定 diff 面上可能是错的 (changeset 见常设承诺)。⚠️ 本地 typecheck 绿 ≠ TEST_DEBT 绿 (feat(lint): the #8116 unprovisioned-anchor warning reaches filter and page-binding surfaces (#8340) #8406 实证 +12)。⚠️ 且 check:type-check-coverage 根条目无余量 ,根 tsconfig 下每个 console. +1 TS2584、每个 process. +1 TS2591 ⇒ 新脚本里天真地打日志就能把它弄红(fix(devx): mark the ledger-expanding remedy maintainer-only in check-test-typecheck (#8538) #8549 实证,改走既有 failures 数组)。⚠️ 「多处手抄看似漂移」可能是按面定制的设计 (finding: #8116's two unprovisioned-anchor diagnostics still hand-copy the cause sentence #8340 centralized into system-fields.ts #8405 )。⚠️ ADR 号对不上不一定是笔误 —— 可能是本仓序列之前的历史编号碰撞("ADR-0081 D1" is cited as the source of the default-active-org session hook, but ADR-0081 is the trusted react page tier — the decision behind defaultActiveOrg is anchored to nothing #8474 )。⚠️ 一枪处理多个 PR 时要记住哪几个还欠动作 (Pin cross-site unprovisioned-anchor content invariant (wording convergence blocked by drift) #8513 被晾约 15 分钟)。⚠️ 裁决字面可证伪,dev 证伪是好运行 ;字面过期时存续的是意图。⚠️ PR 正文与成品可矛盾,复核只认成品 (docs(objectui): remove phantom tab-level lazy/source and badge/badgeVariant from layout-dsl #8402 的 icon 教训)。⚠️ 派发令第三块的建议,dev 推翻常常是对的 (docs(objectui): remove phantom tab-level lazy/source and badge/badgeVariant from layout-dsl #8402 、fix(cloud-connection): derive features.marketplace from what is actually mounted (#8356) #8387 )。⚠️ 容器重启后判 dev 生死看产出不看 worktree。 ⚠️ 携带任务中途状态的完成通知 = 停摆信号,立即 SendMessage 复位,⛔ 不等静默阈值。 ⛔ 查重声明是读数不是礼貌用语 ,要给正对照。 ⛔ dev 被杀时可能已有 GitHub 产出而报告永不到 ⇒ 判「做过什么」扫 GitHub。 ⚠️ 共享账号下 attributed_actor 分不清维护者与 AI 席 ⇒ 默认当维护者,只报告。 ⚠️ auto-merge 挂上 ≠ 还挂着 ;入队判据是 timeline 事件或队列分支正命中,⛔ 分支缺席不充分。⚠️ ready_for_review 本身不 入队(docs(data-modeling): state the autonumber contract — unique and monotonic, not gapless #8525 /fix(devx): mark ratchet-editing remedies as maintainer-only in three more gates (#8519) #8539 /fix(devx): mark the ledger-expanding remedy maintainer-only in check-test-typecheck (#8538) #8549 三次实测:enqueued 都在挂 auto-merge 后 4-6 秒到)。⛔ 不要引用尚未创建的 issue 号。 ⛔ PR 正文「不修某卡」的否定句会关卡 ;安全写法 #N is not addressed here;收官必查 closed_by_pull_requests,⚠️ 并看 total_count 是否恰为 1。立 finding 卡后回读确认零 closing keyword (A farm-wide detector is the only thing that makes the #8435 ratchet-remedy convention mechanically enforceable — and the farm now has two conflicting ⛔ tokens that must be reconciled first #8540 /dispatch-gates classifies check:type-check-coverage as SILENT (known-irrelevant) for a card editing check-test-typecheck.mts, though the coupling is real and the path literal is in the gate's own source — it sits inside a prose sentence, so extractWatchHints discards it #8551 先例)。 ⚠️ Blocked-by: 必须写在正文 ([showcase] 内嵌子表 time 列没有真机夹具:两个 inlineEdit 网格都无自然落脚点,且都已顶到 6 列预算 #6533 /A type: 'form' action leaves the console shell for a bare /forms/:name page and ends on a generic "Thanks!" panel instead of the created record (observation) #7245 )。⚠️ 跨席记录的裁决 vs 维护者本席会话内直接指示 —— 后者为准。 ⚠️ 派发令有保质期;盘点开着的东西必须不带时间过滤。 enable_pr_auto_merge 在 draft 上直接报错 ⇒ 先 ready 再挂。issue_read get_labels 只取标签,比拉整卡便宜得多。issue_read get 空 assignees 整字段省略;多标签过滤是 OR ⇒ 判未认领用 no:assignee。list_pull_requests/get_files/search_issues 全量拉会超 token ⇒ 点读。Sanitizer:短尖括号片段就地删(反引号不保护)、引号实体化、HTML 注释吞 ⇒ 先预扫、再写、写后回读。Check Changeset 新旧两条 run 并存 ⇒ 红先看 started_at;⚠️ 后到的可能是 skipped,真正判过的是先起那条。合并前认门禁 job 的结论,不认聚合读数。 已 fired 定时器仍投递、文本可落后数轮 (实发:18:37 那枪的文本在其判据全部办完后才到)⇒ 每枪「幂等,先重读」开头、⛔ 不照过期文本重做已完成的动作。前任正文的「存量 N」有保质期 —— 接手第一动作永远是自己重扫车道。迁移注记:「范围 / 常设承诺 / pitfalls」经 hotlong → os-zhuang → qq9340100 三任承接;台账、热文件队为 qq9340100 席 2026-08-13 ~19:5xZ 的重扫现值 。旧账留在 body revision 历史中。
本贴是
domain:devx座位的唯一权威登记。 座位贴协议(维护者 2026-08-06 批准):索引 =label:pm:seat,总入口 #4604(指针页)。单写手规则:只有在任座位 PM 编辑本贴正文;接管/移交 = 改正文 + 一条审计评论。空缺争用时:动手前重拉正文、审计评论时间戳先到先得、写后回读。活性判定(惰性,无心跳):会话座位查最近产出评论时间戳,超过 24h 无产出即可回收。
范围
packages/lint·packages/sdui-parser(仅 lint 消费)·content/docs/**·apps/docs·scripts/(门禁类)·.github/workflows/(门禁接线)·.githooks/·examples/**的测试基建面。.claude/skills/**与skills/**归 skills 座位 [PM seat] skills — 🟢 hotlong #7623。scripts/下,归本席 —— 判据是被改文件的路径,不是它守护谁。domain:spec-tooling([PM seat] domain:spec-tooling — 🟢 os-zhuang #6018) 的相交面按 域标签词表有两个未入表条目:domain:spec-tooling(在用,文件面与 devx 完全重叠)与domain:ui(一例,与repo:objectui重复) #5469 裁决切分。domain:spec的 [3 of #7891] Flip the registration:runtimeTypesgainsobject+permission/book— whole rule families cross the publish door #8310,却在改packages/lint)。归属按卡的 domain 标签判,本席只把它记进热文件队当占用。当前 PM
🟢 qq9340100 · session
session_01Jqe56GnYFddggeAyfkZFVz· 2026-08-13 ~10:2xZ 经空缺接管(审计评论 10:24:30Z)。入口/pm-dispatch devx,维护者 ~10:4xZ「任务很多,加速处理」、~16:5xZ「8385 我合了,继续 加速」⇒ batch 上限 6-7。qq9340100下同时开着他席的 PR(#8546/#8530/#8524 属 spec,#8454 属 i18n)⇒author不足以判归属。涉及身份的判断当场get_me,⛔ 不继承。当前台账(~19:5xZ 现值,逐条重扫所得)
在飞 2
claude/issue-8543-en-bundle-source-driftcheck-i18n-bundlesmerge 模式从不更新已存在的 field description ⇒enbundle 静默过期而门禁报 OK。⛔ 漂移普查是第一交付物,数字报出来之前不许整体重生成;en覆盖源」),前提假 ⇒ 退回分诊,⛔ 不硬推claude/issue-8540-ratchet-remedy-detectorMAINTAINER-ONLY=权限,SHRINK-ONLY=棘轮方向),探测器判析取式——扩张型补救要么带权限 token,要么直接拒绝该补救;⛔ 拒绝形态永远不是违规,不得被推去用更弱的标记形态停放/等人 2
defaultActiveOrgis anchored to nothing #8474,已 ACCEPT)—— ready,⛔ awaiting a human merge(自 18:05 无变动)。不入队不挂 auto-merge、不投批准票、不催。合入后手工关 "ADR-0081 D1" is cited as the source of the default-active-org session hook, but ADR-0081 is the trusted react page tier — the decision behinddefaultActiveOrgis anchored to nothing #8474(Part of),残留归 The pre-repoADR-0081label survives in 37 more citations across three unrelated claims — same collision #8474 fixed for the active-org stamp only #8531。os-help),⛔ 不碰。本任期已落地 18
#8189(PR #8383)· #8292-PR1(#8384)· #8329(#8393)· #8304(#8394)· #8052(#8395)· #8165(#8397)· #8303(#8402)· #8012 收尾(#8302)· #8351(#8392)· #8391 · #8340 补丁轮(#8406)· #8292 的 ADR 半边(#8385,维护者手工合)· #8256 · #8435(#8517,17:26Z)· #8405 的不变量钉(#8513,17:38Z)· #8479(#8525,18:13:53Z)· #8519(#8539,18:37:47Z)· #8538(#8549,19:35:27Z)。
closed_by_pull_requests.total_count恰为 1 ⇒ 没有连带关掉 findings。🎯 #8435 约定弧线已完整闭合(6/6):#8435→PR #8517(2 处)· #8519→PR #8539(3 处)· #8538→PR #8549(第 6 处)。⚠️ 普查是真的关闭而非耗尽:另一个
⚠️ 值得记住这条弧线怎么长出来的:#8435 以为只有 2 处;#8519 由那个 dev 立卡因为计数从未被确立,查出 5;#8538 由那个 dev 立卡因为 glob 看不见
scripts/*.mts是 32 行声明文件,零消息发射点。.mts,查出 6。每一张卡都源于后一个 dev 不信前一个的计数;唯一一次 PM 明确要求「重跑普查而不是继承」(#8519 的假设 C)就是第六处冒出来的地方。两张卡按证伪结案:#8405(差异是按面定制的设计,只钉不变量)· #8409(并发取消如设计工作)。
可派存量:0(19:5xZ 实测,两张刚被本席认领)
findings / 待分诊(⛔ 定级属分诊席)
#8551(dispatch-gates 把⚠️ 已结案,勿重开)。存量:#8331 · #8285 · #8249 · #8173 · #8113 · #7963。
check-type-check-coverage的耦合判成silent)· #8531(#8474 残留,37 处/三 claim)· #8386 · #8403 · #8404 · #8405(pm:blocked/ on-hold / tracking#6533(⚠️
pm:blocked已失实,已转呈两次)· #7245(上游 objectui#4109,Blocked-by:只在评论)· on-hold #6991 / #4676 · tracking #7849 / #4311 / #3877 / #8372。热文件串行队
scripts/check-i18n-bundles.mjsen通道。⛔ 普查数字先行scripts/*.{mjs,mts}全量当语料;token 已裁决为两者各自成立scripts/check-test-typecheck.mtsselfTest()早已存在(line 222,--self-test),接进两个消费包;check:type-check-coverage根条目 80 之中的 29,无余量packages/lint/**domain:spec的 #8310)→ 本席 #8210(押后)scripts/check-test-source-alias.mjsKNOWN_UNALIASED_TEST_IMPORTSpackages/lint/src/system-fields.ts及两消费点content/docs/data-modeling/**docs/adr/0093-*scripts/pm/dispatch-gates.mjscheck-type-check-coverage判成silent(不是 undetermined),而silent桶哪儿都不打印.github/workflows/lint.ymlscripts/check-adr-merge-approval.mjs· workflow.githooks/**·AGENTS.mdpre-push须 100755.github/workflows/ci.yml·turbo.json常设承诺
docs/adr/**的 PR 不得 AI merge / 入队 / 挂 auto-merge(⛔ Discipline: ADRs are confirmed and merged by the maintainer only — no AI seat may merge, queue, or auto-merge adocs/adr/**PR #6741)。PR fix(ci): the ADR gate goes red while auto-merge is armed on a docs/adr/** PR #8302 后 auto-merge 在该前缀对所有人失效。.claude/skills/**与skills/**同禁(pm-dispatch SKILL: skills updates are ADR-class — human review/merge required (maintainer ruling 2026-08-11) #7548/[PM seat] skills — 🟢 hotlong #7623)。GlobalFilterSchema.objectis unreachable in the Studio designer, and no console pin bump can fix it — the console vendors the PUBLISHED@objectstack/spec, which the key postdates #8134 永久卡在这条上。types:against dropped defaults #8394、fix(devx): mark ratchet-editing remedies as maintainer-only in both gates' own output (#8435) #8517、fix(devx): mark ratchet-editing remedies as maintainer-only in three more gates (#8519) #8539、fix(devx): mark the ledger-expanding remedy maintainer-only in check-test-typecheck (#8538) #8549 先例)。check:engine-double-contractfires at CI time, not authoring time — four independent PRs tripped it on brand-new test files in one shift, and a pre-warning in the brief did not prevent it #8435);.claude/skills/pm-dispatch/**、或改变契约接受/拒绝行为、或扩大公开面 ⇒ 一律claude-fable-5(强制)。scripts// test-only ⇒skip-changeset(Pin cross-site unprovisioned-anchor content invariant (wording convergence blocked by drift) #8513/fix(devx): mark ratchet-editing remedies as maintainer-only in both gates' own output (#8435) #8517/fix(devx): mark ratchet-editing remedies as maintainer-only in three more gates (#8519) #8539/fix(devx): mark the ledger-expanding remedy maintainer-only in check-test-typecheck (#8538) #8549);translations/*.generated.ts),那就是真要 changeset。说明
接手指引:
/pm-dispatch devx→ 先读本贴正文 → 再读晚于正文最后编辑的评论 → 再自己重扫车道标签。Key pitfalls(累积;每条自含失效模式):
head -N截断普查 = 把测量变成假象。(docs: the autonumber contract ruled on #8283 (unique + monotonic, NOT gapless) is absent from the author-facing pages — a driver TSDoc cannot stop the mis-promise it exists to prevent #8479:本席报 3,dev 实测 6,已公开更正。)\Q…\E引用静默 no-op,跑出来是绿 —— 「变异了但断言没抓到」与「根本没变异」输出完全同形。它靠 echo 变异后那一行才发现。⇒ 跑变异前先回读被改的那行;未验明变异体的绿色结果不算数。[^.;](排除点号)⇒ 所有按路径命名登记表的 offer 静默不匹配,只因手工对照集不一致才被发现。⇒ 探测器必须连同手工分类对照集一起交付;无对照的零命中不证明任何事。.mjs+ 2.mts= 79。结论要带时间戳。scripts/*.{mjs,mts}。extractWatchHints只在整串都是路径形状时才收,而它嵌在带空格的散文句里);分类是silent(36 个 hint)而非undetermined,且silent桶哪儿都不打印。dev 实测推翻了本席措辞。⇒ 猜测只能进第二分区并标注「未实测」,否则 dev 会当既定事实转写进卡。pipefail/PIPESTATUS。TypeScript Type Check跑了 16 分钟,其余 26 条两分钟内完毕 —— 而它正是压着棘轮的那条。⇒ ⛔ 不许因为「其他都绿了」就 flip;逐 job 认结论。check:type-check-coverage根条目无余量,根 tsconfig 下每个console.+1 TS2584、每个process.+1 TS2591 ⇒ 新脚本里天真地打日志就能把它弄红(fix(devx): mark the ledger-expanding remedy maintainer-only in check-test-typecheck (#8538) #8549 实证,改走既有 failures 数组)。system-fields.ts#8405)。defaultActiveOrgis anchored to nothing #8474)。icon教训)。attributed_actor分不清维护者与 AI 席 ⇒ 默认当维护者,只报告。ready_for_review本身不入队(docs(data-modeling): state the autonumber contract — unique and monotonic, not gapless #8525/fix(devx): mark ratchet-editing remedies as maintainer-only in three more gates (#8519) #8539/fix(devx): mark the ledger-expanding remedy maintainer-only in check-test-typecheck (#8538) #8549 三次实测:enqueued都在挂 auto-merge 后 4-6 秒到)。#N is not addressed here;收官必查closed_by_pull_requests,total_count是否恰为 1。立 finding 卡后回读确认零 closing keyword(A farm-wide detector is the only thing that makes the #8435 ratchet-remedy convention mechanically enforceable — and the farm now has two conflicting ⛔ tokens that must be reconciled first #8540/dispatch-gates classifies check:type-check-coverage as SILENT (known-irrelevant) for a card editing check-test-typecheck.mts, though the coupling is real and the path literal is in the gate's own source — it sits inside a prose sentence, so extractWatchHints discards it #8551 先例)。Blocked-by:必须写在正文([showcase] 内嵌子表 time 列没有真机夹具:两个 inlineEdit 网格都无自然落脚点,且都已顶到 6 列预算 #6533/Atype: 'form'action leaves the console shell for a bare/forms/:namepage and ends on a generic "Thanks!" panel instead of the created record (observation) #7245)。enable_pr_auto_merge在 draft 上直接报错 ⇒ 先 ready 再挂。issue_read get_labels只取标签,比拉整卡便宜得多。issue_read get空 assignees 整字段省略;多标签过滤是 OR ⇒ 判未认领用no:assignee。list_pull_requests/get_files/search_issues全量拉会超 token ⇒ 点读。Check Changeset新旧两条 run 并存 ⇒ 红先看started_at;skipped,真正判过的是先起那条。迁移注记:「范围 / 常设承诺 / pitfalls」经
hotlong→os-zhuang→qq9340100三任承接;台账、热文件队为qq9340100席 2026-08-13 ~19:5xZ 的重扫现值。旧账留在 body revision 历史中。