# 联调验收清单 联调验收看闭环是否真实可用,不看页面数量。 ## 1. 身份和入口 - [ ] 用户可以通过飞书扫码登录 / 身份登录进入平台。 - [ ] 飞书登录可以匹配到平台用户和角色。 - [ ] 未匹配用户或停用用户不能进入平台,并有失败记录。 - [ ] 老板可以通过飞书机器人私聊提交一句话。 - [ ] 老板消息统一进入 `POST /api/secretary/handle-message`。 - [ ] 非老板私聊机器人不会触发 AI,并有未授权访问记录。 ## 2. AI 草稿 - [ ] AI 可以把老板一句话解析为结构化草稿。 - [ ] AI 草稿可以展示原始输入、类型、内容、接收人候选、时间、反馈要求和缺失字段。 - [ ] 草稿必须人工确认后才创建事项或提醒。 - [ ] 普通聊天、普通记录、实时问答兜底、`note` 和 `unknown` 不会创建事项、提醒或通知。 - [ ] 老板可以确认、补充/重说、取消草稿。 - [ ] 补充/重说 30 分钟上下文可以生效并过期。 - [ ] 补充/重说后旧确认卡片失效,新草稿能追溯 `parent_draft_id`。 - [ ] PostgreSQL 中可以查看 `secretary_messages` 和当前 `BotContext`。 - [ ] 实时问答不会创建事项、提醒或通知。 ## 3. 事项闭环 - [ ] 简单事项可以从草稿生成。 - [ ] 复杂事项在老板确认后创建 `pending_manager_confirm` 事项壳。 - [ ] 程经理收到飞书提醒后进入平台确认。 - [ ] 程经理补齐事项壳后才通知最终接收人。 - [ ] 事项可以飞书通知接收人。 - [ ] 接收人可以反馈已收到、处理中、已完成、有问题。 - [ ] 有问题反馈必须留下原因。 - [ ] 发起人或程经理可以看到事项结果。 ## 4. 定时提醒闭环 - [ ] 手动创建一次性提醒。 - [ ] 从草稿创建提醒。 - [ ] 支持每天、每周、每月固定周期提醒。 - [ ] 到点触发飞书通知。 - [ ] 自己提醒自己默认不需要反馈。 - [ ] 老板 / 程经理给别人设置的提醒默认需要反馈。 - [ ] 暂停、恢复、取消按状态约定生效。 - [ ] 同一提醒同一触发时间同一接收人同一渠道不会重复触发同一通知。 - [ ] 演示 / 联调环境同一应用库只启动一个 scheduler 进程。 ## 5. 飞书通知和回调 - [ ] 飞书个人消息可以发送。 - [ ] 飞书交互卡片可以发送。 - [ ] 卡片按钮回调可以被平台接收。 - [ ] 回调验签失败不会执行业务动作。 - [ ] 重复点击卡片不会重复创建反馈或转换草稿。 - [ ] 没有稳定 `event_id` 的回调使用 `idempotency_key` 幂等。 - [ ] 旧卡片、失效卡片、已替代草稿和已过期通知只记录事件,不写业务对象。 - [ ] 飞书手机端平台反馈页可以提交“有问题”原因,并拒绝过期或失效链接。 - [ ] 通知成功和失败都有记录。 ## 6. 失败复盘 - [ ] AI 解析失败有记录。 - [ ] PostgreSQL AI 记忆读写失败有记录。 - [ ] 人员映射缺失有记录。 - [ ] 飞书登录失败有记录。 - [ ] 飞书通知失败有记录。 - [ ] 回调失败有记录。 - [ ] 定时提醒触发失败有记录。 - [ ] 管理员 / AI 团队可以处理失败并留下处理结果。 ## 7. 安全边界 - [ ] 飞书通知只发摘要和链接。 - [ ] 普通日志不含 API Key、App Secret、飞书 token。 - [ ] 普通日志不含完整手机号和完整邮箱。 - [ ] 普通日志不含 OAuth code/state、回调验签密钥和一次性操作 token 明文。 - [ ] 模型原始请求/响应和飞书原始 payload 只对管理员 / AI 团队开放排查。 - [ ] 不自动操作交易系统、历史数据库、后台管理系统或其他外部业务系统。 - [ ] 第一版明确不做的功能没有混入主线。