-
feat(分配): P1 引导节点(判定层)+ 基数改口径 —— 在岗 × 每天 15 通 × 时效 · e6e079c2
引导节点(Signal): - 新增 assignment-signals.ts —— **纯函数**,输入一份已组装的提案、输出整套节点。
⚠ ️ 不查库不看时钟:节点用的每个数都来自这一份提案,⛔ 不许再查一次 —— 否则卡片和节点两个数字都"对"但对不上,那是最难查的一类 bug(T6a 同源)。 - 五个节点:pending / daily_overload / short_supply / expiry_default / anchor_nondefault。前三个 tier=action(全部展开),后两个 tier=info(可折叠)。🔴 **不截断** —— 防噪音靠分层不靠丢弃:藏起一条主管就不知道有东西卡着。 - 每个节点的默认都是 no-op,「一条不点直接确认」永远安全(有测试锁)。 - ASSIGNMENT_INTENTS:**按钮与模型工具共用的同一组动作 id**。这是「按钮能做的、 说话也能做」的结构保证,⛔ 不是提示词里的一句叮嘱。 基数改口径(产品定 2026-08-12): - N = 在岗人数 × DAILY_CALLS_PER_AGENT(15) × 时效 D,⛔ **不再沿用上一次**。 原设计"调一次省一次"会让 N 悄悄漂:某次为小格子调成 44,此后永远是 44, 而主管看不出为什么变小了。 - N 与时效挂钩:D 从 3 改到 5,能承接的量本来就该跟着变。 -⚠ ️ 15 仍然**不是容量上限**、⛔ 不参与落人 —— 落人只有水位法。 它只回答"一批推多大",以及当 daily_overload 的判定尺。 - 沿用机制本身留着(resolveBaseline 还在读),要开回来只需把 baseline.batchSize 接回去。 - basisNote 改成把算式写出来 —— 主管看到 405 的第一反应是"怎么这么多"。 测试:改 11 条旧口径断言,**不变式留住**(如「第二批不为 0」改成断言 >0 而不是 断言具体数字);新增 11 条节点判定。共 1223 passed。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>luoqi committed
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| src | Loading commit data... | |
| package.json | Loading commit data... | |
| tsconfig.json | Loading commit data... |