| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| activity | ||
| admin | ||
| ai | ||
| assistant | ||
| auth | ||
| clinical-gap | ||
| clinical-signals | ||
| facts | ||
| mcp | ||
| patient | ||
| persona | ||
| plan | ||
| plan-aggregate | ||
| realtime-coach | ||
| sync | ||
| weixin-aibot |
本批 5 人,主管说「这5人都分配给韩维」。界面回「已把整批铺给 1 位客服()」,
括号是空的:一条都没动,而助手接着说「这版已经改成 5 人都归韩维」。
三层:
① schema 判断本身就是错的
`batch + assign` 被 refine 判非法。而 batch 是这句话唯一自然的表达,
韩维就印在卡片下面那行「本批未分到」里。
改判:batch + balance 合法;只有 batch + owner 不行 ——
专属关系只有「待分配」那份数据带着(pending[].ownerUserId),
已排好的条目卡片上查不到它归谁专属。
② 那条 refine 一次都没跑过(根因,不是 ① )
两个改单工具的入参用的是**手写的 JSON Schema**(给模型看的那份),
zod 那份从没进过运行时。两份 schema 各写各的,
写在没跑的那份里的约束只是注释。
⇒ 加 `checkEditOps`:推给界面之前按 zod 校一遍,校不过整组退回给模型,
并说清哪一条错在哪(只说「参数错误」它会原样再发一遍)。
确认单、调整单同一条路。
③ 界面把 batch 解成空名单
`return { planIds: [], label: '整批' }`,注释说"只有 set_expiry /
set_benefit 走得到这里" —— 而那两件在上面就短路了(走批次级控件),
真正走到这一行的恰恰是 assign / remove。
改:整批 = 生效条目 + 还留在待分配里的,与顶栏「共 N 人」同一口径。
另加一道总闸:选中 0 人就到此为止 —— 下面每个分支都会 push 一句
"已如何如何",一条没动而主管读到的是成功。
顺带(同一类):owner 分不下去的两种原因分开报。
「卡片没带这条的专属关系」被报成「查不到在岗的专属客服」,
那是一句关于数据的断言,而卡片没有资格下这个断言。
- 整批移出仍然拦掉,但界面要吭声,⛔ 不许静默什么都不做
- 工具描述补 batch 那一格该怎么填;ASSISTANT_PROMPT_VERSION → 2026-08-22-a
- 新增 sheet-edit-batch-assign.spec.ts(14 条),改判 mcp-clinic-scope 两条旧断言
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| activity | Loading commit data... | |
| admin | Loading commit data... | |
| ai | Loading commit data... | |
| assistant | Loading commit data... | |
| auth | Loading commit data... | |
| clinical-gap | Loading commit data... | |
| clinical-signals | Loading commit data... | |
| facts | Loading commit data... | |
| mcp | Loading commit data... | |
| patient | Loading commit data... | |
| persona | Loading commit data... | |
| plan | Loading commit data... | |
| plan-aggregate | Loading commit data... | |
| realtime-coach | Loading commit data... | |
| sync | Loading commit data... | |
| weixin-aibot | Loading commit data... |