它服务的读者是三周后回来的你——不是当下要派活的 GM。所以它的正面放的是 「这件事是什么 / 我们议定了什么 / 现在到哪 / 等我做什么」, 而不是子事项表和审核门。派活明细整体退到折叠区。
这份稿子回答七个问题:是什么、解决什么、怎么运转(五步)、confirm 前后两种形态、 为什么长成现在这样、今天有多少是真的、以及为什么还没开工。
docs/90 / docs/92 逐条可查,含用户四次纠正的原话design/mockups/card-schema/,本页不重复它card-schema/ 那份里(22 行);本稿的待澄清 = 那 54 条,不另起一套是讨论收敛之后落下来的一张结论卡。 它不是派活前的合约——这两者装的东西几乎一样,但正面顺序完全不同,读者也不同。
待进行 / 进行中今天没有任何东西能回答「事项 X 到哪一环了」。下面四条是用户点名的用途,
每条后面是它今天卡在哪(全部出自 docs/90 §Context 的实测,不是设想)。
linked_run_id 有值 0 条,run 上没有 backlog_id 字段。
OQ-1 这个编号在 10 份文档里含义各不相同。
services/orchestrator/storage.mjs:425-426
里 RUN_RETENTION_MS = 7d、EVENT_RETENTION_MS = 2h。
卡上留一份定长的 outcome 快照,run 行被清掉之后仍答得出「做了什么、产物在哪」。下面这段是用户原话,逐字照录。全稿只有这一段不许改写—— 之前两次误读都是从「转述一下」开始的。
「这个卡片在我们的对话框里并不重要。只要我说这个任务完成了,并且你也确认所有信息都齐全了, 我们再生成这个卡片。到时候,你可以在对话框里生成一个卡片入口,提供一个超链接(link)或 按钮(button)。我点开后是一个整体的大卡片,就像飞书的单个事项一样。 这个大卡片(事项)应该包含以下内容:1. 事项的名字和背景;2. 你的分配计划:每个 agent 具体做什么,以及各自的交付产物是什么;3. 比如 dev agent 准备创建多少个 session,其中哪些 是新的,哪些是老的。当我确认这些信息并点击 confirm 之后,这个卡片就相当于是我们的排期卡片, 状态可能是"待进行"或"进行中",用来追踪任务的整体进度。」
docs/92-conclusion-card-redesign.md §〇.4(用户 2026-08-17 第四次说明,原文照录)。
逐字未改;标点按中文全角排版——真源那几行用的是半角逗号,那是该文件全篇的书写风格,不是原话的一部分。--marker-* / --brand),
不是 drawio 默认三色;颜色回答的是「这一步谁在跑」。待进行 / 进行中,追踪整体进度不是两张卡。内容一格没少,变的是顶部状态、动作条,和「你现在该看哪一块」。
intent(≤800,确认时冻结)解释稿里「为什么这样定」比「是什么」更值钱。 这张卡的现在形态是被用户三次纠正 + 两次误读更正逼出来的,逐条如下。
card_draft → 渲染确认卡 → 用户点建卡」三段作废。
实际形态是:我们在对话里聊通 → 你说一句「建卡」→ GM 就建。对话本身就是确认,
不做 <question-form> 确认卡、不做按钮。GM 可以主动问「要不要建卡」,但那是一句话,不是一个控件。
理由与 docs/76 A3-3「执行意图走对话,不走开关」一致——原设计违反了它。
apps/web/index.html:2880-2889,门禁 cc:test:task-center)。
docs/92 的 §一「诞生三段」现在还留在文件里,
标着「已被〇.1/〇.4 作废,保留备查」,就是这个用途。这张卡目前是 0 行代码的设计,不是能开发的东西。 下面每个数字都能自己 grep 复现,不是估的。
contract_cards(卡本体)card_draft(草案解析通道)tracks[](分组)grep -rl "contract_cards" services packages workers scripts apps
→ 0;card_draft / tracks 同为 0。
67 / 17 / 54 这三个数出自 design/mockups/card-schema/data.js
的 facts_absent / facts / questions 三个数组,可逐条点开看。status(六态)」,没给六个键。徽章文案、状态机迁移、
wb:card show 的输出、测试断言四处要用同一套字符串——现在没有唯一答案。
items[].state 与「执行态永不落卡」正面冲突
它被限定为读视图派生字段,落库就违反纪律;但方案没有给出它的类型、值数或值名。
<project>_<seq>(例 workbench_1),
但短名从哪来、序号怎么原子递增、撞号怎么办都没定。主键不可变,起错了改不了。
不是拖着,是先做证伪:同构的机制已经死过一次, 所以这次要求先用一天证明「GM 真的会提议建卡、用户真的会点」,再谈写代码。
docs/93-contract-card-d-plan.md(已批准,D0/D1/D2 的唯一真源)。
注意 docs/90 是另一份方案(2026-08-16 批准的数据模型 / session 规则 / 分级门),两者不互相替代。
docs/93);
在此之前它只存在于不入 git 的 plan 文件里(~/.claude/plans/mellow-rolling-pond.md)——
这正是 D0「抢救正在流失的记忆」说的那件事,方案自己就是自己的第一个例子。freeform_ref 指针),而不是禁止它 ·
P2 gm_loops 明确废弃或宣告为被重写对象,不许并存 ·
P3 orchestration_state 与 backlog 至少合并掉一个
(否则 6 个重叠实体谁都不是权威)·
P4 门与批准 UI 同轮上线,并先去掉 server.mjs:148 的 worker→operator token 回退 ·
P5 确认走对话,不做独立控件 ·
P6 容量按 6.6 派发/天重算,并先定义归档 / 降级策略。
contract_cards 集合(两路独立 agent 一致反对);
不动飞书;不做全量回填;不新增面板。——这也是 §⑥ 那个「0 行代码」的直接原因:
不是没来得及写,是现在故意不写。
gm_loops 建过,活了 5 天就被删。每条讲三句:是什么物理东西 / 起什么作用 / 不要它会怎样。 技术黑话不解释就等于没写。
contract_cards 集合里的一条),不是一份文档、也不是一段对话。
作用:把「这件事是什么 / 议定了什么 / 产出在哪」收在一个地方,换人换引擎都读同一份。
不要它:结论散在 9–12 个互不连通的载体里,同一件事能给出 3 种矛盾答案。
待进行 / 进行中。
作用:让这件事进入可追踪状态,你回来时能一眼看到「现在到哪」。
不要它:卡只是一次性的确认弹窗,点完就没有下文。
role / agent_id / title)+ 各自交付什么(deliverables[])。
作用:confirm 之前你看的就是它——你要确认的是「谁干什么、交什么」。
不要它:你只能在对话里逐条追问,而对话三周后没人再读。
gm_loops「建好 5 天就删」那条路。
把做不了的划掉,比把能做的说满更有用。
card-schema/)
不能证明这张卡好用 —— D1 实验还没跑
不能给出卡六态的六个键(T1 未定)
不能给出卡编号的项目短名规则(T3 未定)
不能保证「确认只属用户」—— 今天是纪律不是技术保证
本页三档视口横向溢出:未跑,请 GM 复核