# ZenTao Query Routing

这份文件负责所有查询与统计的分流，不要把所有查询都硬塞给同一个能力。

## 1. 总路由原则

先判断用户问的是哪一类：

1. 个人官方地盘
2. 管理汇总
3. 链接解析
4. 团队缓存管理
5. 晨会风险
6. 派单前负荷
7. 停滞巡检
8. 周报统计
9. 中文名映射或网页链接返回

判断完再选能力，不要先选命令再解释。

## 2. 个人官方地盘

适用：

- “我现在有什么活”
- “我名下有哪些 Bug”
- “查某个账号被正式指派的任务”

优先能力：

- `my tasks`
- `my bugs`
- `my stories`

关键口径：

- 这是官方指派视角
- 不等于管理汇总

## 3. 管理聚合视角

适用：

- “帮我看某个人今天要盯哪些事项”
- “汇总团队的任务、需求、Bug”
- “筛延期任务、临期任务”

优先能力：

- `manage`

关键口径：

- 默认是“当前未完成项 + 当日完成/关闭项”
- 可叠加状态、时间窗、截止日期、延期筛选

## 4. 链接智能解析

适用：

- 用户直接丢出任务、需求、Bug 链接
- 用户追问“这个任务是否闭环”
- 用户追问“某个人是不是已经完成了这条任务”

优先能力：

- `view`

关键规则：

- 有链接先解析链接
- 不要先要求用户补 ID
- 遇到“是否闭环 / 是否完成 / 现在到底是什么状态”时，不要先退化成 `my` 或 `manage`
- 对多人并行任务，必须区分：
  - 成员个人是否已完成
  - 任务整体是否已闭环
- 如果页面显示“成员已完成，但整体仍进行中”，返回时要把这两个结论同时说清楚

如果用户要的是“给我这个任务的网页链接”：

- 已有链接：直接返回原链接或解析结果
- 只有任务 ID：返回对应网页链接
- 只有任务名称：先检索，再返回对应网页链接

## 5. 团队缓存管理

适用：

- “保存一个团队名单”
- “查看后台一组成员”
- “删除某个团队别名”

优先能力：

- `team save`
- `team list`
- `team show`
- `team delete`

关键口径：

- 团队缓存是本地别名能力
- 后续 `manage / load / stagnant / morning-check / weekly-synthesis` 都可复用

## 6. 晨会自动播报

适用：

- 今日晨会
- 超期/今明到期/高优事项

优先能力：

- `morning-check`

关键口径：

- 这是专题风险统计
- 无截止日期的需求默认不纳入晨会预警
- 输出的是“事项”，不是纯“任务”
- 晨报结果里可以同时出现任务、需求、Bug
- 如果用户追问“某个人现在到底有几个超期任务”，必须切回 `manage` 的任务口径单独核对
- 团队晨报要按成员和类型复述结果，不要把团队别人的事项误说成某一个人的任务

## 7. 派单前负荷参考雷达

适用：

- “谁比较空”
- “谁手上的任务更多”

优先能力：

- `load`

关键口径：

- 这是负荷参考
- 不自动替用户做最终派单决策

## 8. 停滞单据排查

适用：

- “哪些任务一周没动”
- “谁的任务长期没更新”

优先能力：

- `stagnant`

关键口径：

- 重点看停滞天数和最后更新时间

## 9. 自动化周报摘要

适用：

- “帮我出周报素材”
- “汇总团队本周交付”

优先能力：

- `weekly-synthesis`

关键口径：

- 周报统计不等于普通 `manage`
- 默认先输出统计摘要，再按需补详情

## 10. 中文自动映射与账号归一化

适用：

- 用户输入中文姓名
- 用户混用中文名和账号
- 团队成员名单里既有中文也有账号

关键规则：

- 查询前先把中文名归一化到底层账号
- 写操作前也先做同样归一化
- 不要要求用户重复把中文手工改成账号

## 11. my 和 manage 的硬区分

### 用 `my`

- 我
- 我的
- 当前登录用户
- 官方指派给某人的事项

### 用 `manage`

- 管理者
- 团队
- 汇总
- 风险筛查
- 需要看某个人“相关事项池”

## 12. 查询结果输出要求

返回时要明确说清楚：

- 当前用的是哪个视角
- 统计对象是谁
- 筛选条件是什么
- 当前口径是否包含任务 / 需求 / Bug
- 是普通列表、风险统计还是周报统计
- 如果是链接详情核查，再额外说明：
  - 当前是整体状态还是个人完成状态
  - 是否属于多人并行任务
  - 当前是否已闭环
