Files
gaokao-volunteer-system/docs/ACTIVE_EXECUTION_BOARD_2026-06-19.md
hermes f722123c08
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/20): CURRENT_STATE + 整改板 + 执行板同步到 6/20
- CURRENT_STATE.md: 顶部升级 6/20,新增 0.1/0.2 增量段
  (T12-D conn ownership + 真相源分层)
- ACTIVE_REMEDIATION_2026-06-20.md: 新建 6/20 整改板
  - 取代 6/19 历史快照
  - 新增 A-2 后台/外部渠道补录同意审计统一化
  - 标注 T12-D 端到端 acceptance 步骤就绪 + 实际部署动作待 ops
- ACTIVE_EXECUTION_BOARD_2026-06-20.md: 新建 6/20 执行板
- ACTIVE_REMEDIATION_2026-06-19.md / ACTIVE_EXECUTION_BOARD_2026-06-19.md:
  顶部加"⚠ 历史快照"头注 + 6/20 增量跳转

dev-verify 验证: 1179 passed / 0 failed / coverage overall=85.05% / core=100%
ruff + mypy 通过;6 个 retention 测试全过;端到端 smoke 4 笔订单实测通过
2026-06-20 14:29:12 +08:00

180 lines
6.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.
# ACTIVE_EXECUTION_BOARD_2026-06-19
> ⚠ **历史快照** — 本文件为 2026-06-19 执行板,已被 [`docs/ACTIVE_EXECUTION_BOARD_2026-06-20.md`](ACTIVE_EXECUTION_BOARD_2026-06-20.md) 取代。保留此文件仅供历史回溯;当前执行任务清单以 6/20 版本为准。
>
> **6/20 增量**: T12-D retention cleanup conn ownership 修复落地(端到端本地 acceptance 步骤就绪)— 见 `docs/ACTIVE_EXECUTION_BOARD_2026-06-20.md` §2
最后更新: 2026-06-19已降级为历史快照
状态词: 当前有效问题执行板
真相源: `docs/CURRENT_STATE.md`
问题来源: `docs/ACTIVE_REMEDIATION_2026-06-19.md`
> 本文件取代 `docs/ACTIVE_EXECUTION_BOARD_2026-06-13.md`(已降级为历史快照)。
---
## 1. 当前门禁结论
结论: v2.1 已完成"人工服务运营增强系统"闭环 + 6/19 增量A1 保留期门禁 + B1 支付失败持久化 + T12-C 前台删除工单 + 文档校准)落地。
dev-verify 状态: 1179 passed, 0 failed, coverage overall=85.05% / core=100%, ruff + mypy 通过。
禁止事项:
- 不再重复处理已修复的历史问题
- 不把 T12 之外的 Web 自助能力混入已完成的 v2.1 结论
- 不把"设计占位"误报为"已实现"
- 不把 Git/文档修订当成支付/交付/合规能力的替代
---
## 2. 6/19 增量执行情况
### A1 删除/匿名化保留期门禁P0
- 状态: ✅ completed
- 提交范围:
- `admin/errors/codes.py` 新增 `BIZ_ORDER_RETENTION_NOT_EXPIRED` (E02002) → HTTP 409
- `admin/errors/registry.py` 注册中文文案
- `admin/config.py` 新增 `retention_days` 字段env: `GAOKAO_RETENTION_DAYS`,默认 180
- `admin/routes/orders.py` 入口加 `_assert_retention_expired` 守卫
- `data/orders/deletion_service.py` 暴露 `RETENTION_GUARDED_STATUSES` 常量
- `admin/tests/test_order_deletion.py` 新增 3 个回归用例 + `_expire_retention_window` helper
- 验证: 1175 passed, dev-verify all checks passed
### A2 文档 Current/Target 收口P1
- 状态: ✅ completed
- 范围:
- `README.md` 顶部执行板指向 6/19 + 6/19 新增约束
- `product/PRD.md` 顶部"最后更新"升级为 6/19
- `product/ROADMAP.md` 顶部校准从 6/13 升级到 6/19
- `docs/TECH_ARCHITECTURE.md` 顶部 Current/Target 指向 6/19
### B1 支付失败状态持久化与回归测试P1
- 状态: ✅ completed
- 提交范围:
- `data/payments/service.py`: 失败 webhook 持久化status='failed' + failure_reason替代抛 PaymentError
- `data/payments/dao.py`: schema 增量升级 `failed_at` / `failure_reason``update_status` 支持新参数
- `data/payments/models.py`: `PaymentRecord` 新增 `failed_at` / `failure_reason`
- `data/payments/tests/test_webhook.py`: 替换旧契约测试,新增 `test_handle_webhook_persists_failed_status`
- 验证: 1175 passed, dev-verify all checks passed
### B2 CURRENT_STATE / remediation / execution board 同步P1
- 状态: ✅ completed
- 范围:
- 6/13 整改板/执行板顶部加"⚠ 历史快照"头注
- 新建 6/19 整改板/执行板作为当前真相源
- `docs/CURRENT_STATE.md` 顶部加 6/19 增量段
### T12-C 前台删除工单与"保留期外可申请"页P1
- 状态: ✅ completed2026-06-19 落地)
- 落地:
- `admin/routes/web_public.py``_resolve_retention_status` + `_next_step_for_retention`
- `DeletionRequestCreate` Pydantic 锁 `scope` 到白名单 + `confirm_guardian` 强制 bool
- `POST /portal/{token}/deletion-request` 根据订单保留期返回 3 种 next_step 文案
- `GET /portal/{token}/deletion-request` 在表单上方加"保留期状态"提示卡
- `admin/tests/test_order_info_form.py` 6 个新/增强测试覆盖
- 验证: 1179 passed (6 个 deletion 测试全过), dev-verify all checks passed
---
## 3. 仍有效的执行任务清单(按优先级)
### T12-A 真实支付 acceptance
- Owner: tech-lead / ops
- 优先级: P0
- 状态: pending
- 目标:
- 在真实商户主体 + 备案域名 + 公网 notify_url 就绪后, 跑支付宝沙箱/生产 acceptance
- 依赖:
- 外部商户与域名前置
- `data/payments/service.py` 6/19 持久化已就绪
### T12-B `info_submitted -> serving` 自动主链
- Owner: engineer
- 优先级: P0
- 状态: pending
- 目标:
- 真实 worker/生成服务/线上调度收口
### T12-D retention cleanup 生产化部署验收
- Owner: ops
- 优先级: P1
- 状态: pending
- 目标:
- `scripts/gaokao_retention_cleanup.py` 在目标主机实际安装 + cron/systemd 留痕
- 监控 180 天窗口外的实际清理结果
### L-A 隐私政策 / 服务协议正式法务审定
- Owner: PM / legal
- 优先级: P1
- 状态: pending
- 依赖:
- 当前已有 `docs/LEGAL_PRIVACY_BASELINE.md` + `docs/PRIVACY_POLICY_DRAFT.md` + `docs/DATA_RETENTION_AND_DELETION.md` 基线
### L-B 备份恢复异机演练 + 密钥轮换记录
- Owner: ops
- 优先级: P1
- 状态: pending
- 依赖:
- 当前已有 `scripts/backup_snapshot.sh` + `scripts/backup_verify.sh` + `scripts/backup_restore_smoke.py`
### Q-A crowd_db 非湖南省份高置信数据密度
- Owner: data
- 优先级: P1
- 状态: pending
- 目标:
- 提升非湖南 crowd_db 数据置信度
---
## 4. 当前仍然禁止的错误完成表述
禁止:
- "已完成完整 Web 自助 SaaS"
- "支付线上 acceptance 已完成"
- "27省高质量推荐数据已完成"
- "T12 Web 自助闭环已全部完成"
允许:
- "v2.1 人工服务运营增强系统已完成 + 6/19 保留期门禁 + 支付失败持久化 + 前台删除工单已落地"
- "T12 Web 自助闭环仍在线上 acceptance 阶段"
- "支付 / 交付 / 合规 / 备份恢复仍是当前有效问题"
---
## 5. 当前推荐读取顺序
1. `docs/CURRENT_STATE.md`
2. `docs/ACTIVE_REMEDIATION_2026-06-19.md`
3. `docs/plans/2026-06-19-production-readiness-remediation-plan.md`
4. 本文件 `docs/ACTIVE_EXECUTION_BOARD_2026-06-19.md`
5. `reports/PRODUCTION_STRICT_REVIEW_2026-06-19.md`
6. `product/PRD.md` / `product/ROADMAP.md`
---
## 6. 下一步执行建议
最优先6/19 后续):
1. 推进 L-A 隐私政策法务审定
2. 推进 T12-D retention cleanup 生产化部署验收
原因:
- 这两个直接依赖 6/19 已落地的保留期门禁
- 不需要外部商户 / 域名前置
- 闭环后可让 v2.2 进一步推进