docs(plan): 回填 B1/B1.5/B2/B3 批次完成状态与工单号 [skip-issue]
Some checks failed
backend-test / commit-message-lint (push) Has been cancelled
backend-test / backend-lint-test (push) Has been cancelled
backend-test / frontend-lint-test (push) Has been cancelled
gitleaks / gitleaks (push) Has been cancelled

五个主线批次(B1/B1.5/B2/B3/B4)实际均已闭环,文档状态滞后,本次仅回填:
B1 #226~#231、B1.5 #232~#235、B2 #236~#245、B3 #246~#256 全部关闭。
This commit is contained in:
2026-10-09 04:52:57 +08:00
parent 58031ecc1b
commit fecdb6b0eb

View File

@@ -22,14 +22,14 @@
## 二、批次总览
| 批次 | 主题 | 工单数 | 优先级 | 前置条件 |
|------|------|--------|--------|----------|
| **B1** | 风险闭环剩余 | 6 | 最高 | S-P0-1 等价性测试已落地 |
| **B1.5** | 经营事件时间轴标注 | 4 | 最高(跨看板基础设施) | 无 |
| **B2** | AI 策略调整与采集健壮性 | 10 | 高 | B1 的 today.py 拆分完成 |
| **B3** | 功能深化与建模 | 11 | 中 | B1.5 事件表 + S-P0-4 设计门已过 | ✅ **已完成(2026-10-08,含 B3-8 决策拍板方案A镜像落地 #256)**
| 批次 | 主题 | 工单数 | 优先级 | 前置条件 | 状态 |
|------|------|--------|--------|----------|------|
| **B1** | 风险闭环剩余 | 6 | 最高 | S-P0-1 等价性测试已落地 | ✅ **已完成(#226~#231 全部关闭)** |
| **B1.5** | 经营事件时间轴标注 | 4 | 最高(跨看板基础设施) | 无 | ✅ **已完成(#232~#235 全部关闭)** |
| **B2** | AI 策略调整与采集健壮性 | 10 | 高 | B1 的 today.py 拆分完成 | ✅ **已完成(#236~#245 全部关闭)** |
| **B3** | 功能深化与建模 | 11 | 中 | B1.5 事件表 + S-P0-4 设计门已过 | ✅ **已完成(2026-10-08,#246~#256 全部关闭)** |
| **B4** | 架构演进 | 6 | 长期 | B3 客户域建表落地 | ✅ **已完成(2026-10-08,#257~#262:指标字典/夜批基建/看板主序/权限单源/统一审计/cash_flow_wide 评估维持全量)**
| 择机 | 低风险优化 + 专项评估 | 13 | 低 | 无强依赖,穿插推进 |
| 择机 | 低风险优化 + 专项评估 | 13 | 低 | 无强依赖,穿插推进 | 🟡 O-3(#264)/O-4(#263)/O-8(#265) 已完成,其余进行中 |
---
@@ -39,12 +39,12 @@
| 编号 | 行动项 | 来源 | 工单 | 关键动作 | 验收标准 |
|------|--------|------|------|---------|---------|
| B1-1 | `today.py` 主题域拆分 | S-P0-3 | 待建 | 按接待/退款/投诉/现金流主题域拆分到子模块;公共口径进 `analytics/_core` | 3574 行 → 主文件 <800 行;接口输出 byte 一致(等价性测试守护) |
| B1-2 | 运行时 db_guard 缺口 | R-P1-11 | 待建 | `governance_execute_service.py:425/441`(DELETE/DROP)、`log_retention_service.py:56` 补 `assert_safe_to_destroy()` | grep 3 处均有守卫调用或豁免登记 |
| B1-3 | `reception:*` 缓存失效遗漏 | R-P1-18 | 待建 | `sync_task_manager.py:385` 失效 pattern 补 `reception:*` | SCRM 同步后接待看板缓存失效 |
| B1-4 | 系统操作排除变体补齐 | R-P1-19 | 待建 | `reception.py:192` 排除集合 2→4 变体 | 别名缺映射不再混入人员统计 |
| B1-5 | 核心引擎关键路径测试 | R-P1-15 | 待建 | `refund_chain.py` + `rr_views.py` 补 happy-path 测试 | 两模块有冒烟覆盖 |
| B1-6 | 顶层 `scripts/` bootstrap 收口 | R-P1-12 | 待建 | 23 个绕过 `bootstrap()` 的脚本迁移/归档 | 顶层 `scripts/` 仅保留合规脚本 |
| B1-1 | `today.py` 主题域拆分 | S-P0-3 | ✅ #226 | 按接待/退款/投诉/现金流主题域拆分到子模块;公共口径进 `analytics/_core` | 3574 行 → 主文件 <800 行;接口输出 byte 一致(等价性测试守护) |
| B1-2 | 运行时 db_guard 缺口 | R-P1-11 | ✅ #227 | `governance_execute_service.py:425/441`(DELETE/DROP)、`log_retention_service.py:56` 补 `assert_safe_to_destroy()` | grep 3 处均有守卫调用或豁免登记 |
| B1-3 | `reception:*` 缓存失效遗漏 | R-P1-18 | ✅ #228 | `sync_task_manager.py:385` 失效 pattern 补 `reception:*` | SCRM 同步后接待看板缓存失效 |
| B1-4 | 系统操作排除变体补齐 | R-P1-19 | ✅ #229 | `reception.py:192` 排除集合 2→4 变体 | 别名缺映射不再混入人员统计 |
| B1-5 | 核心引擎关键路径测试 | R-P1-15 | ✅ #230 | `refund_chain.py` + `rr_views.py` 补 happy-path 测试 | 两模块有冒烟覆盖 |
| B1-6 | 顶层 `scripts/` bootstrap 收口 | R-P1-12 | ✅ #231 | 23 个绕过 `bootstrap()` 的脚本迁移/归档 | 顶层 `scripts/` 仅保留合规脚本 |
---
@@ -56,10 +56,10 @@
| 编号 | 行动项 | 工单 | 关键动作 | 验收标准 |
|------|--------|------|---------|---------|
| B1.5-1 | 扩展事件模型 | 待建 | `incidents` 表增 `event_type`(经营事件/异常事故)、`target_audience`(推文目标群体)、`start_at`/`end_at`(持续时间,点事件 end_at=null)、`impact_metrics`(JSON);走 Alembic 迁移 | 表结构变更经迁移;事件登记页支持两种类型 + 持续时间 |
| B1.5-2 | 看板时间轴标注层 | 待建 | 日/周视图趋势图(ECharts)加事件标记点:`markPoint`(点事件)+ `markLine`(持续事件区间);点击事件标记可看详情 | Today/OperationDashboard 趋势图上有事件标注;点标记弹出事件详情 |
| B1.5-3 | 事件与数据对照 | 待建 | 事件标记点 + 趋势曲线叠加,视觉对照"推文后接待量是否升、事故后投诉量是否升" | 日/周视图可同时看事件标注 + 接待/投诉/退款曲线 |
| B1.5-4 | 排班联动 | 待建 | 经营事件可关联排班调整建议(与 B3-6 排班联动) | 事件登记时可填排班调整建议;排班页可看关联事件 |
| B1.5-1 | 扩展事件模型 | ✅ #232 | `incidents` 表增 `event_type`(经营事件/异常事故)、`target_audience`(推文目标群体)、`start_at`/`end_at`(持续时间,点事件 end_at=null)、`impact_metrics`(JSON);走 Alembic 迁移 | 表结构变更经迁移;事件登记页支持两种类型 + 持续时间 |
| B1.5-2 | 看板时间轴标注层 | ✅ #233 | 日/周视图趋势图(ECharts)加事件标记点:`markPoint`(点事件)+ `markLine`(持续事件区间);点击事件标记可看详情 | Today/OperationDashboard 趋势图上有事件标注;点标记弹出事件详情 |
| B1.5-3 | 事件与数据对照 | ✅ #234 | 事件标记点 + 趋势曲线叠加,视觉对照"推文后接待量是否升、事故后投诉量是否升" | 日/周视图可同时看事件标注 + 接待/投诉/退款曲线 |
| B1.5-4 | 排班联动 | ✅ #235 | 经营事件可关联排班调整建议(与 B3-6 排班联动) | 事件登记时可填排班调整建议;排班页可看关联事件 |
---
@@ -70,16 +70,16 @@
| 编号 | 行动项 | 来源 | 工单 | 关键动作 |
|------|--------|------|------|---------|
| B2-1 | AI 报告策略调整 | 用户#8 | 待建 | daily 报告改实时生成(走 L2 优先级,用户等几秒);仅 weekly/monthly 及 1 月+ 大规模保留 L0 异步预生成;`ai_report_worker.py` 的 `warm_on_sync_complete` 20 分钟节流保留 |
| B2-2 | AI 数据供给层 | 用户#9 | 待建 | 统一"AI 数据供给层",把分散的分析接口聚合为 AI 可调用的结构化数据包;补设备行为详情/充值流量/标签/排班数据接口 |
| B2-3 | 预生成报告写库 schema/数值校验 | R-P1-1 | 待建 | 对齐 `governance_judge_service` 校验模式 |
| B2-4 | 超时口径统一 | R-P1-3 | 待建 | 区分 score 超时 vs wall-clock,计账一致 |
| B2-5 | `max_tokens` 对齐长报告 | R-P1-4 | 待建 | 长报告 ≥4000 或改 R3 口径并声明 |
| B2-6 | 失败路径水位失真 | R-P1-16 | 待建 | 失败不刷新 `last_sync_at`,或分离 heartbeat 字段 |
| B2-7 | 缺口台账闭环 | R-P1-17 | 待建 | 低频档放弃记账;`mark_filled` 接生产调用方 |
| B2-8 | 前端轮询收口 | S-P1-2 | 待建 | 9 处 `setInterval` → 统一轮询层 |
| B2-9 | BaseChart 拆包 + manualChunks | S-P1-3 | 待建 | ECharts 按需注册;dist 分包 |
| B2-10 | 设计说明覆盖补齐 | R-P1-5 | 待建 | dashboards 4/18 → 补齐重点看板 |
| B2-1 | AI 报告策略调整 | 用户#8 | ✅ #236 | daily 报告改实时生成(走 L2 优先级,用户等几秒);仅 weekly/monthly 及 1 月+ 大规模保留 L0 异步预生成;`ai_report_worker.py` 的 `warm_on_sync_complete` 20 分钟节流保留 |
| B2-2 | AI 数据供给层 | 用户#9 | ✅ #237 | 统一"AI 数据供给层",把分散的分析接口聚合为 AI 可调用的结构化数据包;补设备行为详情/充值流量/标签/排班数据接口 |
| B2-3 | 预生成报告写库 schema/数值校验 | R-P1-1 | ✅ #238 | 对齐 `governance_judge_service` 校验模式 |
| B2-4 | 超时口径统一 | R-P1-3 | ✅ #239 | 区分 score 超时 vs wall-clock,计账一致 |
| B2-5 | `max_tokens` 对齐长报告 | R-P1-4 | ✅ #240 | 长报告 ≥4000 或改 R3 口径并声明 |
| B2-6 | 失败路径水位失真 | R-P1-16 | ✅ #241 | 失败不刷新 `last_sync_at`,或分离 heartbeat 字段 |
| B2-7 | 缺口台账闭环 | R-P1-17 | ✅ #242 | 低频档放弃记账;`mark_filled` 接生产调用方 |
| B2-8 | 前端轮询收口 | S-P1-2 | ✅ #243 | 9 处 `setInterval` → 统一轮询层 |
| B2-9 | BaseChart 拆包 + manualChunks | S-P1-3 | ✅ #244 | ECharts 按需注册;dist 分包 |
| B2-10 | 设计说明覆盖补齐 | R-P1-5 | ✅ #245 | dashboards 4/18 → 补齐重点看板 |
---
@@ -90,17 +90,17 @@
| 编号 | 行动项 | 来源 | 工单 | 关键动作 | 依赖 |
|------|--------|------|------|---------|------|
| B3-1 | 客户域建表 | S-P0-4 | 待建 | 四层主数据(设备→商户号→企业/店铺)+ 设备→商户号建链 + 设备类型维度 | 架构 LOCKED 已过 |
| B3-2 | 套餐字典归一 | S-P1-12 | 待建 | 原始名→归一码 + 生效期;`complaint.py:233` group by 改引用字典 | 无 |
| B3-3 | 标签分析化 | S-P1-13 | 待建 | 标签事实带 source 可下钻;设备 360 消费标签 | B3-1 |
| B3-4 | 夜间投诉风险预警 v1 | S-P1-9 / 用户#10 | 待建 | 确定性评分(充值多/流量少/愿沟通/同题重复)→ 投诉专员优先清单;2000+ 设备逐台评分;v1 规则引擎不依赖 LLM | B3-1 数据面 |
| B3-5 | 退款按设备销售天数核算 | 用户#6 | 待建 | 退款关联 `bms_orders.active_date` 计算"售出后 N 天内退款";**单独核算不纳入售后客服指标**;决策概览分离展示 | B3-1 建链 |
| B3-6 | 接待/绩效/专项三页产品化 | S-P1-10 / 用户#7 | 待建 | 出 `debug_only`;绩效口径 + 管理动作闭环;与排班联动 | B3-2/B3-3 |
| B3-7 | 人员管理重设计 | 用户#7 | 待建 | 批量操作 + 技能矩阵 + 绩效联动 + 排班打通;技能矩阵表 + 人员技能标签 | B3-6 |
| B3-8 | 排班目标形态决策 | S-P1-15 / 用户#11 | 待建 | 决策:镜像(企微源+系统展示)vs 系统编排;同步通道;与 B1.5-4 事件联动 | 业务决策 |
| B3-9 | 手工/共享表格通道治理 | S-P1-14 | 待建 | source 枚举扩展;shared_doc 批次落 `upload_records` + 质量留痕 | 无 |
| B3-10 | 分品类运营看板 | 用户#2 | 待建 | 按设备类型/套餐/商户号聚合运营 KPI;对标正规商业运营(转化漏斗/留存/生命周期);复用 B1.5 事件标注 | B3-1/B3-2 |
| B3-11 | 投诉分析扩展维度 | 用户#5 | 待建 | 扩展到店铺/商户号/设备型号/套餐/激活后时长维度;`complaint.py` 增聚合 | B3-1/B3-2 |
| B3-1 | 客户域建表 | S-P0-4 | ✅ #246 | 四层主数据(设备→商户号→企业/店铺)+ 设备→商户号建链 + 设备类型维度 | 架构 LOCKED 已过 |
| B3-2 | 套餐字典归一 | S-P1-12 | ✅ #247 | 原始名→归一码 + 生效期;`complaint.py:233` group by 改引用字典 | 无 |
| B3-3 | 标签分析化 | S-P1-13 | ✅ #249 | 标签事实带 source 可下钻;设备 360 消费标签 | B3-1 |
| B3-4 | 夜间投诉风险预警 v1 | S-P1-9 / 用户#10 | ✅ #250 | 确定性评分(充值多/流量少/愿沟通/同题重复)→ 投诉专员优先清单;2000+ 设备逐台评分;v1 规则引擎不依赖 LLM | B3-1 数据面 |
| B3-5 | 退款按设备销售天数核算 | 用户#6 | ✅ #251 | 退款关联 `bms_orders.active_date` 计算"售出后 N 天内退款";**单独核算不纳入售后客服指标**;决策概览分离展示 | B3-1 建链 |
| B3-6 | 接待/绩效/专项三页产品化 | S-P1-10 / 用户#7 | ✅ #253 | 出 `debug_only`;绩效口径 + 管理动作闭环;与排班联动 | B3-2/B3-3 |
| B3-7 | 人员管理重设计 | 用户#7 | ✅ #255 | 批量操作 + 技能矩阵 + 绩效联动 + 排班打通;技能矩阵表 + 人员技能标签 | B3-6 |
| B3-8 | 排班目标形态决策 | S-P1-15 / 用户#11 | ✅ #256 | 决策:镜像(企微源+系统展示)vs 系统编排;同步通道;与 B1.5-4 事件联动 | 业务决策 |
| B3-9 | 手工/共享表格通道治理 | S-P1-14 | ✅ #248 | source 枚举扩展;shared_doc 批次落 `upload_records` + 质量留痕 | 无 |
| B3-10 | 分品类运营看板 | 用户#2 | ✅ #254 | 按设备类型/套餐/商户号聚合运营 KPI;对标正规商业运营(转化漏斗/留存/生命周期);复用 B1.5 事件标注 | B3-1/B3-2 |
| B3-11 | 投诉分析扩展维度 | 用户#5 | ✅ #252 | 扩展到店铺/商户号/设备型号/套餐/激活后时长维度;`complaint.py` 增聚合 | B3-1/B3-2 |
---