| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| app | ||
| components | ||
| ds | ||
| hooks | ||
| lib | ||
| stores | ||
| instrumentation-client.ts | ||
| instrumentation.ts | ||
| sentry.edge.config.ts | ||
| sentry.server.config.ts |
产品定(2026-08-12):作废发生在**新草稿生成时**,不是在确认时。 否则主管面前会同时摆着两张都能点确认的卡,点错就是分错一批人。 - state: 'pending' → 'active' | 'superseded' | 'confirmed' | 'cancelled'⚠ ️ 顺带解掉一个命名撞车:原 state:'pending' 与「待分配」的 group:'pending' 同名不同义,读代码时极易混。 - 新草稿到达时**跨消息**扫描,把此前所有 active 作废;confirmed/cancelled 是终态,⛔ 不许被回退。 - edit 指令改为落到**唯一那张 active**,⛔ 不再是"最后一张" —— 重出一版后 最后一张可能正是刚作废的,改上去主管一点反应都看不到。 - 作废态:顶部横幅 + 底部说明 + 确认按钮禁用 + 降到 60% 不透明度。⛔ 不隐藏、⛔ 不折叠 —— 他要能看见自己出过几版、哪一版才是当前的。⚠ ️ 顶部横幅不能省:确认单可以很长,视线停在上半部分时看不到底部那句。 代码组织(按 dev-plan §三): - 数据模型 + 纯函数操作抽到 chat-blocks.ts(use-assistant-chat 534 → 479 行)。 草稿状态机的失败形态全是静默的,端到端点一遍代价高且不稳 —— 抽成纯函数锁住。 - pac-web 补 vitest(此前无任何测试基建),8 条回归覆盖跨消息作废、终态不回退、 同 id 重推清空 edits、findActiveSheet 不退化成"最后一张"。 tsc(service/web) 干净;pac-web build 通过;vitest 8 passed;jest 1212 passed。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| app | Loading commit data... | |
| components | Loading commit data... | |
| ds | Loading commit data... | |
| hooks | Loading commit data... | |
| lib | Loading commit data... | |
| stores | Loading commit data... | |
| instrumentation-client.ts | Loading commit data... | |
| instrumentation.ts | Loading commit data... | |
| sentry.edge.config.ts | Loading commit data... | |
| sentry.server.config.ts | Loading commit data... |