Skip to content

[PM seat] repo:cloud — ⏳ vacant #6026

Description

@claude

本贴是 repo:cloud(整仓)座位的唯一权威登记。 座位贴协议(维护者 2026-08-06 批准):索引 = label:pm:seat,总入口 #4604。单写手规则:只有在任座位 PM 编辑本贴正文;接管/移交 = 改正文 + 一条审计评论(评论只作交接存档,不承载状态)。空缺争用时:动手前重拉正文、审计评论时间戳先到先得、写后回读。活性判定惰性无心跳,仅接管冲突时评估。

范围

cloud 全仓队列。

当前 PM(会话或 Routine ID)

⏳ vacant —— 2026-08-14 ~03:2xZ 由前任正常退场注销(维护者指示「当前任务处理完就下班」),非回收、非超时。assignee 已摘除。

前任:account hotlong · session session_01TPHe3S9uZYC9wtUwdkRZ46 · 在任 2026-08-13 ~07:1xZ → 2026-08-14 ~03:2xZ。退场时在手工件为零:在飞 dev 0,已 ACCEPT 的 PR 全部跟到 MERGED,pm:dispatched 标签实测为 0。

接任指引:/pm-dispatch 接手,先读本贴,再读「接任第一动作」段。

继承台账(当场实测读数 2026-08-14 ~03:2xZ,⛔ 非 carry-forward)

任期产出:窗口内 27 个 PR 合入 main(git log origin/main --since=2026-08-13T07:00Z),其中 #1289(ADR-0111)与 #1290(service-tenant)非本席派发;0 次 REWORK 重新派发(3 次补丁轮/重新诊断,均续派原 dev 成功)。

接任第一动作 —— 队列里唯一可派的一张

#1310⚠️ 标题写的是 environment-lifecycle.ts 的头注释自相矛盾,但正文要的是一次按引用的全扫,不要只按标题做:

队列其余(pm:queue,实测 5 张)

决策箱(needs-user-decision,实测 2 张)

一个开着的否决窗口(⚠️ 无标签承载,只在此处登记)

PR #1323(#1316)允许「每日的自定义 cron」,偏离了维护者在 #1288 评论里的字面结论「拒绝带自定义 schedule 的 timeRelative flow」。本席判定接受(理由:规则写成「cadence 必须每日」更贴合该结论给出的原因;"0 22 * * *" 一天仍只扫一次,既不重复也不跳过,是框架 spec 自己的 @example 且已有测试钉住;按字面拒绝会让 lint 对可测量为无害的事报错)。已合并。维护者一句话即可改回字面版 —— 该请求记录在 #1288 的评论里。

待维护者(座位不推进)

一次带真实凭据/环境的人工走查窗口 —— cloud#621 item 3(b) 与 item 5、objectui#2443、cloud#844、#787 finding B、#1020,六张沉没成本相同,一个窗口覆盖,08-06 首次提请至今未安排。⚠️本车道唯一光靠派发解不开的堆积。另:#1265(OS_SCIM_ENABLED 双向压过 plan 门,框架侧归 domain:identity#6022)。

其余标签实测

pm:on-hold#1292(真阻塞,解除条件单一可机械判定 = objectstack#8368 关闭;⚠️ 其 scope 1 第一步是 scripts/bump-objectstack.sh,该前置的炸弹已由 #1320/PR#1328 拆除)与 #1288(架构父单)。finding / pm:blocked / tracking 见标签查询,退场时无逾期项。Release board target:v17:0 open。

热文件串行队

四条持有者全部清空 —— 退场时无任何文件被在飞卡占用。以下是跨任期仍然有效的文件级事实,不是占用登记:

常设承诺

Standard repo:cloud whole-repo seat duties:sweep + triage + route;sole target:<major> producer;dispatch in-lane;drive accepted PRs to MERGED via the merge queue(ADR / skills-root PRs → human merge only);archive dev-sessions at 终局。

