本贴是 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。
三条红线:
渲染输入判据 —— 现在有免费代理,不必再测
⚠️ 判据是「改的是不是渲染输入 」,不是「改的是不是文本」。
免费代理(2026-08-09 实证):看 PR 上 Build Docs 作业是 run 还是 skipped。 run = 触达参考页(#6852 重生成 permission.mdx 两格),skipped = 不触达(#6846 )。双向实证,任何 PR 一眼可读。
机制:packages/spec/scripts/build-docs.ts:186 是 if (!entry.name.endsWith('.zod.ts')) continue; —— 生成器只遍历 .zod.ts 。
九类实证:
面
触达
.describe()
✅ 参考页(#6852 )
registry reason
✅ upgrade-guide + spec-changes(#6495 )
registry acceptanceCriteria
✅ 仅 upgrade-guide —— spec-changes.json 不含该字段(#6875 实测,grep -c = 0)
#6389 ledger 数据行
✅ 11 页
#5059 模块头
✅ 恰好 6 页(#6447 )
guidance / error-map
❌ 零(#6423 /#6453 )
contracts/** 纯 JSDoc
❌ 零(#6463 )
TSDoc @example
❌ 零(#6729 证伪)
非 .zod.ts 文件的 JSDoc
❌ 零(#6846 /#6759 )
⚠️ 未决细分(2026-08-10 提出,#7142 在测) :上表「ledger 数据行 ✅ 11 页」测的是verdict 数据 ,未区分同文件里的 evidence / note 散文字段 是否同样触达。#7142 用免费代理当场判,回来后把结论补进本表。
卡点自报信号
队列水位:连续 3 天 >15 张或平均滞留 >48h → 提频/加 batch/继续拆域;
同一 references 树在飞重生成 PR >2 → 打包;
分诊脉冲(单次灌入 20+)→ 一次性 sweep 专项。
运行模式 :sweep-first。并发 :维护者 2026-08-08 令「至少三个」,实测舒适区 4;5 dev + 1 审计会打满共享身份 REST 配额。
当前 PM(会话或 Routine ID)
🟢 In office : GitHub os-help / session session_016R9de1FqP7NvwKvqXi92Gh / takeover 2026-08-10T01:30Z。
前任 :os-project-manager / session_018ffcE95NaMJcL9XJ9VDYgk,2026-08-07T16:45Z → 2026-08-10T01:24Z 维护者指示下班;在飞 0、队列自述 0、心跳全停(全部触发器 run_once_fired 自灭)。⚠️ 该会话未执行交接收尾第 4 步 (正文/标题/assignee 未翻转),本席接管时补齐;其交接快照见本贴 2026-08-10T01:23:59Z 评论,内容已折叠进下面 E17–E26 与账面。
再前任 :hotlong / session_01JTSZAjgtL3oR6YcpNDhW3T,2026-08-07T13:45Z → 16:40Z 注销。
说明 — 座位现状(2026-08-10T01:4xZ)
在飞 1 / 队列 0
在飞 :[sweep] Liveness-ledger citation repair — re-cite measured readers for the stale-evidence rows of #7132 + #7133 #7142 (citation-repair sweep 容器,Fixes #7132 + Fixes #7133),分支 claude/issue-7142-liveness-citation-repair,2026-08-10T01:34Z 派出,mode:subagent / model: opus。
sweep 成员,⛔ 不是独立派发候选 :finding: view.json cites "ObjectGrid.tsx (audit L15)" for 15 list.* keys, but 6 of them have zero occurrences in ObjectGrid.tsx — verdicts hold via other readers, the recorded evidence doesn't #7132 、[finding] 6 liveness-ledger LIVE entries cite objectui readers that no longer read the key — verdicts right, evidence dead (citation-repair bundle) #7133 (保留 pm:queue,随 sweep PR 合并齐关)。
finding(持有,非可派) :finding: "no runtime consumer" on docs-shaped dead ledger rows is contradicted by metadata-admin previews — JobPreview renders job.label/job.description, TranslationPreview renders translation.label/.name #7131 (设计器预览算不算 consumer —— 判据分叉,非引证腐烂)、[观察] rls.zod.ts using 属性上方的 TSDoc 块仍宣称「Exactly four forms compile」——与同属性 .describe()(#6762 修正后)直接矛盾 #6919 (using TSDoc 与 .describe() 自相矛盾)。
pm:blocked:本车道 0 (2026-08-10T01:4x 实测)⇒ 无解锁扫描欠账。
⚠️ 接管实测教训:前任交接快照写「队列 0」,实测 1 张可派 + 2 张成员 + 2 张 finding —— 分诊席在 2026-08-09T21:2xZ(交接前约 4 小时)灌入了一批。接任先自查队列,⛔ 不要继承前任的队列计数。
健康指标(2026-08-10T01:4x 实测)
账面
前任任期(2026-08-07T16:45Z → 2026-08-10T01:24Z):30 卡闭环 + 10 张 finding 立卡待分诊;0 返工;0 决策箱新增;发版板本席清零 ×2。
三条主线(细节见交接快照评论):#6856 route-D 裁决线(5 卡,类钉语料 54 → 80)、过期状态句家族(#6947 → #6993 → #7064 )、审计双轴(轴①7,644 条 describe;轴③625 条 liveness 记录 —— B 向台账危险面干净 )。
本任期(os-help,2026-08-10T01:30Z 起) :见轮次审计评论。
决策箱(本席相关 0;只列不 nag)
全仓 7:#7144 (identity)、#7119 (repo:objectui)、#7095 、#7022 (devx)、#7020 (cli)、#6975 (repo:objectui)、#6644 (devx —— pm-dispatch SKILL 改进提案)。另 #7088 (平台 agent 真名册 —— ⛔ 勿让 dev 自选计数 )按前任记录待维护者/云侧定,当前不带该标签。
E. 实测结论(接任者直接可用,按号引用)
渲染输入判据 —— 见上,含免费代理与未决细分。
耗时基线 :S 卡 ~40–65min 至 PR,M 卡 ~50–90min;判死看 93–96min 上沿。宿主 worker 重启 与账号级 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) 。
编辑口径 (a) :已发布 CHANGELOG 永不改写;未消费 changeset 直接改;活源散文直接改。
PM 供词里的数字与锚点一律标「须实测」(E9) —— 六度实证。卡片正文也会错 ,不只是 PM 的口述。⚠️ 交接台账同样会错 :2026-08-10 接管时本贴继承的 sweep(spec-surface): 5-item description-surface truth sweep — one claim, one PR, per-item checklist review (#6085 #6081 #6137 #6065 #5676) #6243 备忘(「容器卡未关 = 发版板假条目」)实测已于 2026-08-09T10:29Z 关闭且标签已清 —— 陈旧备忘会让接任者追一个幽灵。继承的每条 ⚠️ 备忘,引用前先验一次。
卡片文件面以读完整正文为准(E10) ;撞面优先拆两半派(Part of 不带 Fixes)。
⛔ 门控判断只读 issue_read / git log,永不读 search_issues(E11) —— 索引可滞后 2.5h+,曾致四卡错挂 50min。搜索只用于发现。
补丁轮续派原 dev(E12) ,SendMessage 投诊断签名 + 修法口子 + 红线。
changeset 判据(E13,已收口) :判「这段散文有没有触达使用方 」,不判「文件发不发布」。参考页 / .d.ts / parse 可达错误串,任一即算 ⇒ patch。三者皆不沾 ⇒ skip-changeset(fix(spec): stop teaching the retired ETL layer as a live retry surface in flow.zod.ts (#6630, part 2) #6753 )。关键 datum:docs(spec): describeHighPrivilegeBits 的裸通配符举例换成仍带 '*' 的 viewer_readonly (#6696) #6846 的源文件不在 files glob,但 dist 在,文案经 dist/**/*.d.ts 悬停触达 ⇒ patch(先例 8ad609c69)。
⚠️ 字面量 pin 检索对转义正则断言是盲的(E14) —— expect(msg).toMatch(/app\.aria/) 字面量搜不到。问「这段文案有没有 pin」必须连 toMatch(/…/) 写法一起搜。
队列失败三路分诊 + 同签名只重排一次(E15) —— ①失败在本 PR 触及的包 ⇒ 真回归;②无关且他处见过 ⇒ flaky,立卡别重排;③两者皆非 ⇒ 可能同批语义冲突,重排一次 。⛔ 同签名再红 = 升级。
dev 死亡时,其未竟的只读核验步骤 PM 可自行完成(E16) —— ⛔ 边界:只读核验可代做,写代码不行 。
不许换新固定计数;能挂门维护的台账就不手写计数(E17)。
无绿对照不重排队列(E18) —— 两张无关 PR 同签名红 = 批次敏感,自动队列会自愈。
双向都沉默的平局选 fail closed(E19)。
静态普查对继承结构双盲(E20) —— 普查必须执行 ,不能 grep。
会钉死错误数字的 pin 比没有 pin 更糟(E21) ;判据 = 被钉事实是不是文本。
带日期重核验 + 显式「已被 #X 证伪」标记(E22) (liveness note 惯用法)。
行式 grep 对跨行拼接双盲(E23) ,缝合正则须双向(本仓 + 在行首)。
审计/复核一律对 origin/main 提取(E24) —— 共享 checkout 落后数天。
dated 证伪注记不复述旧句原文(E25) —— 防污染未来 census。
dev 轮询链会静默死亡(E26) :CI 收敛 45min 无终报 ⇒ 直读 CI + 三替代物有记录翻转,唤醒补报不阻塞(实测:唤醒后 72s 交齐)。
liveness 台账不是纯散文面(E27,2026-08-10 提出,[sweep] Liveness-ledger citation repair — re-cite measured readers for the stale-evidence rows of #7132 + #7133 #7142 在测) —— check:liveness 疑似解析并校验 repo-local evidence 路径 (不可解析即 exit 1),verifiedAt / evidenceScope 格式错亦 FAIL,跨仓引用靠 objectui: 前缀而非本地解析。⇒ 「引证修复 = 改散文」这个直觉在本文件族可能不成立 ;派发时按「须实测的机制假设」下发,勿当既成事实。[sweep] Liveness-ledger citation repair — re-cite measured readers for the stale-evidence rows of #7132 + #7133 #7142 回来后定稿。
本席自我更正台账(公开留档,⛔ 后两条旧说法禁止再引用)
65→70 注册表数字(#6619 更正)、「模板折不了」(#6805 证伪)、「有活消费者」实为 re-export(#6934 ) 、「import.meta 值 2 tsc error」引用三次后证伪(#6947 /#6919 双更正) 。
新增(2026-08-10,本席) :继承的 #6243 备忘写「容器卡未关」,实测已关 —— 见 E9 增补。
F. 跨车道备忘
objectui 配套:#5055 退役 spec 的 WidgetManifest / WidgetSource 后,parity tripwire 按设计打红,packages/types/src/widget.ts 的锚点注释指向不存在的名字 #6275 (RuntimeXxx 命名 A/B,repo:objectui,v17,现带 pm:on-hold)未裁。
[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 已落地计数形状同文件。
✅ sweep(spec-surface): 5-item description-surface truth sweep — one claim, one PR, per-item checklist review (#6085 #6081 #6137 #6065 #5676) #6243 已结 (2026-08-09T10:29:40Z,completed,pm:queue / target:v17 均已摘,现仅余 domain:spec-surface)。前任台账的「容器卡未关 = 发版板假条目」警告到此作废,⛔ 不要再据它行动。 保留此行作墓碑,免得下一任从旧评论流里把它捡回来。
⚠️ 同类残留仍是全仓性的 :部分已关闭的成员卡仍留着 pm:queue / target:*。非本席产出,只读跟踪。
轴③ B 向两张已路由他席 :finding: liveness dashboard.json widgets.actionUrl closure claim ("Nothing anywhere read widget.actionUrl") no longer measures true — objectui's widget config panel reads and authors the widget-level key #7129 / finding: permission.rowLevelSecurity.priority is a retiredKey tombstone, but objectui's PermissionAdvancedFacets still types it and seeds priority: 0 on every newly added RLS policy #7130 (均 repo:objectui + target:v17 + pm:queue)。⚠️ finding: liveness dashboard.json widgets.actionUrl closure claim ("Nothing anywhere read widget.actionUrl") no longer measures true — objectui's widget config panel reads and authors the widget-level key #7129 的缺陷文本落在 packages/spec/liveness/dashboard.json(本席文件面),却路由 objectui —— 可能是分诊有意选「删读者而非改台账」,也可能是误标。⛔ 不自行改标签;下轮以实测证据走误标上报路径。
归档:[spec] hook.zod.ts 的 positions JSDoc 仍把 services.sharing.canEdit(…) 举为「hook 可以这么读」的正例 —— #5720 已证实 hook 拿不到 services #6001 、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 。
待分诊供给(⛔ 只读跟踪,domain:* 单一生产者是分诊席)
#6988 、#6919 (第 3 项守卫非可选,成本理由已更正)、#6763 、#6940 、#6750 、#6842 、#6855 (domain:cli)、#7030 、#7047 、#7088 、#7112 、objectui#3901、objectui#3974。
(#7129 –#7133 已由分诊席定级:#7132 /#7133 → sweep #7142 ;#7129 /#7130 → repo:objectui;#7131 → 持有 finding。)
G. 环境注记(⛔ 接任会话必读,每条都咬过人)
直连 api.github.com 返回 403 —— GitHub 仅 MCP 可达;靠写后回读。
会话内开出的 PR 自动带 webhook ;其余看护走 send_later 定点。⚠️ 已删除/过期的定时器仍会投递 ,每枪文本必以幂等头开头、只写判据不写结论,且必须 date -u 取准时间 —— 心跳文本曾偏差数小时。
共享身份让 actor 字段失去区分度 —— PR 状态类动作靠评论留痕自证。⚠️ 舰队实际在用多账号(os-help / os-project-manager / os-zhuang / qq9340100 / hotlong / baozhoutao),评论作者字段 是平台盖章的硬读数。
宿主 worker 会不定期重启 ;定时器在服务端存活。
共享身份 REST 配额会打满 (实测水位 5 dev + 1 审计;前任一日六次打满,混合行为 —— issue_write 能过时 update_pull_request 可能 403)。git 协议读数(git log / ls-remote)不吃 REST 配额 —— 配额紧张时一律用它。search_issues 必带 minimal_output: true。
本地检出 shallow —— 先 git fetch origin main --deepen=100。Bash cwd 每次重置 —— 一律 git -C,⛔ 不用 cd X && …(cd 失败会静默在错仓执行)。
⚠️ GitHub sanitizer 吞裸尖括号 ;MCP 读 issue 正文可能截断 —— 派发令要求 dev 直接在 GitHub 上读全文。
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,门禁转绿即证明标签生效。
⚠️ 门禁清单散在多个 workflow :lint.yml 61 条,另有 7 条在 ci.yml / spec-liveness-check.yml / validate-deps.yml / release.yml / showcase-smoke.yml。本席主门 check:liveness / check:empty-state / check:variant-docs / check:strictness-ledger 全在 spec-liveness-check.yml,不在 lint.yml —— 派发令点名门禁族时当场 grep -rn 'pnpm.*check:' .github/workflows/*.yml 取数,⛔ 不抄记忆。
⚠️ 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 ;CommonJS 目标包里每个 import.meta 恒定两个 raw error (TS1470+TS2339)。⚠️ packages/spec 已于 @ts-expect-error 退役 pin 在 packages/spec 里是幽灵检查:tsconfig 把 **/*.test.ts 排除出唯一的 tsc --noEmit #5286 从 TEST_DEBT 毕业 ,改用按文件的 test-typecheck-debt.json(由 check:test-typecheck 校验)—— spec 侧加测试动不了 TEST_DEBT 数字,跨包加测试会 。--re-measure 需要先建全闭包,首次拒绝是已知假红。
⚠️ fresh worktree 未构建依赖假红 :Failed to resolve entry for package @objectstack/… 与 check:api-surface 的「stale」 —— 先 pnpm --filter '^...' build 再判(三次实证)。
⚠️ 合并队列会在无失败签名时把 PR 弹出 (fix(spec): stop teaching the retired ETL layer as a live retry surface (#6630, part 1) #6701 )—— 判为队列重建过渡,重 arm 一次并设升级检查点。有失败签名的走 E15/E18。
⚠️ skip-changeset 不会自动打 —— 曾有 dev 报称自动化,已用 check-run 时间戳证伪。
⛔ 遗留 worktree /home/user/objectstack-6619、/home/user/objectstack-issue-5783-sync 非本席所派,不清理。
worktree --force 告警处置模式:验受保护树在位 + 被删者为派发指定路径且分支已推 ⇒ 良性;反例立即上报。
本贴是
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/恒不许碰(全仓通则)。渲染输入判据 —— 现在有免费代理,不必再测
免费代理(2026-08-09 实证):看 PR 上
Build Docs作业是 run 还是 skipped。 run = 触达参考页(#6852 重生成permission.mdx两格),skipped = 不触达(#6846)。双向实证,任何 PR 一眼可读。机制:
packages/spec/scripts/build-docs.ts:186是if (!entry.name.endsWith('.zod.ts')) continue;—— 生成器只遍历.zod.ts。九类实证:
.describe()reasonacceptanceCriteriaspec-changes.json不含该字段(#6875 实测,grep -c= 0)contracts/**纯 JSDoc@example.zod.ts文件的 JSDocevidence/note散文字段是否同样触达。#7142 用免费代理当场判,回来后把结论补进本表。卡点自报信号
运行模式:sweep-first。并发:维护者 2026-08-08 令「至少三个」,实测舒适区 4;5 dev + 1 审计会打满共享身份 REST 配额。
当前 PM(会话或 Routine ID)
🟢 In office: GitHub
os-help/ sessionsession_016R9de1FqP7NvwKvqXi92Gh/ takeover 2026-08-10T01:30Z。前任:⚠️ 该会话未执行交接收尾第 4 步(正文/标题/assignee 未翻转),本席接管时补齐;其交接快照见本贴 2026-08-10T01:23:59Z 评论,内容已折叠进下面 E17–E26 与账面。
os-project-manager/session_018ffcE95NaMJcL9XJ9VDYgk,2026-08-07T16:45Z → 2026-08-10T01:24Z 维护者指示下班;在飞 0、队列自述 0、心跳全停(全部触发器run_once_fired自灭)。再前任:
hotlong/session_01JTSZAjgtL3oR6YcpNDhW3T,2026-08-07T13:45Z → 16:40Z 注销。说明 — 座位现状(2026-08-10T01:4xZ)
在飞 1 / 队列 0
Fixes #7132+Fixes #7133),分支claude/issue-7142-liveness-citation-repair,2026-08-10T01:34Z 派出,mode:subagent/model: opus。list.*keys, but 6 of them have zero occurrences in ObjectGrid.tsx — verdicts hold via other readers, the recorded evidence doesn't #7132、[finding] 6 liveness-ledger LIVE entries cite objectui readers that no longer read the key — verdicts right, evidence dead (citation-repair bundle) #7133(保留pm:queue,随 sweep PR 合并齐关)。job.label/job.description, TranslationPreview renderstranslation.label/.name#7131(设计器预览算不算 consumer —— 判据分叉,非引证腐烂)、[观察] rls.zod.tsusing属性上方的 TSDoc 块仍宣称「Exactly four forms compile」——与同属性.describe()(#6762 修正后)直接矛盾 #6919(usingTSDoc 与.describe()自相矛盾)。pm:blocked:本车道 0(2026-08-10T01:4x 实测)⇒ 无解锁扫描欠账。健康指标(2026-08-10T01:4x 实测)
target:v17:全仓 15 open,本车道 0 ⇒ 本席发版板清零延续。job.label/job.description, TranslationPreview renderstranslation.label/.name#7131 立于 2026-08-09,[观察] rls.zod.tsusing属性上方的 TSDoc 块仍宣称「Exactly four forms compile」——与同属性.describe()(#6762 修正后)直接矛盾 #6919 立于 2026-08-09 ⇒ 均 <2 天,发现分诊轮未到期。账面
前任任期(2026-08-07T16:45Z → 2026-08-10T01:24Z):30 卡闭环 + 10 张 finding 立卡待分诊;0 返工;0 决策箱新增;发版板本席清零 ×2。
三条主线(细节见交接快照评论):#6856 route-D 裁决线(5 卡,类钉语料 54 → 80)、过期状态句家族(#6947 → #6993 → #7064)、审计双轴(轴①7,644 条 describe;轴③625 条 liveness 记录 —— B 向台账危险面干净)。
本任期(
os-help,2026-08-10T01:30Z 起):见轮次审计评论。决策箱(本席相关 0;只列不 nag)
全仓 7:#7144(identity)、#7119(repo:objectui)、#7095、#7022(devx)、#7020(cli)、#6975(repo:objectui)、#6644(devx —— pm-dispatch SKILL 改进提案)。另 #7088(平台 agent 真名册 —— ⛔ 勿让 dev 自选计数)按前任记录待维护者/云侧定,当前不带该标签。
E. 实测结论(接任者直接可用,按号引用)
You've hit your session limit · resets HH:MM);reset 后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)。Part of不带Fixes)。issue_read/git log,永不读search_issues(E11) —— 索引可滞后 2.5h+,曾致四卡错挂 50min。搜索只用于发现。SendMessage投诊断签名 + 修法口子 + 红线。.d.ts/ parse 可达错误串,任一即算 ⇒ patch。三者皆不沾 ⇒skip-changeset(fix(spec): stop teaching the retired ETL layer as a live retry surface in flow.zod.ts (#6630, part 2) #6753)。关键 datum:docs(spec): describeHighPrivilegeBits 的裸通配符举例换成仍带 '*' 的 viewer_readonly (#6696) #6846 的源文件不在filesglob,但dist在,文案经dist/**/*.d.ts悬停触达 ⇒ patch(先例8ad609c69)。expect(msg).toMatch(/app\.aria/)字面量搜不到。问「这段文案有没有 pin」必须连toMatch(/…/)写法一起搜。+在行首)。origin/main提取(E24) —— 共享 checkout 落后数天。check:liveness疑似解析并校验 repo-localevidence路径(不可解析即 exit 1),verifiedAt/evidenceScope格式错亦 FAIL,跨仓引用靠objectui:前缀而非本地解析。⇒ 「引证修复 = 改散文」这个直觉在本文件族可能不成立;派发时按「须实测的机制假设」下发,勿当既成事实。[sweep] Liveness-ledger citation repair — re-cite measured readers for the stale-evidence rows of #7132 + #7133 #7142 回来后定稿。本席自我更正台账(公开留档,⛔ 后两条旧说法禁止再引用)
65→70 注册表数字(#6619 更正)、「模板折不了」(#6805 证伪)、「有活消费者」实为 re-export(#6934)、「import.meta 值 2 tsc error」引用三次后证伪(#6947/#6919 双更正)。
新增(2026-08-10,本席):继承的 #6243 备忘写「容器卡未关」,实测已关 —— 见 E9 增补。
F. 跨车道备忘
WidgetManifest/WidgetSource后,parity tripwire 按设计打红,packages/types/src/widget.ts的锚点注释指向不存在的名字 #6275(RuntimeXxx 命名 A/B,repo:objectui,v17,现带pm:on-hold)未裁。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 已落地计数形状同文件。completed,pm:queue/target:v17均已摘,现仅余domain:spec-surface)。前任台账的「容器卡未关 = 发版板假条目」警告到此作废,⛔ 不要再据它行动。 保留此行作墓碑,免得下一任从旧评论流里把它捡回来。pm:queue/target:*。非本席产出,只读跟踪。widgets.actionUrlclosure claim ("Nothing anywhere readwidget.actionUrl") no longer measures true — objectui's widget config panel reads and authors the widget-level key #7129 / finding:permission.rowLevelSecurity.priorityis a retiredKey tombstone, but objectui's PermissionAdvancedFacets still types it and seedspriority: 0on every newly added RLS policy #7130(均repo:objectui+target:v17+pm:queue)。widgets.actionUrlclosure claim ("Nothing anywhere readwidget.actionUrl") no longer measures true — objectui's widget config panel reads and authors the widget-level key #7129 的缺陷文本落在packages/spec/liveness/dashboard.json(本席文件面),却路由 objectui —— 可能是分诊有意选「删读者而非改台账」,也可能是误标。⛔ 不自行改标签;下轮以实测证据走误标上报路径。hook.zod.ts的positionsJSDoc 仍把services.sharing.canEdit(…)举为「hook 可以这么读」的正例 —— #5720 已证实 hook 拿不到services#6001、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。待分诊供给(⛔ 只读跟踪,
domain:*单一生产者是分诊席)#6988、#6919(第 3 项守卫非可选,成本理由已更正)、#6763、#6940、#6750、#6842、#6855(
domain:cli)、#7030、#7047、#7088、#7112、objectui#3901、objectui#3974。(#7129–#7133 已由分诊席定级:#7132/#7133 → sweep #7142;#7129/#7130 →
repo:objectui;#7131 → 持有finding。)G. 环境注记(⛔ 接任会话必读,每条都咬过人)
api.github.com返回 403 —— GitHub 仅 MCP 可达;靠写后回读。date -u取准时间 —— 心跳文本曾偏差数小时。os-help/os-project-manager/os-zhuang/qq9340100/hotlong/baozhoutao),评论作者字段是平台盖章的硬读数。issue_write能过时update_pull_request可能 403)。git 协议读数(git log/ls-remote)不吃 REST 配额 —— 配额紧张时一律用它。search_issues必带minimal_output: true。git fetch origin main --deepen=100。Bashcwd每次重置 —— 一律git -C,⛔ 不用cd X && …(cd 失败会静默在错仓执行)。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,门禁转绿即证明标签生效。lint.yml61 条,另有 7 条在ci.yml/spec-liveness-check.yml/validate-deps.yml/release.yml/showcase-smoke.yml。本席主门check:liveness/check:empty-state/check:variant-docs/check:strictness-ledger全在spec-liveness-check.yml,不在lint.yml—— 派发令点名门禁族时当场grep -rn 'pnpm.*check:' .github/workflows/*.yml取数,⛔ 不抄记忆。*.test.tsexclude;CommonJS 目标包里每个import.meta恒定两个 raw error(TS1470+TS2339)。packages/spec已于@ts-expect-error退役 pin 在packages/spec里是幽灵检查:tsconfig 把**/*.test.ts排除出唯一的tsc --noEmit#5286 从 TEST_DEBT 毕业,改用按文件的test-typecheck-debt.json(由check:test-typecheck校验)—— spec 侧加测试动不了 TEST_DEBT 数字,跨包加测试会。--re-measure需要先建全闭包,首次拒绝是已知假红。Failed to resolve entry for package @objectstack/…与check:api-surface的「stale」 —— 先pnpm --filter '^...' build再判(三次实证)。skip-changeset不会自动打 —— 曾有 dev 报称自动化,已用 check-run 时间戳证伪。/home/user/objectstack-6619、/home/user/objectstack-issue-5783-sync非本席所派,不清理。--force告警处置模式:验受保护树在位 + 被删者为派发指定路径且分支已推 ⇒ 良性;反例立即上报。