本贴是 domain:spec-surface 座位的唯一权威登记。 座位贴协议(维护者 2026-08-06 批准):索引 = label:pm:seat,总入口 #4604 (指针页)。本席由维护者 2026-08-07 批准自 domain:spec 拆出。
单写手规则 :只有在任座位 PM 编辑本贴正文;接管/移交 = 改正文 + 一条审计评论(评论只作交接存档,不承载状态)。空缺争用:动手前重拉正文、审计评论时间戳先到先得、写后回读。活性判定(惰性,无心跳,仅接管冲突时评估):>24h 无产出即可回收。
范围
packages/spec 的文本面 :describe / JSDoc / 墓碑迁移散文 / 错误 guidance 与 alias 表 —— 即契约「怎么解释自己」的那些行。
准入判据 = 校验不变量 :改动前合法的元数据改动后逐字节依然合法,非法依然非法;客户零迁移,changeset 恒 patch。
三条红线:
产物随源走 :describe 改动会重生成 content/docs/references/** 与 json-schema manifest 的 description 字段;registry reason 散文投影进 docs/protocol-upgrade-guide.md 与 spec-changes.json(#6495 实测)—— 产物变更归触发它的源 PR,跑 check:generated 重生成提交、⛔ 不手改;同一生成树在飞重生成 >1 时按 #4675 四步序串行。
> ⚠️ 判据是「改的是不是渲染输入」,不是「改的是不是文本」 (七类实证):#6389 ledger 数据行 ⇒ 11 页;#5059 模块头 ⇒ #6447 恰好 6 页;registry reason ⇒ upgrade-guide + spec-changes;guidance / error-map ⇒ 零(#6423 /#6453 );contracts/** 纯 JSDoc ⇒ 零(#6463 );TSDoc @example ⇒ 零 (#6729 证伪:生成器只渲染 describe 与模块头,从不渲染属性 @example );authorable 键的 JSDoc 块 ⇒ 零 (#6759 证伪:reference 页只带 describe 串,JSDoc 连 .d.ts 都不进,只进 sourcemap)。
卡点自报信号
队列水位:连续 3 天 >15 张或平均滞留 >48h → 提频/加 batch/继续拆域;
同一 references 树在飞重生成 PR >2 → 打包;
分诊脉冲(单次灌入 20+)→ 一次性 sweep 专项。
运行模式 :sweep-first(试点 #6243 ;#6495 双卡包再证)。
当前 PM(会话或 Routine ID)
🟢 In office : GitHub os-project-manager / session session_018ffcE95NaMJcL9XJ9VDYgk / takeover 2026-08-07T16:45Z —— 维护者 16:40Z 交接令指定的接任 PM。
前任 :hotlong / session_01JTSZAjgtL3oR6YcpNDhW3T,2026-08-07T13:45Z → 16:40Z 注销;其三项在手由其自己跟完,本席不碰。
说明 — 座位现状(2026-08-08T17:3xZ 刷新)
在飞(本席,4)
卡
分支 / PR
状态
#6630 part 2
PR #6753 (ready,已进合并队列 )
已 ACCEPT(四→三算术本席 git 独立复算);skip-changeset 本席手打 + rerun_failed_jobs 转绿;终报已达后翻转
#6628
PR #6759 (ready,auto-merge 已挂)
已 ACCEPT(25 检查零失败,自带 changeset);pin 用合成名 自测而非幽灵字面量 —— 未来真实现该规则不会破 pin;终报已达后翻转
#6631
claude/issue-6631-rotation-dialect-caveat
dev 曾被账号级 session limit 杀死(14:5xZ),17:2xZ SendMessage 复活续跑;死前进度:前提已验、api-surface 假stale已诊断
#6619
claude/issue-6619-fold-error-maps
同上被杀、17:2xZ 复活;死前进度:registry 闭合已实证(65→70 条声明,三张表全部进门禁视野)
已收(本轮):#6641 /PR #6729 (v17)已 MERGED —— 发版板本席再次清零。#6641 dev 的 TEST_DEBT 补丁单文件 +17/−12、账本未碰、19→17 回账面原值;changeset 保留(裁 A:例子随 dist 发布,release note 是触达已抄旧例者的唯一通道)。
队列(0)+ 待分诊供给(2)
本席队列清零。tombstone 审计(17:2xZ 完成,SHA 252f71bd6)普查 105 个 retiredKey() / 28 文件 + 66 块 guidance / 48 文件 ,21 候选毙 19,存活两张(unassigned、未打 domain 标签,等分诊定级后才是本席补给):
[finding][spec] The dashboard.widgets[].aria tombstone sends the author to app.aria as a surviving live surface — App.aria is itself a retiredKey() tombstone removed in the same major #6756 — dashboard.widgets[].aria 墓碑说 AriaProps「在 app.aria 上仍存活」,但 App.aria 自己就是同版本移除的墓碑,两行后推荐的 os migrate meta 正是剥掉它的转换。
[finding][spec] The waitEventConfig.timeoutMs tombstone prescribes timerDuration: 60000 — timerDuration is z.string(), so following the prescription is a TS2322 and an invalid_type parse failure #6758 — waitEventConfig.timeoutMs 墓碑处方 timerDuration: 60000,但 timerDuration 是 z.string();ADR-0087 转换自己写着 String(next.timeoutMs)。⚠️ 有一条会改接受面 的替代修法(union 放宽),已明示出界 —— 选它则归协议席。
强负面结论:23 条 os migrate meta --from 16 承诺逐条落到已注册转换,无一虚假 。
dev 顺产 findings:[docs] content/docs/automation/flows.mdx:977 still teaches an ETL pipeline's retry as a live retry surface after #6414 retired the L2 layer #6750 (flows.mdx/formulas.mdx 手写页 ETL 残留,docs 席面)、rls.zod.ts using's .describe() still advertises "the four compiler-supported forms" (SQL-style) after ADR-0058 widened the lowered subset #6762 (using describe 在 ADR-0058 后 under-promise,describe 确进 references )、No gate reads spec TSDoc @example strings, so an expression example that stops compiling is invisible — #6641 was found by hand #6763 (无门禁读 spec @example —— rls.zod.ts 的 check @example status IN ('draft', 'pending') 编译不出来 —— 照抄 schema 自带示例的策略会 fail-closed 拒绝全部访问 #6641 能出厂的结构性原因)。
账面(本任期,2026-08-07T16:45Z 起)
9 卡闭环(8 PR 合入 + 1 证伪收卡)+ 2 张 PR 在队/挂 auto-merge + 2 在飞 + 10 张新单入库;0 返工;0 决策箱新增;发版板本席清零 ×2。
已闭环:#6365 /#6423 、#6145 /#6447 、#6416 /#6453 、#6438 /#6463 、#5781 +#5809 /#6495 、#6605 /#6689 、#6641 /#6729 (v17) 、#6630 part 1/#6701 、#6413 (证伪)。在队:#6753 (收 #6630 )、#6759 (收 #6628 )。
两次配额事件(同日) :①08:0xZ–12:2xZ 5h 窗口 86% 主动降频 3.5h,零损失;②14:2xZ REST 配额打满(5 dev + 1 审计并发水位)+ 14:5xZ 账号级 session limit 杀死全部 3 个在飞 dev,17:20Z 重置后 SendMessage 逐一复活,已推送工作零损失,未推送 worktree 盘上完好 。
决策箱(本席相关:0;全仓 5,只列不 nag)
#6640 (metadata, v17)、#6604 (spec, v17)、#5617 (devx)、#4585 、#1825 (engine-core)。
E. 实测结论(接任者直接可用)
渲染输入判据 (见上收窄框,七类实证)。
耗时基线:S 卡 ~40–65min 至 PR,M 卡 ~50–90min;判死看 93–96min 上沿。 宿主 worker 重启杀 resume 的 subagent 及通知;账号级 session limit 同样整批杀 dev (报错「You've hit your session limit · resets HH:MM」),reset 后 SendMessage 原 agent 即从 transcript 复活续跑,三只同批实证零损失。
探针回执即活性读数 ;中期探针无害且常促早推。
flaky: format.exit-code.test.ts pins timer.elapsed() + 531 to a fixed low byte — any 1ms of scheduling delay turns it red #6380 flaky 签名 :format.exit-code.test.ts → expected 20 to be 19。重投必然有效。
拒收/删除类复核硬判据 :删除类 PM 自跑引用面普查;拒收类最低断言 code + status。
提前复核 + 翻转前置(E6) :PR 一出即复核、ACCEPT 先落 issue;ready 翻转必须等 (a) 两门禁族作业 success 且 (b) dev 终报已达或确认死亡 。翻转序:先 ready 后 arm(draft 转换掉队列与 auto-merge)。
被合并解锁的卡,解锁前在合并后 ref 重验文件面(E7) ;[finding][spec] lifecycle.storage guidance says "Rotation does not reap by age … DROPs the oldest shard whole (O(1) reclaim)" — true only on SQLite; Postgres/MySQL take the age-based rotation-fallback leg #6631 实证:前提全在、锚点全漂。
编辑口径类规则 (a) :已发布 CHANGELOG 永不改写;未消费 changeset 直接改;活源散文直接改。
PM 供词里的数字与锚点一律标「须实测」(E9) —— docs(spec): correct #4610's falsified "zero importers" evidence and its uncompilable FROM → TO, forward-note the stale rc.2 areas caveat (#5781, #5809) #6495 「四个枚举」、[finding][spec] lifecycle.storage guidance says "Rotation does not reap by age … DROPs the oldest shard whole (O(1) reclaim)" — true only on SQLite; Postgres/MySQL take the age-based rotation-fallback leg #6631 三个互斥锚点、[finding][spec] position.delegatable JSDoc names a security-delegatable-admin-position lint rule that does not exist — the runtime D12 gate is the only enforcer #6628 regen 假设、rls.zod.ts 的 check @example status IN ('draft', 'pending') 编译不出来 —— 照抄 schema 自带示例的策略会 fail-closed 拒绝全部访问 #6641 @example 假设,四度实证。
卡片文件面以读完整正文为准(E10) ;撞面优先拆两半派(Part of 不带 Fixes)。
⛔ 门控判断只读 issue_read / git log,永不读 search_issues(E11) —— 索引可滞后 2.5h+,曾致四卡错挂 50min。搜索只用于发现,不用于判定。
补丁轮续派原 dev(E12) ,SendMessage 投诊断签名 + 修法口子 + 红线;新 agent 要重建全部上下文还争 worktree(fix(spec): the RLS check clause's enumerated-values @example is CEL, and compiles (#6641) #6729 实证)。
changeset 判据张力待统一(E13) :fix(spec): position.delegatable names only the enforcer that exists (#6628) #6759 按「packages/spec published files 含 src/**/*.zod.ts,注释散文随 npm 发布」走 patch;fix(spec): stop teaching the retired ETL layer as a live retry surface in flow.zod.ts (#6630, part 2) #6753 按「无 reference 页 / 无 .d.ts / 无 parse 可达字节」走 skip-changeset。两条门禁都绿、都放行;新 datum = spec 的源文件本身发布。过渡裁量:parse 可达串(guidance/墓碑/describe/error)与生成物恒 changeset;纯注释两可,尊重 dev 论证,不为此返工。
F. 跨车道备忘
objectui 配套:#5055 退役 spec 的 WidgetManifest / WidgetSource 后,parity tripwire 按设计打红,packages/types/src/widget.ts 的锚点注释指向不存在的名字 #6275 (RuntimeXxx 命名 A/B,repo:objectui,v17)未裁。
pm-dispatch: a card unblocked BY a merge must re-verify its carded files AT the merged ref — the unblocking commit is the one most likely to have already fixed them #6465 / [finding] ADR-0079 is cited ~30 times repo-wide (14× in packages/spec) but no docs/adr/ file exists — dangling pointer, neighbours 0076–0078 and 0080–0082 all present #6634 / [finding] Gate idea: flag a retired symbol whose retirement issue number appears in SOME but not ALL of its mentions within one file — the partial-update signal that found #6630 mechanically #6635 / [docs] content/docs/automation/flows.mdx:977 still teaches an ETL pipeline's retry as a live retry surface after #6414 retired the L2 layer #6750 / rls.zod.ts using's .describe() still advertises "the four compiler-supported forms" (SQL-style) after ADR-0058 widened the lowered subset #6762 / No gate reads spec TSDoc @example strings, so an expression example that stops compiling is invisible — #6641 was found by hand #6763 —— 均已路由或待分诊,只读跟踪。[finding] Gate idea: flag a retired symbol whose retirement issue number appears in SOME but not ALL of its mentions within one file — the partial-update signal that found #6630 mechanically #6635 (通用「退役后散文漂移」门禁)的设计空间被 fix(spec): stop teaching the retired ETL layer as a live retry surface in flow.zod.ts (#6630, part 2) #6753 复核明确保护:不许被一次性 readFileSync 正则提前钉死。
ServiceStatus 在 ./api 与 ./system 各有一个不同声明,#4593 的别名补齐卡在这个名字上 #6604 (协议席决策箱)若裁决改 type-alias-convention.pin.test.ts,与 test(spec): put the pin file's two prose counts under the counting assertion (#6605) #6689 已落地计数形状同文件 —— 协议席动手前值得提醒。
归档:[spec] hook.zod.ts 的 positions JSDoc 仍把 services.sharing.canEdit(…) 举为「hook 可以这么读」的正例 —— #5720 已证实 hook 拿不到 services #6001 、sweep(spec-surface): 5-item description-surface truth sweep — one claim, one PR, per-item checklist review (#6085 #6081 #6137 #6065 #5676) #6243 /docs(spec): 七项 description-surface truth sweep —— 一 PR 七条 Fixes,逐项清单评审 (#6243) #6288 、ADR-0122 第二期:major 窗口翻转裸名为解析态语义 + XInput 去留 #6083 /spec: ADR-0122 phase 2 — flip bare names to parsed semantics (#6083) #6279 、把 44 个 strictUnknownKeyError 直调点批量迁到 strictObject,棘轮降到 0(路线 1 消不掉手抄数组与 shape 的漂移) #5593 (已合)、ADR-0117 D1 声明面:ownership 枚举扩展 'business_unit'(须与列注入同 PR 或严格后置) #5678 。
G. 环境注记(⛔ 接任会话必读,每条都咬过人)
直连 api.github.com 返回 403 —— GitHub 仅 MCP 可达;靠写后回读。
会话内开出的 PR 自动带 webhook ;其余看护走 send_later 定点。
共享身份让 actor 字段失去区分度 —— PR 状态类动作靠评论留痕自证。
宿主 worker 会不定期重启 ;定时器在服务端存活。⚠️ 已删除/过期的 send_later 定时器仍会投递 —— 每枪文本必以幂等头开头。
共享身份 REST 配额会打满 :实测水位 = 5 dev + 1 审计同身份并发(14:2xZ)。git 协议读数(git log / ls-remote)不吃 REST 配额 —— 配额紧张时用它读状态。账号级 session limit 见 E2。
本地检出 shallow —— 先 git fetch origin main --deepen=100。Bash cwd 每次重置 —— 一律 git -C。
⚠️ GitHub sanitizer 吞裸尖括号 ;MCP 读 issue 正文可能截断 —— dev 派发令要求直接读 GitHub 全文。
MCP list_issues 多标签过滤是 OR;issue_write 的 labels 整组替换 (先读现值合并再写)。⚠️ pm:queue 与 pm:dispatched 会因 dev 认领时的整组回写并存 —— 派发后与收卡后各回读一次清残留(四卡实证)。
⚠️ issue_read get_labels 不解析 PR 号 (GraphQL 只认 issue);PR 标签写用 issue_write 可行 (REST 视 PR 为 issue)。功能性回读 :补打 skip-changeset 后 rerun_failed_jobs,门禁转绿即证明标签生效(fix(spec): stop teaching the retired ETL layer as a live retry surface in flow.zod.ts (#6630, part 2) #6753 实证,门禁读实时标签 fix(ci): Check Changeset 实时读 skip-changeset 标签,首个 run 不再永久红 (#5580) #5625 )。
⚠️ TEST_DEBT 棘轮([finding] DEBT ledger counts in check-type-check-coverage.mjs drift silently — @objectstack/metadata-protocol records 28, actually reports 63 #5278 )重测时会掀掉包自身 tsconfig 的 *.test.ts exclude —— 一个文件可对 pnpm typecheck 完全隐形却照样顶棘轮;CommonJS 目标包里每个 import.meta 恒定两个 raw error(TS1470+TS2339) (fix(spec): the RLS check clause's enumerated-values @example is CEL, and compiles (#6641) #6729 实证)。凡加测试的卡,派发令写死 push 前 --re-measure;抬账必须同时重写 note。
⚠️ fresh worktree 的未构建依赖假红 :Failed to resolve entry for package @objectstack/… ⇒ 先 pnpm --filter '<pkg>^...' build 再判([finding][spec] position.delegatable JSDoc names a security-delegatable-admin-position lint rule that does not exist — the runtime D12 gate is the only enforcer #6628 dev 实证);check:api-surface 在 fresh worktree 的「stale」同理是幻影,build 后即绿([finding][spec] #6414 retired the L2 ETL layer, but retry-policy.zod.ts still teaches ETLPipeline.retry as a live surface in six places — including the retryDelayMs tombstone an upgrading author actually reads #6630 /[finding][spec] lifecycle.storage guidance says "Rotation does not reap by age … DROPs the oldest shard whole (O(1) reclaim)" — true only on SQLite; Postgres/MySQL take the age-based rotation-fallback leg #6631 双实证)。
⚠️ 合并队列会在无失败签名时把 PR 弹出 (fix(spec): stop teaching the retired ETL layer as a live retry surface (#6630, part 1) #6701 实证)—— 判为队列重建过渡,重 arm 一次并设升级检查点,不当红处理。
⚠️ skip-changeset 不会自动打 —— 曾有 dev 报称自动化,已用 check-run 时间戳证伪。
本贴是
domain:spec-surface座位的唯一权威登记。 座位贴协议(维护者 2026-08-06 批准):索引 =label:pm:seat,总入口 #4604(指针页)。本席由维护者 2026-08-07 批准自domain:spec拆出。单写手规则:只有在任座位 PM 编辑本贴正文;接管/移交 = 改正文 + 一条审计评论(评论只作交接存档,不承载状态)。空缺争用:动手前重拉正文、审计评论时间戳先到先得、写后回读。活性判定(惰性,无心跳,仅接管冲突时评估):>24h 无产出即可回收。
范围
packages/spec的文本面:describe / JSDoc / 墓碑迁移散文 / 错误 guidance 与 alias 表 —— 即契约「怎么解释自己」的那些行。准入判据 = 校验不变量:改动前合法的元数据改动后逐字节依然合法,非法依然非法;客户零迁移,changeset 恒 patch。
三条红线:
domain:spec(协议席)。判据看「合法集合变没变」,不看行数(先例:meta: bind Zod schemas for webhook / connector / sharing_rule WITHOUT registering the kinds — close the unvalidatedPUT /metawrite hole (#2657 audit, option A) #6245 / feat(spec): action param 的 options[] 声明逐选项 visibleWhen (#5016) #6235)。domain:spec-tooling(C 包 program card:协议工具链/门禁车道(domain:spec-tooling)—— 整包移交待接收 #5163 边界);docs 手写页教约面漂移按 FormField/FormSectionvisibleWhendescribe 宣称 runtime 表单绑定current_user,但字段级条件规则的求值面从未绑过它——按文档写的谓词必然 fault 并 fail-open #6146 先例归 surface(widget-contract.mdx 整页 + quick-reference.mdx 一行仍在教 #5055 退役的 WidgetManifest 家族 —— 手写散文面,门禁不覆盖 #6413 分诊确认)。content/docs/releases/恒不许碰(全仓通则)。产物随源走:describe 改动会重生成
content/docs/references/**与 json-schema manifest 的 description 字段;registryreason散文投影进docs/protocol-upgrade-guide.md与spec-changes.json(#6495 实测)—— 产物变更归触发它的源 PR,跑check:generated重生成提交、⛔ 不手改;同一生成树在飞重生成 >1 时按 #4675 四步序串行。>⚠️ 判据是「改的是不是渲染输入」,不是「改的是不是文本」(七类实证):#6389 ledger 数据行 ⇒ 11 页;#5059 模块头 ⇒ #6447 恰好 6 页;registry reason ⇒ upgrade-guide + spec-changes;guidance / error-map ⇒ 零(#6423/#6453);contracts/** 纯 JSDoc ⇒ 零(#6463);TSDoc
@example⇒ 零(#6729 证伪:生成器只渲染 describe 与模块头,从不渲染属性 @example);authorable 键的 JSDoc 块 ⇒ 零(#6759 证伪:reference 页只带 describe 串,JSDoc 连 .d.ts 都不进,只进 sourcemap)。卡点自报信号
运行模式:sweep-first(试点 #6243;#6495 双卡包再证)。
当前 PM(会话或 Routine ID)
🟢 In office: GitHub
os-project-manager/ sessionsession_018ffcE95NaMJcL9XJ9VDYgk/ takeover 2026-08-07T16:45Z —— 维护者 16:40Z 交接令指定的接任 PM。前任:
hotlong/session_01JTSZAjgtL3oR6YcpNDhW3T,2026-08-07T13:45Z → 16:40Z 注销;其三项在手由其自己跟完,本席不碰。说明 — 座位现状(2026-08-08T17:3xZ 刷新)
在飞(本席,4)
skip-changeset本席手打 +rerun_failed_jobs转绿;终报已达后翻转claude/issue-6631-rotation-dialect-caveatSendMessage复活续跑;死前进度:前提已验、api-surface 假stale已诊断claude/issue-6619-fold-error-maps已收(本轮):#6641/PR #6729(v17)已 MERGED —— 发版板本席再次清零。#6641 dev 的 TEST_DEBT 补丁单文件 +17/−12、账本未碰、19→17 回账面原值;changeset 保留(裁 A:例子随 dist 发布,release note 是触达已抄旧例者的唯一通道)。
队列(0)+ 待分诊供给(2)
本席队列清零。tombstone 审计(17:2xZ 完成,SHA
252f71bd6)普查 105 个retiredKey()/ 28 文件 + 66 块guidance/ 48 文件,21 候选毙 19,存活两张(unassigned、未打 domain 标签,等分诊定级后才是本席补给):dashboard.widgets[].ariatombstone sends the author toapp.ariaas a surviving live surface —App.ariais itself aretiredKey()tombstone removed in the same major #6756 —dashboard.widgets[].aria墓碑说AriaProps「在app.aria上仍存活」,但App.aria自己就是同版本移除的墓碑,两行后推荐的os migrate meta正是剥掉它的转换。waitEventConfig.timeoutMstombstone prescribestimerDuration: 60000—timerDurationisz.string(), so following the prescription is a TS2322 and aninvalid_typeparse failure #6758 —waitEventConfig.timeoutMs墓碑处方timerDuration: 60000,但timerDuration是z.string();ADR-0087 转换自己写着String(next.timeoutMs)。os migrate meta --from 16承诺逐条落到已注册转换,无一虚假。content/docs/automation/flows.mdx:977still teaches an ETL pipeline'sretryas a live retry surface after #6414 retired the L2 layer #6750(flows.mdx/formulas.mdx 手写页 ETL 残留,docs 席面)、rls.zod.tsusing's .describe() still advertises "the four compiler-supported forms" (SQL-style) after ADR-0058 widened the lowered subset #6762(usingdescribe 在 ADR-0058 后 under-promise,describe 确进 references)、No gate reads spec TSDoc@examplestrings, so an expression example that stops compiling is invisible — #6641 was found by hand #6763(无门禁读 spec@example—— rls.zod.ts 的 check @examplestatus IN ('draft', 'pending')编译不出来 —— 照抄 schema 自带示例的策略会 fail-closed 拒绝全部访问 #6641 能出厂的结构性原因)。账面(本任期,2026-08-07T16:45Z 起)
9 卡闭环(8 PR 合入 + 1 证伪收卡)+ 2 张 PR 在队/挂 auto-merge + 2 在飞 + 10 张新单入库;0 返工;0 决策箱新增;发版板本席清零 ×2。
已闭环:#6365/#6423、#6145/#6447、#6416/#6453、#6438/#6463、#5781+#5809/#6495、#6605/#6689、#6641/#6729(v17)、#6630 part 1/#6701、#6413(证伪)。在队:#6753(收 #6630)、#6759(收 #6628)。
两次配额事件(同日):①08:0xZ–12:2xZ 5h 窗口 86% 主动降频 3.5h,零损失;②14:2xZ REST 配额打满(5 dev + 1 审计并发水位)+ 14:5xZ 账号级 session limit 杀死全部 3 个在飞 dev,17:20Z 重置后
SendMessage逐一复活,已推送工作零损失,未推送 worktree 盘上完好。决策箱(本席相关:0;全仓 5,只列不 nag)
#6640(metadata, v17)、#6604(spec, v17)、#5617(devx)、#4585、#1825(engine-core)。
E. 实测结论(接任者直接可用)
SendMessage原 agent 即从 transcript 复活续跑,三只同批实证零损失。format.exit-code.test.tspinstimer.elapsed() + 531to a fixed low byte — any 1ms of scheduling delay turns it red #6380 flaky 签名:format.exit-code.test.ts→expected 20 to be 19。重投必然有效。code+status。success且 (b) dev 终报已达或确认死亡。翻转序:先 ready 后 arm(draft 转换掉队列与 auto-merge)。lifecycle.storageguidance says "Rotation does not reap by age … DROPs the oldest shard whole (O(1) reclaim)" — true only on SQLite; Postgres/MySQL take the age-basedrotation-fallbackleg #6631 实证:前提全在、锚点全漂。areascaveat (#5781, #5809) #6495「四个枚举」、[finding][spec]lifecycle.storageguidance says "Rotation does not reap by age … DROPs the oldest shard whole (O(1) reclaim)" — true only on SQLite; Postgres/MySQL take the age-basedrotation-fallbackleg #6631 三个互斥锚点、[finding][spec]position.delegatableJSDoc names asecurity-delegatable-admin-positionlint rule that does not exist — the runtime D12 gate is the only enforcer #6628 regen 假设、rls.zod.ts 的 check @examplestatus IN ('draft', 'pending')编译不出来 —— 照抄 schema 自带示例的策略会 fail-closed 拒绝全部访问 #6641 @example 假设,四度实证。Part of不带Fixes)。issue_read/git log,永不读search_issues(E11) —— 索引可滞后 2.5h+,曾致四卡错挂 50min。搜索只用于发现,不用于判定。SendMessage投诊断签名 + 修法口子 + 红线;新 agent 要重建全部上下文还争 worktree(fix(spec): the RLS check clause's enumerated-values @example is CEL, and compiles (#6641) #6729 实证)。position.delegatablenames only the enforcer that exists (#6628) #6759 按「packages/specpublishedfiles含src/**/*.zod.ts,注释散文随 npm 发布」走 patch;fix(spec): stop teaching the retired ETL layer as a live retry surface in flow.zod.ts (#6630, part 2) #6753 按「无 reference 页 / 无 .d.ts / 无 parse 可达字节」走 skip-changeset。两条门禁都绿、都放行;新 datum = spec 的源文件本身发布。过渡裁量:parse 可达串(guidance/墓碑/describe/error)与生成物恒 changeset;纯注释两可,尊重 dev 论证,不为此返工。F. 跨车道备忘
WidgetManifest/WidgetSource后,parity tripwire 按设计打红,packages/types/src/widget.ts的锚点注释指向不存在的名字 #6275(RuntimeXxx 命名 A/B,repo:objectui,v17)未裁。content/docs/automation/flows.mdx:977still teaches an ETL pipeline'sretryas a live retry surface after #6414 retired the L2 layer #6750 / rls.zod.tsusing's .describe() still advertises "the four compiler-supported forms" (SQL-style) after ADR-0058 widened the lowered subset #6762 / No gate reads spec TSDoc@examplestrings, so an expression example that stops compiling is invisible — #6641 was found by hand #6763 —— 均已路由或待分诊,只读跟踪。[finding] Gate idea: flag a retired symbol whose retirement issue number appears in SOME but not ALL of its mentions within one file — the partial-update signal that found #6630 mechanically #6635(通用「退役后散文漂移」门禁)的设计空间被 fix(spec): stop teaching the retired ETL layer as a live retry surface in flow.zod.ts (#6630, part 2) #6753 复核明确保护:不许被一次性 readFileSync 正则提前钉死。ServiceStatus在 ./api 与 ./system 各有一个不同声明,#4593 的别名补齐卡在这个名字上 #6604(协议席决策箱)若裁决改type-alias-convention.pin.test.ts,与 test(spec): put the pin file's two prose counts under the counting assertion (#6605) #6689 已落地计数形状同文件 —— 协议席动手前值得提醒。hook.zod.ts的positionsJSDoc 仍把services.sharing.canEdit(…)举为「hook 可以这么读」的正例 —— #5720 已证实 hook 拿不到services#6001、sweep(spec-surface): 5-item description-surface truth sweep — one claim, one PR, per-item checklist review (#6085 #6081 #6137 #6065 #5676) #6243/docs(spec): 七项 description-surface truth sweep —— 一 PR 七条 Fixes,逐项清单评审 (#6243) #6288、ADR-0122 第二期:major 窗口翻转裸名为解析态语义 + XInput 去留 #6083/spec: ADR-0122 phase 2 — flip bare names to parsed semantics (#6083) #6279、把 44 个strictUnknownKeyError直调点批量迁到strictObject,棘轮降到 0(路线 1 消不掉手抄数组与 shape 的漂移) #5593(已合)、ADR-0117 D1 声明面:ownership 枚举扩展 'business_unit'(须与列注入同 PR 或严格后置) #5678。G. 环境注记(⛔ 接任会话必读,每条都咬过人)
api.github.com返回 403 —— GitHub 仅 MCP 可达;靠写后回读。git log/ls-remote)不吃 REST 配额 —— 配额紧张时用它读状态。账号级 session limit 见 E2。git fetch origin main --deepen=100。Bashcwd每次重置 —— 一律git -C。list_issues多标签过滤是 OR;issue_write的labels整组替换(先读现值合并再写)。pm:queue与pm:dispatched会因 dev 认领时的整组回写并存 —— 派发后与收卡后各回读一次清残留(四卡实证)。issue_read get_labels不解析 PR 号(GraphQL 只认 issue);PR 标签写用issue_write可行(REST 视 PR 为 issue)。功能性回读:补打skip-changeset后rerun_failed_jobs,门禁转绿即证明标签生效(fix(spec): stop teaching the retired ETL layer as a live retry surface in flow.zod.ts (#6630, part 2) #6753 实证,门禁读实时标签 fix(ci): Check Changeset 实时读 skip-changeset 标签,首个 run 不再永久红 (#5580) #5625)。*.test.tsexclude —— 一个文件可对pnpm typecheck完全隐形却照样顶棘轮;CommonJS 目标包里每个import.meta恒定两个 raw error(TS1470+TS2339)(fix(spec): the RLS check clause's enumerated-values @example is CEL, and compiles (#6641) #6729 实证)。凡加测试的卡,派发令写死 push 前--re-measure;抬账必须同时重写note。Failed to resolve entry for package @objectstack/…⇒ 先pnpm --filter '<pkg>^...' build再判([finding][spec]position.delegatableJSDoc names asecurity-delegatable-admin-positionlint rule that does not exist — the runtime D12 gate is the only enforcer #6628 dev 实证);check:api-surface在 fresh worktree 的「stale」同理是幻影,build 后即绿([finding][spec] #6414 retired the L2 ETL layer, butretry-policy.zod.tsstill teachesETLPipeline.retryas a live surface in six places — including theretryDelayMstombstone an upgrading author actually reads #6630/[finding][spec]lifecycle.storageguidance says "Rotation does not reap by age … DROPs the oldest shard whole (O(1) reclaim)" — true only on SQLite; Postgres/MySQL take the age-basedrotation-fallbackleg #6631 双实证)。skip-changeset不会自动打 —— 曾有 dev 报称自动化,已用 check-run 时间戳证伪。