本贴是 domain:cli 座位的唯一权威登记。 座位贴协议(维护者 2026-08-06 批准,自 #4604 单正文座位表迁移而来):索引 = label:pm:seat,总入口 #4604 (指针页)。
单写手规则 :只有在任座位 PM 编辑本贴正文;接管/移交 = 改正文 + 一条审计评论(评论只作交接存档,不承载状态)。空缺争用时:动手前重拉正文、审计评论时间戳先到先得、写后回读。活性判定(惰性,无心跳,仅接管冲突时评估):Routine 座位查调度器,会话座位查最近产出评论时间戳,>24h 无产出即可回收。
范围
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(会话或 Routine ID)
Session session_0158ZQo7LiHSxGWpYKuPq1wu(GitHub account os-help);2026-08-10 经维护者 /pm-dispatch cli 接管。前任:session session_017uFVNMmTxLpmfQYiuKM1Yx(account os-project-manager),已按维护者指令于 2026-08-10 02:16Z 下班并留交接评论。
说明
🟢 本班次 R1–R5 全部收官,在飞归零 —— 波次收工存档姿态。 状态时点 2026-08-10 10:4xZ 。本班次共 12 卡 / 11 PR,全部 MERGED ,零 REWORK、零判死。两次灭批(03:2xZ 宿主重启 ×3、09:xxZ dev 进程消亡 ×2)全部零工作丢失。
⛔ 现行指令
并发上限 5 (维护者 2026-08-09 口述)。⚠️ 真实约束是账号级配额 —— 上限是许可不是目标。
派发后端按尺寸分流(维护者 2026-08-10 裁定,[batch] PM-skill optimization: maintainer-accepted 9-point plan, consolidated with #5925 item 7 + #6644 L2 + #7055 + #7156 #7341 ) :M 及以上默认 mode:cloud 云卡 单独派(独享容器、全程可见可干预),仅 S 级机械卡 留 mode:subagent 共享容器。旧的「重卡才例外升舱」判据清单降为 M+ 的示例,不再是触发条件。
模型三档制(同日裁定,取代 08-09 两档制) :下限 sonnet(机械卡)/ 默认判断档 opus(M/L、裁决实施、多面语义)/ 上限 claude-fable-5(协议·编排类,或维护者点名)。model 逐次派发显式传参,永不省略 ;档位与容器判定同写进认领评论。⛔ 强制:凡改 .claude/skills/pm-dispatch/** 的卡一律 claude-fable-5。
dev 报告时点已前移([skill] pm-dispatch: 5 lessons from the domain:metadata seat's first term (8 cards MERGED / 0 rework / 4 dev-side falsifications) #6644 L2,2026-08-10 裁定) :dev 推分支 + 开 draft PR 即刻交报告,gate 状态照实记(in_progress 是诚实读数);CI 收敛、翻 ready、入队的守门整段归 PM 。⇒ 本席 ACCEPT 前必须亲核 ESLint 与 TypeScript Type Check 两个 job 的 conclusion ,不能只读聚合状态,也不能信报告自述。
波次收工点(维护者 2026-08-09 裁定,SKILL(pm-dispatch): 八条单班实测教训 —— 派发令模板、跨包落点、云卡归档、拆分卡标签继承 #6902 ) :在飞归零 → 收工存档(判断 flush 到 GitHub)→ 维护者执行 /compact → 压缩后再派下一波,⛔ 不抢派。
finding: POST /packages/:id/publish-drafts 整包 draft 批量转正,零能力的已认证调用方即可调用(实测 200 vs 同族 _migrate-stored 403) #7023 / finding: /packages 域整体没有授权判据 —— discard-drafts(破坏性)、export、GET /packages 零能力调用方均实测 200,#7023 只是其中一条 #7033 的门已裁并落地 (PR feat(runtime,rest): /packages 域补齐授权门 —— 写要 manage_metadata、读要 D4 读集、全域匿名门,两 transport 各一份 (#7033) (#7023) #7083 ,b295e4b36)。
巡检节奏:在飞时 ≤25–45 分钟;待命期 60–70 分钟。
本班次账目(os-help 班次 — 12 卡 / 11 PR,全 MERGED)
在飞 0。
🔥 热文件串行队(跨轮常设事实 —— 接任者直接读这里,勿从认领评论重推)
文件
已落地顺序(本班次)
区域
packages/rest/src/rest-server.ts
#7035 (/meta 501 信封)→ #6349 (translateMetaItem/translateMetaItems 复数归一)→ #5582 (mapDataError 直通门 400–599)
三者区域互不相交:501 信封在 meta 写路径、i18n 归一在 translate 助手、错误映射在 mapDataError。下一张碰此文件的卡仍需申报区域级文件面
packages/metadata-core/src/object-schema-fls.ts
#7020 (D4 豁免集派生化)
常量与 isObjectSchemaMaskExempt;两个 /packages 调用点已改指只读半集
队列(细读后定序,2026-08-10 10:4xZ;⛔ 收工姿态期间不派)
可派 6 (label:pm:queue label:domain:cli is:open no:assignee,REST search 取交集):
#3739 (projects.create 13 字段/控制面读 4)· #5958 (default-project 槽 3 读者 0 注册者)· #7270 (runtime 复制声明 PermissionDeniedError)· #7295 (finding:无门禁看 rest-server.ts 的信封)· #7318 (lowerCallables 静默删未识别条目)· #7380 (console nav 空 children 组不被 filterNav 丢弃)
⚠️ #3739 / #5958 仍阻塞 :需 cloud 仓读权限(见下)。#7295 与 #7318 是本班次派生 ,分诊席已定级。
#6877 ⛔ 压在 #6878 之后 —— 现已解除 (#6878 路线 2 于 PR #7396 落地),下轮可评估。
决策箱(2)
⛔ 需要维护者/管理员动作
#3739 / #5958 需 workspace 获得 objectstack-ai/cloud 读权限。维护者 2026-08-08 已同意,三任 PM 实测仍为 you don't have access。
⚠️ 下游后果:/packages 授权门带 cloud 普查盲区落地(#7083 )。⇒ 欠一笔 :cloud 一旦可达,须普查是否有会被此门 403 的生产调用方。
⚠️ 运维情报
① GitHub API 配额账号级共享 。状态读走 git 协议 (不吃 REST),REST 只留写动作。复核 PR 的读与随后翻牌写吃同一份配额 —— 先 git 复核,REST 写攒到最后。
② 任何改变 head 或 draft 状态的事件都可能悄悄清 auto-merge arm,且无通知 。head 变化后必须回读队列成员资格(git ls-remote --heads origin 'refs/heads/gh-readonly-queue/*')。序恒为先 ready 后 arm 。队列容量上限实测约 5 :满 5 时 clean 的 PR 武装后等腾槽自动入队,⛔ 别反复重 arm。
③ 标签是整集 PUT —— 先读现值再写并集;issue_write 的 labels 不传即保留。
④ 本仓共享检出 shallow ,git log -- <path> 会给假空结果;先 git fetch origin main --deepen=100。
⑤ GitHub sanitizer 会静默删除裸尖括号 。字面尖括号一律写 &lt;/&gt;,写后回读。
⑥ 判死基线 :S 卡 ~40–70 分钟至 PR;~103 分钟仍属正常。45 分钟是探活 门槛,⛔ 不是判死门槛。⚠️ 本班次两次实测:灭批时探针回包即复活(resumed from transcript),零丢失 —— 先探活,⛔ 永不直接重派。
⑦ packages/rest 跑测试前先建 @objectstack/types;merge main 后 spec dist 陈旧会假红,rebuild 即转绿。
⑧ check:type-check-debt 必须先建全闭包;CI TypeScript Type Check 把 *.test.ts 也编 —— 本地包 typecheck EXIT 0 不代表它绿 。⚠️ TEST_DEBT['@objectstack/rest'] 已由 #7248 压到 155(零余量) ,#7402 实测踩中(测试面 +2,dev 修类型而非抬账,已回落 155)。
⑨ enable_pr_auto_merge 对已全绿 PR 返回空字段形态(method: , enabled at )= notes-21 签名,处方 disable→enable 翻转一次 再以队列分支验证。⚠️ 本班次 5/5 全中 (#7361 / #7372 / #7396 / #7402 / 早前 #7194 ·#7248 ),翻转后全部入队 —— 对全绿 PR 这已是常态而非例外 ,武装后直接按处方翻,别等。
⑩ ESLint 作业含 check:* 门禁族;本地 pnpm lint 绿不覆盖。⚠️ 门禁清单当天会变,派发前当场取数:grep -rn 'pnpm.*check:' .github/workflows/*.yml,或 node scripts/pm/dispatch-gates.mjs <路径>。
⑪ main 每几分钟落一次合并。dev 必须 merge → build → verify → push 一气呵成。
⑫ 队列跑全量套件,PR CI 只跑受影响子集 ⇒ PR 全绿不等于队列会绿。
⑬ send_later 定点是唯一可靠的守夜通道 ,CI success webhook 不可送达。定点文本按 notes 3:以「幂等 —— 动手前先重读状态」开头、只写判据不写结论 ,并自带完整待执行状态(哪个 PR、什么判据)—— 本班次一次实测,过期文本因这句而安全失效。
📕 教训台账(前任 ①-㉕ 全文见本贴 2026-08-10 02:22 前的历史版本)
前任 ①-㉕ 继续有效。本班次新增/复验:
㉖ 通知带任务中状态 = 停摆信号 ,立即回发姿态令 + 点名下一个工具调用(#6939 一枪复位)。
㉗ 宿主重启灭批是常态 ;探针三发三中,resumed from transcript 全量复活。
㉘ dev 进程消亡但 draft PR 已开 ⇒ 以 PR 实况代终报复核 (#7020 /#7361 、#6349 /#7372 两例)。这就是「推分支 → 开 draft PR → 立即交报告」顺序作为保险 的兑现:报告丢了,PR body 就是报告。
㉙ Fixes vs Part of 由 PM 在翻 ready 前亲核首行,别只信报告 (#7361 实测:类别 (b) 非空 ⇒ 必须 Part of,否则合并会静默关掉一张正躺在决策箱里的卡)。
㉚ dev 用测量顶回派发令的拼写指令 = 好运行,要当众认 (#7402 :派发令要求用 declaresServerFault 作 5xx 直通判据,dev 实测该谓词要求非空 code,据此门 status 会漏掉「声明了 status 但无 code」的 502 —— 正是原缺陷形状;改为 band 门管 status、谓词管 code 半边,与 resolveErrorResponse 达成完全对等)。
㉛ 反证变体要互补覆盖,单一变体的绿不构成证明 (#7396 :变体 a 漏 control 用例、变体 b 漏 cross-adapter operand 用例 ⇒ 两条断言各自承重;#7402 :§3 预测错并如实记录为 MIXED,反而暴露出「声明压过文本启发式」这条排序后果需要单独钉)。
前任班次留档(os-project-manager 班次,42 单,R1-R11 明细见本贴 2026-08-10 02:22 前的历史版本) ;更早 qq9340100 班次留档同处。
迁移注记:「范围 / 当前 PM / 说明」自 #4604 座位表逐字迁移(2026-08-06);迁移时刻起本贴即该座位唯一权威。
本贴是
domain:cli座位的唯一权威登记。 座位贴协议(维护者 2026-08-06 批准,自 #4604 单正文座位表迁移而来):索引 =label:pm:seat,总入口 #4604(指针页)。单写手规则:只有在任座位 PM 编辑本贴正文;接管/移交 = 改正文 + 一条审计评论(评论只作交接存档,不承载状态)。空缺争用时:动手前重拉正文、审计评论时间戳先到先得、写后回读。活性判定(惰性,无心跳,仅接管冲突时评估):Routine 座位查调度器,会话座位查最近产出评论时间戳,>24h 无产出即可回收。
范围
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(会话或 Routine ID)
Session
session_0158ZQo7LiHSxGWpYKuPq1wu(GitHub accountos-help);2026-08-10 经维护者/pm-dispatch cli接管。前任:sessionsession_017uFVNMmTxLpmfQYiuKM1Yx(accountos-project-manager),已按维护者指令于 2026-08-10 02:16Z 下班并留交接评论。说明
🟢 本班次 R1–R5 全部收官,在飞归零 —— 波次收工存档姿态。 状态时点 2026-08-10 10:4xZ。本班次共 12 卡 / 11 PR,全部 MERGED,零 REWORK、零判死。两次灭批(03:2xZ 宿主重启 ×3、09:xxZ dev 进程消亡 ×2)全部零工作丢失。
⛔ 现行指令
mode:cloud云卡单独派(独享容器、全程可见可干预),仅 S 级机械卡留mode:subagent共享容器。旧的「重卡才例外升舱」判据清单降为 M+ 的示例,不再是触发条件。sonnet(机械卡)/ 默认判断档opus(M/L、裁决实施、多面语义)/ 上限claude-fable-5(协议·编排类,或维护者点名)。model逐次派发显式传参,永不省略;档位与容器判定同写进认领评论。⛔ 强制:凡改.claude/skills/pm-dispatch/**的卡一律claude-fable-5。in_progress是诚实读数);CI 收敛、翻 ready、入队的守门整段归 PM。⇒ 本席 ACCEPT 前必须亲核 ESLint 与 TypeScript Type Check 两个 job 的conclusion,不能只读聚合状态,也不能信报告自述。/compact→ 压缩后再派下一波,⛔ 不抢派。POST /packages/:id/publish-drafts整包 draft 批量转正,零能力的已认证调用方即可调用(实测 200 vs 同族_migrate-stored403) #7023 / finding:/packages域整体没有授权判据 ——discard-drafts(破坏性)、export、GET /packages零能力调用方均实测 200,#7023 只是其中一条 #7033 的门已裁并落地(PR feat(runtime,rest): /packages 域补齐授权门 —— 写要 manage_metadata、读要 D4 读集、全域匿名门,两 transport 各一份 (#7033) (#7023) #7083,b295e4b36)。巡检节奏:在飞时 ≤25–45 分钟;待命期 60–70 分钟。
本班次账目(os-help 班次 — 12 卡 / 11 PR,全 MERGED)
4c5df007f)· #6719→**#7364**(4d9430822)· #7020→**#7361**(121852d2c,Part of—— 卡保持 open 等追加裁决)· #6349→**#7372**(2443bb4c4)7cdbcbb30,卡已 CLOSED)· #5582→**#7402**(07383fece,卡已 CLOSED)在飞 0。
🔥 热文件串行队(跨轮常设事实 —— 接任者直接读这里,勿从认领评论重推)
packages/rest/src/rest-server.ts/meta501 信封)→ #6349(translateMetaItem/translateMetaItems复数归一)→ #5582(mapDataError直通门 400–599)mapDataError。下一张碰此文件的卡仍需申报区域级文件面packages/metadata-core/src/object-schema-fls.tsisObjectSchemaMaskExempt;两个/packages调用点已改指只读半集队列(细读后定序,2026-08-10 10:4xZ;⛔ 收工姿态期间不派)
可派 6(
label:pm:queue label:domain:cli is:open no:assignee,REST search 取交集):#3739(projects.create 13 字段/控制面读 4)· #5958(default-project 槽 3 读者 0 注册者)· #7270(runtime 复制声明
PermissionDeniedError)· #7295(finding:无门禁看rest-server.ts的信封)· #7318(lowerCallables静默删未识别条目)· #7380(console nav 空 children 组不被 filterNav 丢弃)cloud仓读权限(见下)。#7295 与 #7318 是本班次派生,分诊席已定级。#6877 ⛔ 压在 #6878 之后 —— 现已解除(#6878 路线 2 于 PR #7396 落地),下轮可评估。
决策箱(2)
default-projectslot has 3 production readers, 0 production registrants — and 6 comments name a registrant function that exists in neither repo #5958 — 需读不可达的cloud仓,与projects.create()declares 13 body fields; the control plane reads 4 — the guards compare URLs, not bodies #3739 同因阻塞。5236144046)已落地为 PR fix(metadata-core): derive the ADR-0106 D4 read exemption from the #6603 write gate (#7020) #7361,写门成为权威集、D4 豁免集改为派生。但阶段一测量的类别 (b) 非空(organization_admin/organization_admin_no_bypass/showcase_ops三个只读豁免),按裁决的硬前置这三个具名案例退回等追加裁决,故 PR 用Part of、卡保持 open。追加裁决问题:这三者是否继续保留只读豁免。⛔ 需要维护者/管理员动作
#3739 / #5958 需 workspace 获得
⚠️ 下游后果:
objectstack-ai/cloud读权限。维护者 2026-08-08 已同意,三任 PM 实测仍为you don't have access。/packages授权门带cloud普查盲区落地(#7083)。⇒ 欠一笔:cloud一旦可达,须普查是否有会被此门 403 的生产调用方。① GitHub API 配额账号级共享。状态读走 git 协议(不吃 REST),REST 只留写动作。复核 PR 的读与随后翻牌写吃同一份配额 —— 先 git 复核,REST 写攒到最后。⚠️ 本班次两次实测:灭批时探针回包即复活(⚠️ ⚠️ 本班次 5/5 全中(#7361 / #7372 / #7396 / #7402 / 早前 #7194·#7248),翻转后全部入队 —— 对全绿 PR 这已是常态而非例外,武装后直接按处方翻,别等。⚠️ 门禁清单当天会变,派发前当场取数:
② 任何改变 head 或 draft 状态的事件都可能悄悄清 auto-merge arm,且无通知。head 变化后必须回读队列成员资格(
git ls-remote --heads origin 'refs/heads/gh-readonly-queue/*')。序恒为先 ready 后 arm。队列容量上限实测约 5:满 5 时 clean 的 PR 武装后等腾槽自动入队,⛔ 别反复重 arm。③ 标签是整集 PUT —— 先读现值再写并集;
issue_write的labels不传即保留。④ 本仓共享检出 shallow,
git log -- <path>会给假空结果;先git fetch origin main --deepen=100。⑤ GitHub sanitizer 会静默删除裸尖括号。字面尖括号一律写
&lt;/&gt;,写后回读。⑥ 判死基线:S 卡 ~40–70 分钟至 PR;~103 分钟仍属正常。45 分钟是探活门槛,⛔ 不是判死门槛。
resumed from transcript),零丢失 —— 先探活,⛔ 永不直接重派。⑦
packages/rest跑测试前先建@objectstack/types;merge main 后 spec dist 陈旧会假红,rebuild 即转绿。⑧
check:type-check-debt必须先建全闭包;CITypeScript Type Check把*.test.ts也编 —— 本地包typecheckEXIT 0 不代表它绿。TEST_DEBT['@objectstack/rest']已由 #7248 压到 155(零余量),#7402 实测踩中(测试面 +2,dev 修类型而非抬账,已回落 155)。⑨
enable_pr_auto_merge对已全绿 PR 返回空字段形态(method: , enabled at)= notes-21 签名,处方 disable→enable 翻转一次再以队列分支验证。⑩
ESLint作业含 check:* 门禁族;本地pnpm lint绿不覆盖。grep -rn 'pnpm.*check:' .github/workflows/*.yml,或node scripts/pm/dispatch-gates.mjs <路径>。⑪
main每几分钟落一次合并。dev 必须 merge → build → verify → push 一气呵成。⑫ 队列跑全量套件,PR CI 只跑受影响子集 ⇒ PR 全绿不等于队列会绿。
⑬
send_later定点是唯一可靠的守夜通道,CI success webhook 不可送达。定点文本按 notes 3:以「幂等 —— 动手前先重读状态」开头、只写判据不写结论,并自带完整待执行状态(哪个 PR、什么判据)—— 本班次一次实测,过期文本因这句而安全失效。📕 教训台账(前任 ①-㉕ 全文见本贴 2026-08-10 02:22 前的历史版本)
前任 ①-㉕ 继续有效。本班次新增/复验:
㉖ 通知带任务中状态 = 停摆信号,立即回发姿态令 + 点名下一个工具调用(#6939 一枪复位)。
㉗ 宿主重启灭批是常态;探针三发三中,
resumed from transcript全量复活。㉘ dev 进程消亡但 draft PR 已开 ⇒ 以 PR 实况代终报复核(#7020/#7361、#6349/#7372 两例)。这就是「推分支 → 开 draft PR → 立即交报告」顺序作为保险的兑现:报告丢了,PR body 就是报告。
㉙
FixesvsPart of由 PM 在翻 ready 前亲核首行,别只信报告(#7361 实测:类别 (b) 非空 ⇒ 必须Part of,否则合并会静默关掉一张正躺在决策箱里的卡)。㉚ dev 用测量顶回派发令的拼写指令 = 好运行,要当众认(#7402:派发令要求用
declaresServerFault作 5xx 直通判据,dev 实测该谓词要求非空code,据此门 status 会漏掉「声明了 status 但无 code」的 502 —— 正是原缺陷形状;改为 band 门管 status、谓词管 code 半边,与resolveErrorResponse达成完全对等)。㉛ 反证变体要互补覆盖,单一变体的绿不构成证明(#7396:变体 a 漏 control 用例、变体 b 漏 cross-adapter operand 用例 ⇒ 两条断言各自承重;#7402:§3 预测错并如实记录为 MIXED,反而暴露出「声明压过文本启发式」这条排序后果需要单独钉)。
前任班次留档(os-project-manager 班次,42 单,R1-R11 明细见本贴 2026-08-10 02:22 前的历史版本);更早 qq9340100 班次留档同处。
迁移注记:「范围 / 当前 PM / 说明」自 #4604 座位表逐字迁移(2026-08-06);迁移时刻起本贴即该座位唯一权威。