plan-assignment-doctrine.md
48.4 KB
-
feat(plan): 分配只留两个基数(容量+时效),都沿用主管上一次的值 · 9de8b34e
批次规模不再是一个独立的默认常量(100),改成由容量推出来: 本批人数 = Σ max(0, 容量 − 该客服在手) 这实际上是**恢复**裁决表里一直写着的「拟分 N 人 = 默认分满容量」—— 代码里那个 DEFAULT_BATCH_SIZE=100 与它矛盾了两周,且注释还引 T5 给自己背书 (T5 的「100 人」是举例,约束的是容量该拍多大,不是批次规模)。常量删掉。 · 容量首次默认取**下界 20**(原来取上界 50):17 位客服 × 50 = 850 条一批, 正是 T5 反对的做法。起点低、不够再往上调;反过来那一批已经分出去了。 · 两个基数都从 plan_assignments.criteria 快照里读上一次的值(零新列), 查找顺序:该主管在该诊所的上一次 → 该诊所任何人的上一次 → 首次默认。 · 确认单显示**推导链 + 出处**:「在岗 17 位 × 每人容量 20 − 已在手 0 = 可分 340 人; 容量/时效沿用 7-28 那次分配」—— 规模会随在手量波动,看不到推导只能怀疑系统抽风。 · 时效初值改为跟着提案走(原来写死 3),确认时把卡片当前值存回快照。 · 容量**不做成卡片控件**:改容量会改变人群,而卡片微调项只允许不改人群的那两项(T13)。 主管说「每人 30 条」→ 助手带 capacity 重出单。 · targetCount 保留为**一次性**覆盖,
⛔ 不回写基数 —— 拿「这批只要 60 人」反推出 「以后每人 6.7 条」等于把临时决定固化成长期参数。 本地实测:充填·窗口外 1,080 → 本批 340 人 = 17 × 20 − 0,每人 20 条。 教条补 T22,T5 补一条「100 是举例不是参数」的反读说明。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>luoqi committed