Skip to content

[PM seat] domain:spec-surface — 🟢 os-project-manager #6298

Description

@qq9340100

本贴是 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 字段 —— 产物变更归触发它的源 PR,跑 check:generated 重生成提交、⛔ 不手改;同一生成树在飞重生成 >1 时按 #4675 四步序串行。

> ⚠️ 2026-08-07 实测收窄(三个 dev 独立复现,PR #6364 / #6368 / #6375):上面这条过宽。参考页由 scripts/build-docs.tspackages/spec/json-schema/ 渲染,后者只派生自 Zod .describe() 字符串。⇒ 只有 .describe() 改动触发 content/docs/references/** 重生成;纯 JSDoc / TSDoc / 代码注释改动零重生成。 本席多数卡片因此不碰生成树,也不需要四步重建串行。反例边界(判据是「改的是不是渲染输入」,不是「改的是不是文本」):#6389 摘 ledger 数据行 ⇒ 11 页重生成;#5059 规则下的模块头 doc block 也是渲染输入(getFileDescription() 消费)⇒ #6447 实测恰好重生成对应 6 页;guidance / error-map 字符串是错误模板 ⇒ 零重生成(#6423 / #6453 两次实测)。

卡点自报信号(座位职责,不等积压被感觉到)

  1. 队列水位:pm:queue + domain:spec-surface 连续 3 天 >15 张、或平均滞留 >48h → 提频/加 batch,再不行按 SKILL 拆域条款继续拆;
  2. 同一 references 树在飞重生成 PR >2 → 打包成一列发,不加席位;
  3. 分诊脉冲(单次审计灌入 20+)→ 一次性 sweep 专项吃掉,不改常设结构。

运行模式建议:sweep-first —— 本席卡片天然适合打包(试点 #6243 在案)。

当前 PM(会话或 Routine ID)

🟢 In office: GitHub os-project-manager / session session_018ffcE95NaMJcL9XJ9VDYgk / takeover 2026-08-07T16:45Z — the maintainer-designated incoming PM per the 16:40Z handover order ("我让新项目经理接手").

前任:hotlong / 会话 session_01JTSZAjgtL3oR6YcpNDhW3T,在任 2026-08-07T13:45Z → 16:40Z 注销。分工修正(维护者 ~17:00Z 指令)已履行完毕并收官:前任的三项在手(#6375/#6389/#6426)已全部 MERGED。

说明 — 座位现状(2026-08-07T22:25Z 刷新)

在飞(本席)

空。 队列 0 可派发(22:0xZ 扫描)、0 阻塞。姿态:待命(60–70min 巡检,五职责:pm:blocked 解锁扫描、findings 配合、决策箱列报、跨车道备忘、在队 PR 跟 MERGED)。

账面(本任期,截至 22:25Z)

E. 实测结论(沿承 + 本任新增)

  1. 渲染输入判据(见上收窄框;四类实证:ledger 数据行、模块头、guidance、error-map)。
  2. 兄弟单耗时基线:69–96 分钟(给 6 个 zod 模块补真正的模块头 doc block —— #5059 新规则下这些页面的开篇介绍需要显式声明 #6145 89min、三个手写 unrecognized_keys error map 绕过 strictUnknownKeyError,把说明句夹在「哪个键错了」与处方之间 —— #5955 的修法与 #5593 的迁移都够不到 #6416 49min 至 PR / 69min 至入队;S 级卡显著更快)。探活门槛 45 分钟(发探针),判死看基线上沿。宿主 worker 重启会连带杀死 resume 出来的 subagent 及其完成通知 —— 重启后凡「已 resume 待报告」的 dev 一律按报告已丢处理,直接验收兜底三条件审完即走,⛔ 不再二次 resume 与自己的验收竞速。
  3. 探针回执本身是活性读数:「queued for delivery」= 活;「no active task; resumed from transcript」= 生前已死、本次即复活。中期探针(~40min)对活 dev 无害且常促成提前推分支。
  4. 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.tsexpected 20 to be 19(时序竞态)。重投必然有效。
  5. 拒收/删除类复核两条硬判据:删除类 PM 自跑 origin/main 引用面普查;拒收类最低断言 code + status
  6. 提前复核路径(维护者「能否加速」指令后的常设做法):PR 一出即对 diff/正文/check runs 做 step 7,ACCEPT 先落 issue,flip 只等两门禁 job conclusion=success —— docs(spec): give six zod modules a true module-header doc block (#6145) #6447 省 20–35min,fix(spec): put the fix before the explanation in the three hand-written unrecognized_keys error maps (#6416) #6453 全程(派发→合入)83min。前提是 dev 把完整验证叙事写进 PR 正文(派发令保留该要求);dev 终报到达后与 ACCEPT 对账归档,不重开复核。
  7. PR 正文语言返工可在飞中完成:docs(spec): give six zod modules a true module-header doc block (#6145) #6447 首版正文中文(违反 2026-08-06 语言政策),SendMessage 指令 dev 在 CI 运行期改英文 —— 零 CI 作废、零落地延迟;后续派发令加了「正文从一开始就用英文」一句,fix(spec): put the fix before the explanation in the three hand-written unrecognized_keys error maps (#6416) #6453 一次到位。

F. 跨车道备忘

G. 环境注记(⛔ 接任会话必读,每条都咬过人)

Metadata

Metadata

Labels

domain:spec-surfacepm:seatPM seat registry issue - single-writer body, index = this label

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions