① **「没被分过的排在前面」改成条件化**。查了口径:池子基线已经排除"还在客服手上"的单, 分过但已退回/到期回池的**仍在池子里**(T7:退回是正常路径,不能分过一次就永不再召), 只是排到后面。本地实测池子 1094 人里回池的 **0 人** —— 这时说那句是废话, 还会让主管以为系统在防一个不存在的情况。 现在:有回池的人才说「之前分过又退回的 N 人排在后面」,否则只说「优先级高的排在前面」。 countCandidates 顺带 FILTER 出这个数,不多一次查询。 ② **确认单等这段话说完才出现**。上一版只做了"钉到消息末尾",但流式期间卡片已经在下面, 主管看到的是"卡片先蹦出来、文字再在它上面一行行长" —— 比卡片在前更怪。 现在流式期间不渲染 sheet,说完再出现。 ③ **引导语补两条**(主管不知道能这么用,不说他就只会点确认): · 再挑一挑人:「只要商保直付的」「排掉最近来过的」→ 助手先看分布再重新圈; · 带个福利:「这批带上『老客户复查免挂号费』」→ 新增 set_benefit,写进 attributes.benefit.text。 福利链路本来就通(话术 prompt 已接),缺的只是主管怎么填进去。⚠ ️ 福利在卡片上**只读**(有才显示一个绿标):在 400px 卡里放自由文本框, 主管十有八九写成一段带承诺的话,而那道护栏在话术生成侧,别污染源头。⚠ ️ 引导语要求用主管的话说,⛔ 不许报工具名。 本地实测:说「这批带上「老客户复查免挂号费」」→ 卡片顶部出现「福利 · 老客户复查免挂号费」 绿标,界面回报那句也进了对话。989 tests green。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| dto | Loading commit data... | |
| engine | Loading commit data... | |
| recall-debug | Loading commit data... | |
| agent-roster.service.ts | Loading commit data... | |
| assignment-expiry.scheduler.ts | Loading commit data... | |
| assignment-proposal.service.ts | Loading commit data... | |
| assignment.controller.ts | Loading commit data... | |
| claim-guard.ts | Loading commit data... | |
| cohort-attributes.service.ts | Loading commit data... | |
| cohort-filter.ts | Loading commit data... | |
| dispatch-guard.ts | Loading commit data... | |
| execution-callback.service.ts | Loading commit data... | |
| execution.service.ts | Loading commit data... | |
| plan-assignment.service.ts | Loading commit data... | |
| plan-event.recorder.ts | Loading commit data... | |
| plan.controller.ts | Loading commit data... | |
| plan.module.ts | Loading commit data... | |
| plan.service.ts | Loading commit data... | |
| recall-suppression.ts | Loading commit data... | |
| recycle-scheduler.service.ts | Loading commit data... |