Repository navigation
Closed
Labels
domain:serverDomain lane — seat card indexed by label:pm:seatDomain lane — seat card indexed by label:pm:seattrackingGenerated anchor/tracker issue — not dispatchable; exempt from the half-state sweep's findingsGenerated anchor/tracker issue — not dispatchable; exempt from the half-state sweep's findings
Description
coordinator#1 · os-sales · session_01L6bhgTFBZ6vGZwSVMbnwHB
Part of #31527 (ADR-0150) · 挂在 #32778 下
维护者速读
- 这是什么:Sales 在 2026-11-13 01:08Z 切到省 token 模式(p1 先做,p2 只做必要的),一批 p2 卡停在半路。本卡把每张卡停在哪、从哪继续、还差什么写在一处,交给下一个 agent 接手。
- 先做哪些:先做「一、未开工的 p1」,再按「二、已有分支的 p2」接续,最后才是「三、没开工的 p2」。
- 不在本卡范围:正在做的 p1 feat(plugin-webhooks)!: declared webhooks are held per namespace, each holder dispatched and switched as its own (ADR-0150 child B, webhook family 2/3) #32577、metadata-protocol: the boot hydration binds a stored webhook row of a name two packages hold by registration or load order; key its artifact lookup by (package, name) (ADR-0150 D3/D4) #32692、metadata: after a package-less write of an action name, the host package comes back as a phantom holder in the bare read (the boot pass's host stamp on a stored row; follow-up of #32791) #32812、runtime action route: an environment action on an object neither of two holders binds cannot run through the bare route once #32568 lands #32751,以及 An app package's dashboard tile on a sibling module's dataset answers 409 on main; os validate accepts it (HotCRM CRM Overview regresses against 18.3.0) #32929 PR 1、fix(objectql)!: every reader of the registry's overlay slot binds a row of an App's customization pair by the exact read's owner rule (ADR-0150 D4) #32815 等仍在推进的卡,都不交接。
- 需要你做的:无。接手者按 pm-dispatch 技能认领单卡(
Claim:),不认领本卡本身。 - 写「待查」的地方是交接时没有记录可依,接手者先查再动,不要猜。
接手前的共同约束
- 分支只合并、不改写历史(不 rebase、不 force-push);main 只在开 PR 前合并一次,或兄弟卡落地后、冲突、main 引起的红、被队列踢出时再合并。
- 门禁只重跑受影响的部分(AGENTS.md §10);dogfood 在最终 head 上跑一次。
- 所有 GitHub 写操作只走
scripts/pm/fleet-write relay;PR 正文开之前跑check-closing-keyword-parity.mjs --body。 - 叠在未合并卡上的卡,前置卡合并前不开卡线程。
- 下面提到的
/mnt/project-files/...是本项目共享目录里的文件。
一、未开工的 p1(优先级高于下面所有 p2)
| 卡 | 挂在 | 内容 | 状态 |
|---|---|---|---|
| #32967 | #32929 | os validate / os build 按读取方声明的闭包解析数据集读取方(#32929 的 PR 2,作者期拒绝,挪到 18.4.1) |
pm:queue,未开工。#32929 PR 1 仍在做,不交接 |
另:#32968(挂 #32568,升级指南补救做法 (1) 会删掉用户自己的覆盖)本车道在做(PR #32973),不交接。
另:#32578(p1,挂 #31527)专题席已判定前提不成立,#32577 合并后由专题席按 not planned 关闭,不当作待做的卡。
二、已有分支、停在半路的 p2
#32820
- 恢复入口:从 main 新开分支,再打上补丁
/mnt/project-files/issue-32820/patches/里的两个补丁(git am -3,0001 修复、0002 普查测试)。交接时在 main25ee5076上试过,两个都能干净打上。 - 原分支
claude/project-thread-pjmygu已被 spec: the #32568 upgrade-guide entry's remedy (1) deletes the user's own override if followed in the written order, and its?package=<holder>save answers 403 on a code package #32968 的 PR docs(spec): the package-less row entry's remedy deletes the package-less row first, and saves a code package's customization in its .custom pair #32973 复用,那 7 个文件已还原回 main 的版本,不要从它继续。原 head0637a5006只作历史参考。PR 未开。 - 修复和测试已写完(就在上面的补丁里)。
- 门禁:
check:dual-build-cjs-loads以 exit 3 退出,原因没查(可能是前置条件问题,未证实)。其余门禁和 lint 已过。 - dogfood 没跑完,没有结果。
- PR 正文草稿
/mnt/project-files/briefs/32820-pr-body-r1.md,只差 Verification 一节。 - 卡线程笔记里记了一处未覆盖的情形:在水合之后才安装的持有包,不在本卡范围。
- 继续:新分支打完补丁后重建 → 查清 exit 3 的原因 → 跑 dogfood → 补 Verification → relay
pr_create(draft)→ os-dev-report。 - Release 记录 id:待查。
#32613
- 分支
claude/project-thread-63cajz,headb777b1b54(已推送),PR 未开。已合并 main 一次(a888c5c9e,含 fix(metadata-protocol)!: a package-less row at a holder's exact address answers one thing on every read and in every hydration state: declined for a sealed type, refused with two holders for an overlay type (ADR-0150 D4) #32741)。 - 在代码 head
756a743c5上:完整构建、dispatch-gates 71/71、lint、类型检查、测试全部通过;之后的提交只改 changeset 文字,changeset 门禁没在b777b1b54上重跑。 - dogfood 没跑完。
- 同类问题另开在 metadata-protocol: the boot census reports a second holder's served declared override as unserved and prescribes deleting the stored row #32859,不在本卡修。
- 恢复步骤
/mnt/project-files/briefs/32613-resume.md;PR 正文草稿/mnt/project-files/briefs/32613-pr-body-r1.md。 - 继续:在 head 上重跑 dispatch-gates → dogfood 一次 → 补 Verification → relay
pr_create(draft)→ os-dev-report。 - Release 记录 id:待查。
#32354
- draft PR fix(metadata-protocol)!: a name a disabled package holds through a stored row is judged over the served set, never by save order (ADR-0150 D3) #32811,从
claude/project-thread-pv4nip@cd1143c19继续;Release 记录 6840744768,卡已回 pm:queue。 - PR 叠在 fix(metadata-protocol)!: a pair address reads the package it names: its envelope is that package's, and an App pair two of whose modules hold the name is refused naming both (ADR-0150 D5) #32808(metadata-protocol: a pair address (?package=<base>.custom) takes its envelope from the first registered holder of the name, so it answers one package's body under another's _packageId #32501)上:等 fix(metadata-protocol)!: a pair address reads the package it names: its envelope is that package's, and an App pair two of whose modules hold the name is refused naming both (ADR-0150 D5) #32808 合并后再动(交接时 fix(metadata-protocol)!: a pair address reads the package it names: its envelope is that package's, and an App pair two of whose modules hold the name is refused naming both (ADR-0150 D5) #32808 是否已合并:待查)。
- 继续:合并 fix(metadata-protocol)!: a pair address reads the package it names: its envelope is that package's, and an App pair two of whose modules hold the name is refused naming both (ADR-0150 D5) #32808 落地后的状态一次 → 重跑受影响门禁 → 合同评审。
- 未决:PR 首行用 Part of 还是 Fixes,由评审定。
#32607
- Resume-from
claude/project-thread-j3i5j5@d721d9a12,Release 记录 6840760147,卡已回 pm:queue,PR 未开。 - 叠在 fix(metadata-protocol)!: a name a disabled package holds through a stored row is judged over the served set, never by save order (ADR-0150 D3) #32811 / fix(metadata-protocol)!: a pair address reads the package it names: its envelope is that package's, and an App pair two of whose modules hold the name is refused naming both (ADR-0150 D5) #32808 上,二者合并后再动。
- 交接说明(含 PR 正文草稿位置和恢复步骤)
/mnt/project-files/server-seat7/card-32607/resume.md。 - 未决:Clause-② 写
yes (narrowing)还是no (narrowing),交给评审。
#32561
- 分支
claude/project-thread-04ua2f,headc233053b1(已推送),PR 未开。 - 前置卡:fix(objectql)!: every reader of the registry's overlay slot binds a row of an App's customization pair by the exact read's owner rule (ADR-0150 D4) #32815(metadata: overlaySlotBinding's other readers (bundleMembersHeldBy, getEnvironmentScopedItem) bind a pair row without reading overrides.package (ADR-0150 D4) #32408 的 PR)合并后,合并 main 一次,再跑全部门禁和 dogfood,开 draft PR。
- 残留项 (3) 的裁定见 metadata-protocol: the exact read binds an undeclared App-pair row to X even when an addition package ships the same bundle member, where the registry binds it to no package (ADR-0150 D4, red line 2) #32561 上的评论 6837007729,PR 正文引用它。
- Release 记录 id:待查。
#32552
- 分支
claude/project-thread-31hd5y,headd4d32416e(已推送),PR 未开。 - 前置卡:fix(objectql)!: every reader of the registry's overlay slot binds a row of an App's customization pair by the exact read's owner rule (ADR-0150 D4) #32815 合并后,合并 main 一次,跑全部门禁和 dogfood,开 draft PR。
- Release 记录 id:待查。
#31985
- 01:14Z 暂停(记录 6840820654,内含 Release、Resume-from
claude/project-thread-cb6zil@d39ba131和 Restart-when:省 token 模式解除后)。 - draft PR feat(objectql, core, metadata)!: tool names held per namespace, and the metadata service keeps each package's tool in its own (package, name) slot (ADR-0150 child B) #32895;合同评审 PASS、增量评审 PASS 都已贴出。
- 恢复时欠:红线复读的 HOLD 项(正文文字修改、合并 main 一次、5 条裁定)。
- 后续卡 metadata-protocol: the in-process layered read refuses a bare name two served holders hold, for every package-addressed type, and the bare /layers door is pinned with no service copy #32914、docs: a tool name is no longer "globally unique" once tool is package-addressed (ADR-0150) — tools.mdx and the spec jsdoc #32916。
#32929 PR 2
- 已挪到 18.4.1,后续卡就是上面的 cli: os validate / os build resolve a dataset reader through the reader's declared closure, as the runtime does (authoring half of #32929, 18.4.1) #32967(p1)。
三、没开工的 p2
| 卡 | 挂在 | 备注 |
|---|---|---|
| #32900 | #32408 | 原 p1,00:47Z 降为 p2 |
| #32907 | 待查(与 #32534 / PR #32877 相关) | — |
| #32933 | 待查 | — |
| #31699 PR 3 | #31699 | 00:47Z 降为 p2;排在 #32692 之后 |
| #32905 | #32778 | 先测量;若裸名回滚会静默挑一个持有方,升 p1 |
| #32899 | #32408 | — |
| #32826 | #32292 | #32804 的评审小项 |
Generated by Claude Code
Metadata
Metadata
Assignees
Labels
domain:serverDomain lane — seat card indexed by label:pm:seatDomain lane — seat card indexed by label:pm:seattrackingGenerated anchor/tracker issue — not dispatchable; exempt from the half-state sweep's findingsGenerated anchor/tracker issue — not dispatchable; exempt from the half-state sweep's findings
Activity
objectstack-fleet commentedon Nov 13, 2026
epic:#31527#1 · os-sales · session_01L6bhgXQnNkXTT1Wu7i7Y3i
Epic seat · 2026-11-13T01:18Z: #32968 is already in this lane. Server seat A claimed it (6840840448) and its #32568 card thread is doing it, for 18.4.0. Do not hand it to another agent. #32967 has not started: it is #32929 PR 2, moved to 18.4.1.
objectstack-fleet commentedon Nov 13, 2026
epic:#31527#1 · os-sales · session_01L6bhgXQnNkXTT1Wu7i7Y3i
Epic seat · 2026-11-13T02:31Z: add #32692 to the unstarted p1 cards handed over here, by Sales's order at 2026-11-13T02:31:39Z (this lane dispatches no new cards; #32692 goes to another agent).
objectstack-fleet commentedon Nov 13, 2026
epic:#31527#1 · os-sales · session_01L6bhgXQnNkXTT1Wu7i7Y3i
#32692 release fallback · superseded 2026-11-13T03:03Z
Triage regraded #32692 to p2, and the maintainer confirmed there is no early start. #32692 is scheduled after 18.4.0. The mailbox request on #32972 (6842419755) is withdrawn.
Earlier fallback (03:01Z): start now stacked on #32577; move to 18.4.1 if not queued by 20:00Z, with a release-note warning.Generated by Claude Code
objectstack-fleet commentedon Nov 13, 2026
domain:server#1 · os-sales · session_01L6bhgVaKJ9TPfXPRhdqx3e
Update for the #32613 section · 2026-11-13T11:05Z
pm:queue(comment 6850983784 on the card, on the maintainer's word of 11:01Z); its "Release 记录 id:待查" is Release 6840786599, now superseded by that return.claude/project-thread-63cajz@b777b1b54. Next steps as the section says, plus one more merge ofmainbefore the gates (the branch is behind the main that fix(objectql)!: every reader of the registry's overlay slot binds a row of an App's customization pair by the exact read's owner rule (ADR-0150 D4) #32815 / fix(core): the outside-closure refusal names the move when the holder already depends on the reader #32982 / docs(spec): the package-less row entry's remedy deletes the package-less row first, and saves a code package's customization in its .custom pair #32973 landed on).pm:queuein the same stroke: metadata-protocol: the exact read binds an undeclared App-pair row to X even when an addition package ships the same bundle member, where the registry binds it to no package (ADR-0150 D4, red line 2) #32561 (6850998457; its blocker fix(objectql)!: every reader of the registry's overlay slot binds a row of an App's customization pair by the exact read's owner rule (ADR-0150 D4) #32815 merged ase336a33eb) and objectql: narrow the phase-1 one-holder refusal from environment to namespace for tool (ADR-0150 child B, tool) #31985 (draft PR feat(objectql, core, metadata)!: tool names held per namespace, and the metadata service keeps each package's tool in its own (package, name) slot (ADR-0150 child B) #32895).objectstack-fleet commentedon Nov 13, 2026
triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH
Path: none
Triage: closed · the handover is done; what remains is tracked on #31527 · 2026-11-13T22:57Z
epic:#31527#2, and objectql: narrow the phase-1 one-holder refusal from environment to namespace for webhook, connector and email_template (ADR-0150 child B, webhook family) #31699 PR 3 / metadata-protocol: the boot hydration binds a stored webhook row of a name two packages hold by registration or load order; key its artifact lookup by (package, name) (ADR-0150 D3/D4) #32692 bydomain:server#7.epic:#31527#3(os-tesla, mailbox pm:mailbox — epic:#31527#3 · os-tesla #33161, seat-online 6867016748): console + rest: the History item tool reads and rolls back by the bare name, so a name two packages hold in a type stored per package cannot be read or rolled back from the console (ADR-0150 D3/D4) #32905, metadata-protocol: the registry's bare slot keeps only the row hydrated last when a pair row and a package-less row of the same member are both stored #32900 and metadata-protocol: admit a package beside the one owner of an App pair row only once the by-name read follows the registry binding (withdrawn row 12 of #32408) #32899, plus metadata-protocol: a second holder's declared .custom override is still judged against the first shipper only, for the sealed served-override types and the overlay list filter (ADR-0150 D4 follow-ups of #32613) #33131, lint: os validate / os build refuse a report that reads a dataset its declared dependency holds (chart-dataset-unknown reads stack.datasets alone), while the runtime serves it — report half of #32967 #33128, metadata-protocol: a pair row declared for package X is served at an addition package Z's exact address as Z's item, where the registry answers Z's own (ADR-0150 D4, red line 2) #32606, metadata-protocol: after a restart, two stored rows of one name that each name a different holder leave only the last one loaded, for every package-slotted type (tool, webhook, …) #33127 and metadata-protocol: a name held only by stored rows of two packages, one disabled, answers by save order, and /layers takes the first composite when the environment holds its own item (ADR-0150 D3) #32354's remainder. The p3s rest: loose ends of PR #32804 — real-arrangement pins for the refusal forms, the 503's cause and log line, one shared refusal recogniser, prose (follow-up of #32292) #32826, objectql: a function's bare-name read refuses with 409 naming both when the platform and one package hold the name (ADR-0150 D4) #32907 and objectql: the engine's function holder set follows ruling A's served-holders default #32933 are in batch 3 of the order.#3in 6866786021.