Files
gaokao-volunteer-system/docs/P0_EXECUTION_TASK_BREAKDOWN_2026-06-22.md
Hermes Agent cad78940ef
Some checks failed
CI / pytest (Python 3.10) (push) Has been cancelled
CI / pytest (Python 3.11) (push) Has been cancelled
CI / pytest (Python 3.12) (push) Has been cancelled
docs(6/21-6/24): 系统复审 + 全升级规划 + TestClient 覆盖报告
新增文档:
- reports/STRICT_SYSTEM_REVIEW_2026-06-23.md (滚动严格复审过程稿)
- reports/STRICT_SYSTEM_REVIEW_2026-06-24.md (汇总版, 149 passed)
- reports/TEST_CLIENT_COVERAGE_2026-06-23.md (主链路真实 TestClient 覆盖收口)
- docs/plans/2026-06-23-full-upgrade-optimization-plan.md (全升级优化计划)
- docs/COMPETITOR_SCREEN_ANALYSIS_WENXIN_QIANWEN_2026-06-21.md (竞品分析)
- docs/FIELD_MAPPING_AUDIT_FIRST_PROFILE_2026-06-21.md (首版字段映射审计)
- docs/PAGE_REDESIGN_CHECKLIST_2026-06-21.md (页面重设计清单)
- docs/REPORT_PROFILE_VERSION_RELATION_2026-06-22.md (报告版本关系)
- docs/P0_EXECUTION_TASK_BREAKDOWN_2026-06-22.md (P0 任务拆解)
- docs/P0_MINIMAL_API_CHANGES_2026-06-22.md (P0 最小 API 改动)
- docs/UPGRADE_EXECUTION_BOARD_2026-06-22.md (升级执行板)
- product/PRD_UPGRADE_2026-06-21.md (PRD 升级版)

CHANGELOG.md 同步本轮 commits
2026-06-25 09:28:23 +08:00