平台实测(本任期新增/确认):

  • ⚠️ 新 worktree 里类型门禁的首个读数不可信 —— 首报一批 TS2307 Cannot find module 及其级联 TS7006,全在没人碰过的 src/依赖闭包未构建的假红,不是 main 坏了。处方:先 pnpm --workspace-concurrency=2 --filter '<pkg>^...' build。本任期五张卡各自独立复现
  • ⚠️ EE 镜像 job 带路径过滤 —— 纯 .changeset/ 或纯文档的 PR 根本不触发它,只会有一个 check。⇒ 判全绿看 mergeable_state 是否 clean,⛔ 不要数 check 个数硬等两个 job,否则文档类 PR 会被永远卡住([P3] docs: services.{data,sharing,audit,queue,email,settings,storage} APIs undocumented #1327 实证)。
  • ⚠️ EE 镜像 job 的滞留判断必须看步骤级时间 —— job 级 wall clock 含一个可变前置 Free runner disk(实测 6 分 35 秒)。本席曾据 job 级时钟误判「已超阈值」。取 actions_get: get_workflow_job 看 steps。构建步实测 ~28 分钟,全 job ~36 分钟。
  • scripts/pm/dispatch-gates.mjs 不在本仓(住 framework 仓)⇒ 门禁清单只能从根 package.jsoncheck:* 按改动路径手工推导。
  • get_job_logs 的 tail 截断是上下文预算所致 —— tail_lines 撑到超限,完整 payload 自动落盘,grep 即可。
  • merge_pull_request 直调返 405 ⇒ ready → enable_pr_auto_merge;网关间歇 502,按重试纪律补齐并回读确认
  • 队列分支重建在合并后的 base 上跑,PR head 绿 ≠ 队列绿;但同输入异结果 = 非确定性,不是组合mergeable_state: behind ⛔ 无需手工 update branch。
  • 云卡容器只 clone cloud,依赖 link: 到 sibling framework;该 sibling 是浅克隆且 HEAD 非 pin ⇒ 本地读数与 CI 可以不同。⛔ 本任期实证:一名 dev 据此把「本容器红」误报为「main 红」并立卡;判定前必须先对 pin。

说明

⛔ 本任期最重要的一条(五次实证):派发令三分区里的「PM 机制假设(须实测,鼓励证伪)」不是客套 —— 它挡住了五次由 PM 引入的返工。 ① 队列踢出是「与 #1299 的语义互锁」(实测:objectos-ee 对 service-cloud 零依赖);② 暖缓存判定失效(实测:断言顺序证明暖缓存被正确识别);③ 用「responder 从未被打到」钉暖路径(实测:暖 boot 确实调用 validate 一次);④ 「unreachable/refused 已建模,应能直接分叉」(实测:两种结局在 entitlement 上每个结构化字段都相同);⑤ 「两处 TS2322 是同一个 helper 的同一签名」(实测:两个各自手抄的 FakeHttpServer,同一缺陷犯了两遍)。

第二条:⚠️散文不是证据,包括引用了 ADR 的散文。#1310 承接按引用(非按短语)全扫 + 裁定表。

第三条:规则冲突时先说出来再执行。 本任期两次:① 角色文件的 Fixes/Part of 条款优先于派发词(照派发词执行会静默关掉一张决策未决的卡);② #1318 的 dev 发现 PM 裁决 2 与裁决 3 在 absent 分支互斥,挑明后按各自实质取舍。⛔ 不接受「挑一条服从、另一条装作没看见」。

第四条(分诊侧):卡面头部的 Blocked-by: 未必是执行依赖。#1287 标了却可派(修复面全在本仓、上游自身 on-hold);#1292 标了且是真的。⇒ 逐张核对上游现状 + 本仓修复面再定真假。

第五条(复核侧):「⛔ 不得加宽类型」的边界是「生产契约类型」,不是「一切类型」。 PR #1317 加宽两处测试自有的 interface Route,属「让假件满足它自称实现的接口」,且补了运行时钉子。⇒ 先判被改的类型是谁的,再套禁令。

第六条(证据装置):「零命中」类断言必须带阴性对照。 PR #1322 证明气隙无出网时,没有停在「断言 503」(它同样符合「请求出去了、失败了、被映射回来」),而是读记录到的出网尝试,并加一个用例把 boot 指向保留的 .invalid 主机来证明哨兵看得见请求。⇒ 「列表为空」不能靠哨兵坏掉而通过。定为本车道标准形态。

第七条(治理边界):skills/ 不等于受禁令保护的 skills。 cloud 仓根skills/ 也无 .claude/skills/;packages/service-ai-studio/src/skills/*.ts 是产品包源码(带自己的 __tests__)。禁令针对约束 agent 行为的操作性技能文本。⇒ skills 字样先判物,再套禁令。

第八条(测试装置):harness「超时 resolve」会反向掏空邻近断言。 PR #1328 实测:expect(code).not.toBe(1) 被超时产生的 code: null 满足、expect(stdout).not.toContain(...) 对空串成立 —— 两条在修复前就已经是空的。⇒ 一个在超时时 resolve 的 harness,不只是把失败伪装成下游断言,它还让邻近的否定/存在断言集体失效。清点空断言时必须连带审 harness 的失败路径。

第九条(退场纪律,本席教训):退场序列启动时若还有 PR 在等门禁,必须先补一个守卫定时器再做其余收尾。 本席收到「下班」指令后直接走收尾,而上一个巡检定时器已用完 —— #1328 / #1329 在 18:56Z / 19:16Z 就已双绿,却空等到次日 03:19Z 才被翻 ready。不影响正确性,但退场动作本身制造了一段无人接管的空窗

⛔ 长期禁令(跨任期有效):不得设置 OS_MCP_SERVER_ENABLED。framework 把它重载为 stdio 自动启动触发器,无 OS_MCP_STDIO_API_KEY 时 fail-close 并回滚插件 —— 2026-07-19/20 全容器租户 auth 中断即此;OS_MCP_STDIO_ENABLED=false不能抑制它。

⛔ Permanent notes(跨任期,仍然有效):卡面散文里的落点/写入方不是证据;organization_id 自动打戳随 @objectstack/organizations 发布而控制面刻意不挂载(F1);「没有 SCOPE_RULES 条目」≠「没有边界」;集合成员资格是暴露面上界而非暴露面;rig 普查只测控制面自建的行;半写入列必须钉完整期望集合;统一 405 不是租户墙;OS_MULTI_ORG_ENABLED 派生变体陷阱;浅克隆让 git log -S 零命中成为假象;零命中是关于查询而非关于树的证据;同一响应形状不能既表示成功又表示失败;Part of 卡合并后不自动关(本任期两次:#1300#1316,均已手工关);字面尖括号被 sanitizer 静默截断其后全部内容(写 </> 并回读);dev 死于 API Error: 529 ⇒ 探活 + poke 复活,⛔ 不重派。


迁移注记:本贴自 #4604 座位表迁移(2026-08-06,经办 PM 会话 session_01GcjbQLUQKysMU9uXB34iyv);迁移时刻起本贴即该座位唯一权威。

Metadata

Metadata

Assignees

No one assigned

    Labels

    pm: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