Skip to content

[PM seat] domain:cli — ⏳ vacant #6024

Description

@claude

本贴是 domain:cli 座位的唯一权威登记(座位贴协议,维护者 2026-08-06;索引 label:pm:seat)。单写手:只有在任座位 PM 编辑正文;接管/移交 = 改正文 + 一条审计评论(评论只存档,不承载状态)。读侧:正文 + 晚于正文最后编辑的评论。活性惰性判定,仅接管冲突时评估。

范围

packages/cli, runtime, verify, qa, types, packages/rest, packages/mcp, packages/observability, packages/client, packages/client-react, packages/cloud-connection, packages/create-objectstack, packages/adapters/*, packages/plugins/plugin-hono-server, plugin-dev — per the SKILL domain-lane table.

当前 PM

Session session_01P7vaLs7bhBPi9m3JyzkhDj(GitHub os-zhuang);2026-08-13 10:2xZ 经维护者 /pm-dispatch cli 接管。前任 hotlong(session session_01B3Kurx8qufrDzNjk4rag7V)2026-08-12 22:27Z 自述收工但未改贴,已一并修复。前任账目与 ops-intel ①–㊽ 保留在更早的 body revision 与其四条 ops-intel 评论。

在飞台账(2026-08-13 15:3xZ)

本班次 MERGED 6,ACCEPT 待落地 1,在飞 1,REWORK 0,判死 0。

PR结果
#8356#8387MERGED 631ddbf36features.marketplace 改为按路由表逐请求派生
#8074#8407MERGED 54589ee29assertArmed 武装守卫 + 4 个 fixture 改造
#8355#8419MERGED 3db37957c — cloud-connection README 配方(含一轮补丁)
#8389#8431MERGED — serve.ts 离线臂挂 RuntimeConfigPlugin
#7912#8426MERGED — nav 可服务性裁剪 + lint 强制诊断 + spec 门禁顺序合一(含一轮补丁)
#8266#8439MERGED — stdio 记录资源的 ADR-0049 曝光门
#8388#8466ACCEPT,已入队,等落地
#8373#8487在飞(target:v17 Bug,导出时区),dev 已开草稿 PR

热文件串行队

文件 / 包顺序
packages/rest/src/rest-server.ts⚠️在飞 #8373(export-format.ts + 导出路由调用点)→ #8039(DATA_RECORD_READ_PARAMS 上方 docblock,仅散文)
packages/cloud-connection#8388(已入队)→ 空
packages/mcp⚠️#8328 前提已变,见下
packages/cli/src/commands/serve.ts#8368(维护者亲写的 artifact-pinned boot;派发前先验它是否真落在 serve.ts)

⚠️#8328 派发前必查:卡片描述的 listSkills: async () => (await metadataService.list('skill')) ?? [] 一行闭包已不存在 —— mcp-server-runtime.ts:1010 现在是多行闭包,:1011 有「记录读取裁决」注释,疑似 #6504listDiagnosed 已落地。卡片自己的协调注记要求:若 listDiagnosed 已落地,针对新方法写而非旧的。⛔ 不按卡片原文派。

常设承诺(现行维护者指令)

  1. 并发上限 5;空位一出即补派。
  2. S 级机械 + M ⇒ mode:subagent(维护者 2026-08-12)。mode:cloud 只留 L/XL、须活过 PM 会话、浏览器/dogfood 验证、build 重 M 卡。
  3. 模型三档sonnet / opus / claude-fable-5,逐次显式传参。⛔ 改 .claude/skills/pm-dispatch/** 一律 Fable;⛔ 改变契约接受/拒绝行为或扩大公开面的卡一律 Fable。
  4. ACCEPT/入队前亲核 ESLint 与 TypeScript Type Check 两个 job 的 conclusion=success,⛔ 不取聚合读数、⛔ 不因「本地绿」跳过。
  5. ADR 与 skills 路径的 PR:⛔ 不合并、不入队、不挂 auto-merge,只翻 ready 等人工合;混合 diff 一条命中即分叉。
  6. 归档由卡的终局(PR MERGED)触发
  7. 入队 = 翻 ready 再 调 enable_pr_auto_merge,两步缺一不可。落地判据取 timeline 的 enqueued/merged 事件 + origin/main 实体核验,⛔ 不取 auto_merge 字段(回执为空,零区分度)。
  8. target:v17Bug 优先(维护者 2026-08-13,原话:「v17 的任务应该优先,bug应该优先」)。⚠️优先是排序,不是豁免 —— 同日两次裁定:v17 缺陷 【缺陷】数据导出(CSV/XLSX)日期时间列硬编码按 UTC 渲染,与界面时区不一致(@objectstack/rest export-format.ts formatDate) #8373不豁免同文件串行;加速处理 指令下同包串行也不豁免。⛔ 未来的加速指令不自动重开这两条。

巡检节奏:在飞时 ≤45 分钟;待命 60–70 分钟。

说明 —— 本班次新增 ops-intel(㊾–🅃)

  • ㊾ 落地探针必须是 PR 引入的东西,不是它碰过的东西。 本席用「packages/spec/src/data/api-derivation.ts 是否在 main 上」判 fix(rest,lint,spec): prune nav entries whose destination object cannot serve, and refuse them at authoring time (#7912) #8426 落地 —— 该文件在 PR 之前就存在(b7a86ea5f),PR 只是修改它。探针恒为真,被当成证据,代价是两张绿 PR 各干等 ~45 分钟。正确形状:探 export async function enforceApiExposure(PR 引入的 export),而不是探 enforceApiExposure(main 上已有 7 处)。同一次调用里另一个探针给出相反读数才暴露了它 —— 两个探针互相矛盾时,去取第三个读数,不要挑顺眼的那个信。
  • ㊿ 定时器在本环境不可靠,两种死法。 一次 send_later(14:06)根本没投递;一次容器重启把 sleep 后台任务清掉。两次都导致绿 PR 无人翻。⇒ 事件流是比定时器更可靠的唤醒源(合并/CI/PR 事件全天密集到达);实践:每次被任何事件唤醒,顺手检查一遍待翻的 PR,不要只依赖单一定点。
  • 🅁 check:type-check-debt 有两个反直觉性质。 ① 它跑在名为 TypeScript Type Check 的 job 里,失败不是类型错误而是棘轮漂移(本班次红过一次);② 它拒绝在没有完整构建闭包时运行,报错原文点名「静默地测量另一个世界」—— 所以 dev 在本地根本跑不出来它,除非先付一次全工作区构建。⇒ 失败不是「dev 漏跑了检查」,是「这道检查在 dev 成本下不可运行」。缓解在派发令层面:卡片若往隐藏测试层的包加测试文件,点明扩展名惯例(NodeNext,相对导入必须带 .js;那些老测试文件的房屋风格本身就是冻结的债)。⚠️ 账本当前零余量(「every entry sits exactly at its measurement」),任何新错误都是红。
  • 🅂 交叉读两张卡能发现两个 dev 都看不见的碰撞。RuntimeConfigPlugin's features.installLocal is still a hand-maintained knob — the same declared-is-not-enforced shape #8356 just removed from features.marketplace #8388 会让 serve.ts's cloud-less branch still mounts no RuntimeConfigPlugin — the air-gapped runtime's working install-local route stays undiscoverable by the Console #8389 刚落地的一个用例转红:那个 fixture 用「只传身份、不挂路由」模拟「宿主自己接了 install-local」,在标志是声明时忠实,变成观测后不忠实。PM 是唯一同时看得见两张卡的人。⇒ 派发前把同族在飞/新落地卡的测试也扫一眼,不只扫源码文件面。预测后被测量证实:恰好一个用例红(:322),其余 10 绿。
  • 🅃 dev 的「typecheck clean」是包级的,看不见隐藏测试层。 两个绿读数之间可以藏着一个真缺陷,而两边都没撒谎。

关键平台读数(承继):⑳ list_pull_requestsmerged 布尔不可信,取 merged_at · ㉛ list_issueslabelsOR 不是 AND ⇒ 单标签查询 + 本地过滤 · ㉜ 卡片正文会以颠倒结论的方式过期,⛔ 派发前必读全部评论 · ㉞ 落点由卡片/分诊/派发令三方给出时同样要自核 · ㊳ 派发令里最具体的那句最可能过时(本班次 #7912 的三个行号全错)· ㊻ 负结果承载结论时必须自证「本可以找到」· ㊼ PR CI 只跑受影响子集,合并队列跑全量 · ⑤ sanitizer 吃裸尖括号,写后回读(本班次一次 add_issue_comment 超时且未落地,重读确认后才重发)· 🆕 车道标签会在你盘点之后才贴上(#8373 即如此),⛔ 不复用上一轮的车道集合。


迁移注记:本正文由 os-zhuang 于 2026-08-13 15:3xZ 刷新为本班次现值;更早账目见 body revision 历史。

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