324 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# P0_EXECUTION_TASK_BREAKDOWN_2026-06-22
最后更新: 2026-06-22
状态词: P0 执行拆分文档
真相源:
- `docs/UPGRADE_EXECUTION_BOARD_2026-06-22.md`
- `product/PRD_UPGRADE_2026-06-21.md`
- `docs/PAGE_REDESIGN_CHECKLIST_2026-06-21.md`
- `docs/FIELD_MAPPING_AUDIT_FIRST_PROFILE_2026-06-21.md`
> 本文把 P0-1 ~ P0-4 继续拆成页面 / 接口 / 状态 / 埋点四类子任务,供产品、前端、后端和埋点实现直接认领。
---
## 1. 拆分原则
P0 只解决一件事:
> 让“首页 -> 审核 -> Step 1 补充 -> 审核结果分流”这条默认主线真实成立。
因此所有子任务都必须满足:
- 不把 Step 2-4 偏好字段拉进 P0
- 不把政策中心 / 同分段参考的完整产品化混进 P0
- 不把生产 readiness 问题混进 P0
- 不把“设计占位”误报为“能力完成”
---
## 2. P0-1 首页任务化 + 审核主 CTA 前置
### 2.1 页面子任务
1. 定义首页首屏结构
- Banner
- 任务清单
- 主 CTA
- 次 CTA
- 最近审核结果 / 报告入口
2. 定义首页任务卡文案
- 默认第一任务 = 先审核现有志愿方案
- 第二任务 = 完善个人档案
3. 定义首页状态态
- 未建档但可先审核
- 已有最近审核结果
- 已有报告
- 查分阶段切换态
### 2.2 接口子任务
1. 明确首页是否直接复用现有落地页接口,还是新增工作台聚合接口
2. 如果新增聚合接口,最小返回需包含:
- 当前阶段
- 是否存在最近审核结果
- 是否存在可查看报告
- Step 1 是否已完成
3. 若先不新增接口,需明确定义首页由哪些现有接口拼装
### 2.3 状态子任务
1. 定义首页展示状态来源
- `stage`
- `intake_status`
- 报告是否 ready
2. 定义“最近审核结果可用”的判定条件
3. 定义首页主 CTA 不受 `profile_minimum_complete` 阻塞
### 2.4 埋点子任务
1. 首页曝光
2. 主 CTA 点击
3. 次 CTA 点击
4. 最近审核结果入口点击
5. 报告入口点击
6. 首页任务卡点击分布
### 2.5 完成判定
- 首页第一主动作已固定为审核
- 首页不再把完整规划 / 生成方案置顶
- 未建档用户点击后可直接进入审核链路
---
## 3. P0-2 审核页最小闭环
### 3.1 页面子任务
1. 定义审核页输入结构
- 现有方案说明 textarea
- 上传附件入口
- 初步想法输入
2. 定义最小约束区
- 省份
- 科目组合
- 分数
- 位次
3. 定义结果区结构
- 风险等级
- 问题数量
- 核心问题 3 条
4. 定义分流区结构
- 去冲稳保
- 去补 Step 1
- 去完整规划 / 报告
### 3.2 接口子任务
1. 盘点现有可复用输入承接
- 已有 `existing_plan_summary`
- 已有附件上传
- 已有 Portal intake 提交接口
2. 定义审核提交最小 payload
- `existing_plan_summary`
- `candidate_province`
- `candidate_subjects`
- `candidate_score`
- `candidate_rank`
3. 定义审核结果最小返回结构
- `review_result_id` 或等价结果主键
- `risk_level`
- `top_findings[]`
- `recommended_action`
- `available_actions[]`
### 3.3 状态子任务
1. 定义审核页本地状态
- idle
- submitting
- success
- failed
2. 定义审核结果状态
- 无结果
- 有结果待分流
- 已进入后续动作
3. 定义与现有 Portal `stage` 的关系
- P0 可先不改订单六态
- 审核页结果状态优先作为页面层状态,不强绑订单状态机
### 3.4 埋点子任务
1. 审核页曝光
2. 审核提交点击
3. 审核提交成功
4. 审核提交失败
5. 审核输入来源
- 首页进入
- 订单状态页进入
- 报告页进入
6. 审核结果默认推荐动作曝光
### 3.5 完成判定
- 未完成完整档案的用户可提交审核
- 页面有输入区、最小约束区、结果区、分流区
- 审核结果不再是孤立说明文本
---
## 4. P0-3 Step 1 最小建档
### 4.1 页面子任务
1. 把现有四步资料向导重新切分为 P0 最小视图
2. 明确 Step 1 只显示:
- 省份
- 科目组合
- 分数
- 位次
3. 明确 Step 2-4 在 P0 只允许:
- 隐藏
- 或显示为后续增强,不阻塞当前提交
4. 明确“未填完整档案,也可以先审核”提示位
### 4.2 接口子任务
1. 复用现有 `/portal/{token}/info` 提交链路
2. 为 P0 明确最小建档 payload
- `candidate_province`
- `candidate_subjects`
- `candidate_score`
- `candidate_rank`
- `mode=draft|submit`
3. 明确 P0 不要求提交:
- `candidate_interests`
- `target_cities`
- `target_majors`
- `university_preferences`
4. 评估是否需要给 `IntakePayload` 放宽提交校验,避免 P0 继续被“至少一个偏好字段”卡住
### 4.3 状态子任务
1. 定义 `profile_minimum_complete`
- 四字段齐全 = true
- 否则 false
2. 定义草稿保存成功状态
3. 定义回填来源
- `order_intakes.payload_json`
- `orders` 冗余字段
### 4.4 埋点子任务
1. Step 1 页面曝光
2. Step 1 草稿保存点击 / 成功 / 失败
3. Step 1 提交点击 / 成功 / 失败
4. Step 1 字段缺失分布
5. 从审核结果页跳来补 Step 1 的来源记录
### 4.5 完成判定
- Step 1 可独立保存
- Step 1 保存后可回填到审核页和报告页
- Step 2-4 不再是 P0 审核门槛
---
## 5. P0-4 审核结果分流
### 5.1 页面子任务
1. 定义审核结果分流卡片
- 推荐去冲稳保
- 推荐补充 Step 1
- 推荐进入完整规划 / 报告
2. 每个动作附适用说明
3. 明确默认推荐动作展示位
### 5.2 接口子任务
1. 定义分流动作枚举
- `go_cwb`
- `go_step1`
- `go_full_plan`
2. 定义审核结果返回里的推荐动作字段
3. 若暂不存正式结果对象,先定义轻量动作记录结构
### 5.3 状态子任务
1. 定义 `review_entry_source`
- home
- status
- report
- direct
2. 定义 `review_followup_action`
- cwb
- step1
- full_plan
- none
3. 定义“已分流”与“未分流”判定
### 5.4 埋点子任务
1. 审核结果曝光
2. 默认推荐动作点击
3. 冲稳保入口点击
4. Step 1 补充入口点击
5. 完整规划 / 报告入口点击
6. 分流后返回率 / 流失率
### 5.5 完成判定
- 审核结果页至少存在一个默认推荐动作
- 三条分流路径都能进入对应目标页
- 分流动作可以记录和回放来源
---
## 6. 跨 P0 公共子任务
### 6.1 页面公共任务
1. 统一“审核优先”文案
2. 统一 Step 1 与后续增强的边界提示
3. 统一首页 / 审核页 / 档案页 / 结果页的跳转关系
### 6.2 接口公共任务
1. 统一最小字段命名
2. 统一审核输入、Step 1 保存、审核结果分流的数据承接方式
3. 统一是否新增聚合接口还是复用现有 Portal 接口
### 6.3 状态公共任务
1. 统一 `stage``intake_status`、页面层审核状态之间的关系
2. 保持订单 6 态不被 P0 页面状态污染
3. 把审核页/结果页状态定义为页面域状态优先
### 6.4 埋点公共任务
1. 统一页面来源字段
2. 统一动作枚举
3. 统一漏斗口径
- 首页 -> 审核页
- 审核页 -> 结果页
- 结果页 -> 分流动作
- 分流动作 -> 后续页面
---
## 7. 当前阻塞与先行修正点
### 7.1 现有实现与 P0 口径冲突点
1. `IntakePayload` 当前 `mode=submit` 只要求 Step 1 最小建档字段:
- `candidate_province` / `candidate_score` / `candidate_rank` / `candidate_subjects`
2. `candidate_interests` / `target_cities` / `target_majors` / `university_preferences` 已不再是提交阻塞条件
3. 现有资料向导已统一为“五步资料向导”Portal `stage` 仍围绕支付 / 补资料 / 交付状态,不含审核结果分流语义
### 7.2 必须先澄清的决策
1. P0 是否直接复用当前 `/portal/{token}/info`,还是新建独立审核页提交接口
2. `candidate_province` 是否进入 Step 1 主提交链,而不是只停留在下单阶段
3. 审核结果对象是先做轻量页面结果,还是先建独立持久化对象
---
## 8. 下一步建议
1. 基于本文继续输出《P0 最小接口变更清单》
2. 基于本文继续输出《报告版本与档案版本关系说明》
3. 在接口清单确定前,不要开始拆 Step 2-4 或内容中心实现