Commit 15b347e3 by luoqi

feat(主管工作台): 独立路由 /supervisor —— 我分的批次 / 团队现在什么状态 / 分一批新的

🔴 独立路由推翻了 T16 的后半句(2026-08-04 评审定,doctrine 已改写并保留病史):
需求方三次讲同一件事「场景和思路不应该去混」。T16 没被推翻的那半句仍作数
(主管也要打电话),所以头部常驻「客服执行页 」,两个页面双向。

后端四处聚合:
· workload —— 名册走 T10 同源;「当前在手」是此刻,超期/完成/退回/没动都在窗口内
· 窗口内超期走**账本**:回收器每 10 分钟扫,"当前超期"结构上几乎永远是 0
  (实测账本 378 条 vs 当前 0)。归属回捞到到期前最后一次 assign,
  并上"仍在手且窗口内到期"那一小撮,按 plan_id 去重
· agentStats[].done 改执行口径(有 plan_executions 才算):池子口径的 resolved
  是引擎判定需求没了,客服一根手指没动也会被算进他的「已处置」
· 列表补 booked/handled + 游标分页( 不是 offset)

界面:
· 落地规则双向 —— 有派单权的 /plans→/supervisor(?exec=1 是明确导航意图的出口);
  没派单权的 /supervisor→/plans。原来只有单向,客服落到工作台是**纯白页**
  (Can 无 fallback 渲染 null),不报错也没出口
· 批次跟踪:滚动位置翻页( IntersectionObserver 在零高度 sentinel 上不触发)、
  inFlight ref 防重入、IDLE_HEAVY=0.2 一个常量两处共用
· 团队状态:超期上琥珀(好事有色坏事没色,眼睛只会被绿色勾住)
· 分一批新的两版并存;传送门改 transform:scale 的小圆
  (clip-path 的 at 按 reference box 算,祖先一有 transform/filter 就整体偏掉、
   而且不报错;且 clip-path 不上合成层,那半秒每帧重画整屏)

通话记录:
· plan_executions.notes 此前**全线读不到** —— 接口一直在,前端没调、MCP 没开工具
· 逐条明细 + 纪要 + 客服勾的子选项(放弃原因 / 判断不对的治疗 / 约的回访日 / 渠道)
   只回 outcome 等于把客服填的一半烂在库里
· 删掉 outcomes.note:它把给人看的数和给模型的指令焊在一根 string 里,
  而工具说明还写着"照抄最稳" → 模型把「不要算成功率、不要画图」原样贴进了对话框

测试:$queryRaw 的桩改成**认 SQL 不认调用次序**(加第三条原生查询时次序错位,
17 条一起红,报的还是 toISOString 这种跟真因无关的错)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
parent b9603d77
Pipeline #3548 failed in 0 seconds