Files
gaokao-volunteer-system/docs/CURRENT_STATE.md
Hermes Agent d773a2b879
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
fix(health+docs): P1-4 readiness语义修复 + P1-6 CURRENT_STATE矛盾消除
P1-4: /health 不再永远返回 status=ok/200
- 所有 checks 通过 → 200 + status=ok
- 任一 check 失败 → 503 + status=degraded
- K8s/systemd readiness probe 可正确判 HTTP status

P1-6: CURRENT_STATE §0.5 旧数字(7high/20usable)与新数字(31high)矛盾
- 旧数字标注为历史快照, 划线标记
- 顶部数字明确为唯一当前真相
2026-06-27 13:27:20 +08:00

24 KiB
Raw Blame History

CURRENT_STATE

最后更新: 2026-06-26 状态词: 本地验证完成v2.1 主链与 6/20/6/21 增量仍成立crowd_db 全国 31 省口径全部达 high当前 live 基线为 31 high / 0 usable / 0 skeletoncrowd_db 质量门槛已硬化为综合判定,防静默升级;本地服务启动 + integration/user_simulation E2E 已复跑通过;新增 30 组分段样例复核入口 E2E 已通过30 组中 26 组公开支持省份已完成完整用户全链路模拟)

本轮增量(当前工作区,基于 HEAD dbb8fb7 继续深度升级):

  • crowd_db 当前 live 基线已实测为 31 high / 0 usable / 0 skeleton
  • data/crowd_db/*.json 实存 31 个文件;loader.py 已支持全国 31 省级行政区
  • python -m data.crowd_db.quality_summary --human 已确认最后 4 省(新疆 / 广西 / 西藏 / 宁夏)已落地并进入 high
  • pytest -q data/crowd_db/tests/test_score_distribution.py data/crowd_db/tests/test_subject_requirements.py data/crowd_db/tests/test_program_type.py data/crowd_db/tests/test_crowd_db_data_quality.py data/crowd_db/tests/test_provenance_query.py57 passed
  • 2026-06-26 新增深度接入:广西 / 宁夏 已补 score_distribution(官方一分一档/一分段统计 + 本科线)
  • 当前 score_distribution 覆盖已达 31/31 省;其中 新疆 / 西藏 已补齐官方最低控制分数线级别接入,但两省暂未检索到公开一分一段表
  • 本轮本地验证附加证据:GAOKAO_SKIP_INSTALL=1 bash scripts/dev-verify.sh => 1302 passed, 3 skippedscripts/integration_test.py => overall PASSscripts/user_simulation.py => overall PASS
  • 新增 30 组分段样例 E2Ereports/score_range_e2e_2026_06_26.json => review_start 30/30 通过,且对 6 组公开支持省份样例做了 公开下单 -> portal status 深层抽样,结果 6/6 通过
  • 新增 30 组完整全链路样例 E2Ereports/score_range_fullchain_e2e_2026_06_26.json => 在 30 组样例中,26 组属于当前公开下单支持省份,已全部走通 下单 -> 支付模拟 -> payment-success -> portal info 提交 -> portal status -> review/start -> review/action(full_plan/cwb),结果 26/26 通过;其余 4 组因不在 _public_supported_provinces() 中按契约跳过完整下单链路
  • 新增 100 分数真实用户验证:reports/SCORE_RANGE_FULLCHAIN_100_VALIDATION_2026-06-26.md => 全量入口 100/100 通过、公开支持省份完整主链路 87/87 通过、非公开支持省份合同边界 13/13 正确阻断;scripts/dev-verify.sh 已纳入 12 例 smoke E2E 回归
  • 当前工作区未提交修改:data/crowd_db/xinjiang.jsondata/crowd_db/xizang.jsondata/crowd_db/tests/test_score_distribution.pydocs/CURRENT_STATE.mddocs/CROWD_DB_NATIONALIZATION_SOURCE_OF_TRUTH.mdreports/score_range_e2e_2026_06_26.jsonscripts/score_range_fullchain_e2e.pyreports/score_range_fullchain_e2e_2026_06_26.jsonscripts/score_range_fullchain_100_e2e.pyreports/score_range_fullchain_100_cases_2026_06_25.jsonreports/score_range_fullchain_100_batches_2026_06_26.jsonreports/score_range_fullchain_100_batches_2026_06_26.csvreports/score_range_fullchain_100_e2e_smoke_2026_06_26.jsonreports/score_range_fullchain_100_e2e_2026_06_26.jsonreports/score_range_fullchain_100_e2e_boundary_2026_06_26.jsonreports/SCORE_RANGE_FULLCHAIN_100_VALIDATION_2026-06-26.mdreports/SCORE_RANGE_FULLCHAIN_100_EXEC_SUMMARY_2026-06-26.mdtests/test_score_range_fullchain_100_script.pytests/test_score_range_fullchain_e2e_typing.pytests/test_dev_verify_entrypoint.py

真相源优先级:

  1. 本文件
  2. reports/STRICT_SYSTEM_REVIEW_2026-06-24.md6/24 最新严格系统复审汇总版149 passed, 1 warning当前建议作为最新审查结论
  3. reports/STRICT_SYSTEM_REVIEW_2026-06-23.md6/23~6/24 历史滚动审查过程稿,保留发现/修复轨迹)
  4. docs/CROWD_DB_NATIONALIZATION_SOURCE_OF_TRUTH.md(全国高信任建设当前口径与批次真相)
  5. docs/ACTIVE_REMEDIATION_2026-06-20.md6/20 当前整改清单,取代 6/19 历史快照
  6. docs/ACTIVE_EXECUTION_BOARD_2026-06-20.md6/20 当前执行板,取代 6/19 历史快照
  7. docs/ACTIVE_REMEDIATION_2026-06-19.md已降级为历史快照
  8. docs/ACTIVE_EXECUTION_BOARD_2026-06-19.md已降级为历史快照
  9. docs/plans/2026-06-23-national-high-trust-crowd-db-plan.md(全国高信任建设详细计划)
  10. docs/plans/2026-06-19-production-readiness-remediation-plan.md6/19 整改计划)
  11. reports/PRODUCTION_STRICT_REVIEW_2026-06-19.md6/19 复审报告)
  12. docs/plans/2026-06-17-phase2-majors-catalog-implementation-plan.mdPhase 2 已收口快照)
  13. docs/DESIGN_RULES_TRUSTED_CLI_2026-06-16.md设计快照Phase 编号需与执行口径消歧)
  14. docs/PROJECT_PLANNING_REALIGNMENT_2026-06-16.md(历史规划/实现漂移审计)
  15. docs/RULES_SOURCE_OF_TRUTH.md(规则真相源索引;待补建)
  16. docs/MAJOR_DATA_SOURCE_OF_TRUTH.md(专业目录真相源索引)
  17. docs/CLI_API_MAPPING.mdCLI/API 映射索引)
  18. docs/P0_P1_P2_REMEDIATION_PLAN_2026-06-14.md历史整改板§4 卡片以 §2.1 状态归一为准)
  19. docs/FRONTEND_UI_AUDIT_2026-06-16.md / docs/FRONTEND_UI_EXECUTION_BOARD_2026-06-16.md
  20. docs/ACTIVE_REMEDIATION_2026-06-13.md已降级为历史快照
  21. docs/ACTIVE_EXECUTION_BOARD_2026-06-13.md已降级为历史快照
  22. product/PRD.md / product/ROADMAP.md / docs/IMPLEMENTATION_PLAN_v2.md
  23. docs/PRODUCTION_DEPLOYMENT_CHECKLIST_2026-06-15.md
  24. reports/PRODUCT_PLANNING_TECH_ALIGNMENT_REVIEW_2026-06-13.md(历史评审快照)

0. 6/20 增量段(叠加在 6/19 真相源之上)

6/20 落地了 1 项 P1 整改 + 端到端本地 acceptance 步骤 + 1 项合规补录统一化

  • 生产加固 + L-A 送审前修复 + crowd_db 质量契约 + 真相源分层。本节是当前唯一增量

0.1 T12-D retention cleanup conn ownership 修复P1

  • 现象: retention_cleanup.run_cleanup(apply=True) 一次命中 ≥ 2 笔终端态订单时,第二笔起全部 sqlite3.ProgrammingError: Cannot operate on a closed database
  • 根因: OrdersDAO.__exit__ 不区分连接所有权,对外部 service 传入的 self._connclose()deletion_service.anonymize_order 把 service 持有的连接包成 OrdersDAO(self._conn) 走 with-block第一笔执行完就把连接关掉
  • 修复: OrdersDAO.__init__ 新增 owns_conn: bool = False 参数;__exit__ 仅在 owns_conn=True 时 closeconnect() classmethod 创建的连接自动设 owns_conn=True(保持原行为);外部 service 包成 DAO 走 with-block 默认不 close
  • 回归测试: tests/test_retention_cleanup.py::test_retention_cleanup_apply_anonymizes_multiple_old_orders_in_sequence 锁住多订单连续 anonymize 契约
  • 端到端 smoke 实测: 4 笔订单2 笔旧 terminal + 1 笔 fresh pending + 1 笔 paid-in-window→ dry-run 报 2 candidates / 0 anonymizedapply 真把 2 笔匿名化pending/paid-in-window 严格不动deletion log 1 条被裁share events 2 条被裁
  • runbook §8 新增 T12-D 本地端到端 acceptance 步骤 + 部署前 checklist + 历史 bug 背景
  • 验证: 6 个 retention 测试 + 205 个直接相关子集全过ruff + mypy 通过

0.2 A-2 admin/外部渠道补录同意审计统一化P1

  • 现象: admin/routes/orders.py:543-590 create_order 路径不收任何 consent 字段 grep consent 0 命中),直接违反 LEGAL_PRIVACY_BASELINE §6。 portal 路径早已自动落 consent_channel=portal / consent_operator=guardian
  • 修复: CreateOrderRequest.consent: ConsentInfo 必填;consent_method 白名单 verbal_chat / phone_recording / screenshot / written_form / self_declared
  • 落地: Order 模型 + DAO + schema 增量加 consent_method / consent_given_at (冗余避免 join创建订单后同步写 order_intakes 记录(独立 IntakeStore.for_db
    • consent_channel = source
    • consent_operator 严格按基线白名单 self / guardian / admin_import:
      • web 渠道: guardian(与 intake_store.save 默认值一致)
      • 其他渠道: admin_import(后台代录,同意来源是渠道商)
  • 验证: 25 个 admin orders + alias 测试全过ruff + mypy 通过;端到端 smoke 通过
  • 测试: 4 个参数化 missing_consent_block + 3 个 audit 字段校验 + 1 个白名单校验
    • 1 个 detail 返回值 + 1 个 update test_create_order_returns_masked_payload

0.3 生产加固6/20 v2.1.3

  • /health 端点增强: 主键契约 status: "ok" 不变;增 checks 子对象 覆盖 db_writable / disk_writable / settings_valid 三项 readiness 指标
  • JWT secret fail-closed: _enforce_jwt_secret_policyload_settings() post-load 校验中调用prod env 使用 dev 默认 JWT / 长度 < 32 → RuntimeError
  • admin password fail-closed: _enforce_default_admin_password_policy 同样接入 post-load 校验prod env 使用 admin123 默认值 / 密码 < 10 字符 / 字符类 < 3 → RuntimeError
  • 验证: 4 个 health/config 测试全过dev-verify 全量通过

0.4 L-A 送审前修复6/20 v2.1.3

  • R1: docs/LEGAL_PRIVACY_BASELINE.md §6 移除 consent_channel 列表里 的孤儿 admin 渠道值(代码侧从未实际产生);增注释说明移除原因
  • R4: docs/LEGAL_PRIVACY_BASELINE.md §7 "已具备/尚缺" 重写,显式归到 6/20 增量
  • R7: admin 后台 dashboard.html (592 行) + ui.py 内联 orders/new 模板加 footer 隐私政策 + 数据删除说明 + 服务说明链接;与 portal 前台 _render_footer_links() 同口径

0.5 crowd_db 数据质量契约6/20 v2.1.3 Q-A 闭环)

⚠ 历史快照2026-06-20~25:以下数字为 6/20~6/24 阶段的中间状态,不再代表当前真相。 当前真相以本文件顶部为准:31 high / 0 usable / 0 skeleton

  • 新增 data/crowd_db/tests/test_crowd_db_data_quality.py (CROWD_DB_DATA_QUALITY §7 承诺的锁死文件,仓库此前缺失)
    • 27 省总数 (23 省 + 4 直辖市) → 已升级为 31 省 (23 省 + 4 直辖市 + 4 自治区)
    • 当前真实状态2026-06-25 实测7 high / 20 usable / 0 skeleton已升级为 31 high / 0 usable / 0 skeleton
    • high 白名单:湖南/广东/江苏/山东/河北/浙江/福建当前 31 省全部 high7 省 S 级 + 24 省 A 级)
    • 所有 confidence ∈ [0, 1]
    • 所有 data_year = 2025 (待 2026 录取数据正式公布后显式更新)
  • 防止"27 省 crowd_db 均为高置信强推荐数据"合规假象回归
  • 历史轨迹仅供审计6/20 基线为 4 high + 3 usable + 20 skeleton6/23 升级到 5 high6/24 升级到 7 high / 20 usable / 0 skeleton6/25 升级到 31 high / 0 usable / 0 skeleton
  • 详细质量分布与升级轨迹见 docs/CROWD_DB_NATIONALIZATION_SOURCE_OF_TRUTH.md

0.6 crowd_db 可信来源元数据补齐2026-06-21

  • 27 个省级 JSON 统一补齐 trusted_sources / quality_note
  • source_url 从仓库自引用改为可信公开入口 https://gaokao.chsi.com.cn/
  • SCHEMA.md / loader / provenance tests 已同步
  • 这补齐的是可信来源治理口径,不代表 26 个非湖南省已升级为高置信推荐数据

0.7 真相源分层与历史快照降级6/20 增量)

  • 6/19 整改板/执行板顶部加"⚠ 历史快照"头注,指向 6/20
  • 6/20 新建 docs/ACTIVE_REMEDIATION_2026-06-20.md + docs/ACTIVE_EXECUTION_BOARD_2026-06-20.md
  • 本节作为 6/20 增量叠加在 6/19 真相源之上

0.8 用户端主链路真实 TestClient 覆盖收口2026-06-23

  • 公开页与主流程已用真实 TestClient 证明:
    • / / /pricing / /checkout/*
    • POST /api/public/orders
    • POST /review/action(真实 form + 303 redirect
    • /review/start
    • /portal/{token}/info / /status / /report / /report.pdf
    • /portal/{token}/cwb / /full-plan / /payment-success
    • POST /pay/mock/{payment_id}/complete
  • RouteClient 已降级为辅助:
    • 临时 app / 特殊 env缺 key、provider unavailable、prod 隐藏 mock
    • submit_order_info(...) 这类直接函数级持久化断言
    • 少量流程搭台用途
  • 现状口径:主链路正确性不再依赖 RouteClient 自证,真实页面 / 真实协议 / 真实重定向已可回归验证
  • 证据:reports/TEST_CLIENT_COVERAGE_2026-06-23.md
  • 验证:./.venv/bin/python -m pytest -q admin/tests/test_order_status_page.py admin/tests/test_web_public.py admin/tests/test_web_public_content_pages.py admin/tests/test_web_public_review_flow.py admin/tests/test_web_public_portal_info.py data/orders/tests/test_schema.py89 passed, 1 warning

0.9 法务协议与 crowd_db 可信来源补齐2026-06-21

  • docs/PRIVACY_POLICY_DRAFT.md 补齐:未成年人、委托处理、用户权利、存储与删除、投诉联系方式、版本生效等条款
  • docs/SERVICE_TERMS.md 补齐:服务边界、支付退款、知识产权、免责、争议解决、版本更新等条款
  • docs/LEGAL_PRIVACY_BASELINE.md 补齐正式法务审核条款清单与待审状态说明
  • data/crowd_db/*.json 统一补齐可信来源元数据(trusted_sources / quality_note),并将 source_url 切到可信公开入口
  • 这两项仍处于待法务 / 待内容深化阶段,但已经从“缺文档/缺元数据”提升为“可审核、可复核、可继续推进”

6/19 落地了 3 项 P0/P1 整改 + 1 项真相源分层。本节是当前唯一增量

0.1 A1 — 删除/匿名化保留期门禁P0

  • 错误码 BIZ_ORDER_RETENTION_NOT_EXPIRED (E02002) → HTTP 409
  • 配置 GAOKAO_RETENTION_DAYS(默认 180
  • 路由层 _assert_retention_expired 守卫,状态子集 paid/serving/delivered/completed/refunded 触发pending 直接放行
  • 口径来源: docs/DATA_RETENTION_AND_DELETION.md §2
  • 测试: 3 个新失败/放行用例 + _expire_retention_window helper
  • 验证: dev-verify all checks passed1175 passed

0.2 B1 — 支付失败状态持久化P1

  • data.payments.service.handle_webhook: 非 success 状态不再抛 PaymentError改为持久化 payment.status='failed' + failed_at + failure_reason + 完整 callback_payload
  • schema 增量升级:_ensure_column 幂等 ALTER TABLE payments ADD COLUMN failed_at / failure_reason
  • 幂等保证终态paid / refunded / failed后到达的失败 webhook 走 idempotent 路径
  • 测试: test_handle_webhook_persists_failed_status 锁住新契约
  • 验证: dev-verify all checks passed

0.3 A2 — 4 个产品/工程文档 Current/Target 校准P1

  • 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 执行板

0.4 B2 — 真相源分层与历史快照降级P1

  • 6/13 整改板/执行板顶部加"⚠ 历史快照"头注
  • 新建 docs/ACTIVE_REMEDIATION_2026-06-19.md + docs/ACTIVE_EXECUTION_BOARD_2026-06-19.md
  • 本节作为 6/19 增量叠加在 6/13 真相源之上

0.5 T12-C — 前台删除工单 + 保留期外可申请P1本节落盘即收口

  • 落地:
    • 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 在表单上方加"保留期状态"提示卡
  • 测试: 4 个新测试 + 2 个 helper 复用
  • 验证: 1179 passed, dev-verify all checks passed

0. 单一执行口径2026-06-17

为消除设计 Phase 编号与执行 Phase 编号漂移,本节是当前唯一口径:

设计层 PhaseDESIGN_RULES_TRUSTED_CLI_2026-06-16.md 执行层 Phase当前真相 状态
Phase 1 规则真相源化 执行 Phase 1 已收口(ae4835e + 8a61b8f,三仓同步)
Phase 2 统一审计引擎最小可用 执行 Phase 1.5verify + 旧 checker 迁移) 已收口(同上)
Phase 3 专业目录接入 MVP 执行 Phase 2 已收口(36ad58a + 6b1157f + edc5b11
Phase 4 统一 CLI 命令面 执行 Phase 3 未启动 → 下一阶段
Phase 5 智能体调度 + admin 整合 执行 Phase 4 未启动 → 等 Phase 3 收口
Phase 6 文档/真相源索引收口 长期维护 ⚠ 进行中docs-only 收口本轮同步)

设计层 Phase ≠ 执行层 Phase。状态查询一律以本表 + 6/17 执行板为准。


1. 当前准确定位

项目当前准确定位为:

  • 已完成: 人工服务运营增强系统(闲鱼 / 微信 / 学校渠道)
  • 已完成: 管理后台、订单、分享、渠道同步、AI 审核基础校验、CI/CD、性能与安全加固
  • 已完成/已验证:
    • Phase2 major_validation 已接入 AuditEngine
    • gaokao-cli audit run --json 当前只承认两类真实检查:省份规则 + 专业目录状态
    • 规则/专业目录/CLI 三层都已具备可回归验证入口
  • 当前仍在推进:
    • 已完成且已本地验证: mock / alipay_sim / alipay 三层支付代码链与 notify/return 路由退款状态闭环、portal token secret 分离、payment webhook fail-closed、删除/匿名化扩围、分享 allowlist、channel_sync DB 隔离与 DAO 真相收敛
    • 未完成且仍阻塞线上验收: 真实支付宝商户凭据、公网 notify_url、备案域名、真实支付 acceptance

一句话:

当前项目定位:人工服务运营增强系统;用户端 Web 自助闭环仅为本地 MVP/目标态,尚未达到可对外承诺的完整 SaaS 水位。当前版本已经完成 v2.1 的后台运营链路与 AI 审核增强闭环,但不是完整 Web 自助 SaaS。


2. 已完成模块

  • T1 AI审核服务
  • T2 反扎堆检测
  • T3 数据溯源
  • T4 订单管理
  • T5 集成测试与发布
  • T6 管理后台
  • T7 分享功能
  • T8 渠道集成
  • T9 错误处理
  • T10 CI/CD
  • T11 性能与安全

覆盖率门槛证据: 覆盖率门槛证据:

  • overall = 92.46%

  • core = 100.00%

  • 满足整体≥80%、核心≥100%

  • 本地与 CI 的硬门禁统一收敛到 scripts/check_coverage_gate.py

  • dev-verify.sh 与 GitHub CI 都执行同一组硬阈值检查

  • codecov.yml 当前保持同值展示口径,但不是执行单源,也不是阻断门禁

三仓同步状态:

  • gitea/main 已同步
  • origin/main 已同步
  • tksea/main 已同步
  • tag v2.1 已推送

3. 尚未完成 / 不应误报为已完成

T12 用户端 Web 自助 MVP

当前仅能说:

  • 已启动 / 实施中
  • 还不能说“已完成”

未完成主链路包括:

  • 真实支付接入与回调验签的线上 acceptance
  • info_submitted -> serving 自动处理主链 +本地自动桥接 info_submitted -> serving 已落地;仍缺真实 worker/生成服务/线上调度收口
  • 站内通知发送器、真实邮件通知发送器与调度已落地;仍缺生产告警链与独立通知审计页
  • 前台删除工单流程与更完整的产品化交互

因此:

  • Web 自助购买场景 = 本地 MVP 主链已大部分落地,但线上闭环未完成
  • 完整教育 SaaS 化 = 未完成

4. 已修正的历史评审问题

以下问题在 2026-06-13 之后已被修正,不应继续按“当前未解决”表述:

  1. PRD P2 / P3 功能编号冲突
  2. ROADMAP 中已落地功能仍保持未勾选
  3. TECH_ARCHITECTURE 仍标“设计中”
  4. FINAL_COMPLETION_REPORT 仍写“条件完成”
  5. 依赖清单未显式声明 Jinja2 / WeasyPrint / cairocffi / ruff / mypy
  6. GitHub origin 凭据导致发布链阻塞

这些应被视为:

  • 已修正的历史问题
  • 不应再作为当前阻塞项重复引用

5. 仍然有效的评审问题

以下问题仍成立,应继续作为后续版本约束:

P0 / P1 真实缺口

  • 用户端 Web 自助支付闭环缺失
  • 生产通知链已有底层 validated/delivered 状态机、portal 通知审计页、后台独立通知审计页、运维告警审计页与 watchdog alert sink已支持 SMTP/IM webhook sink 代码接入,但仍缺线上真实通道配置后的生产联调
  • 前台入口已支持基础资料填写、最多 5 个附件上传与 5 步向导(基础信息 / 偏好与目标 / 已有方案与附件 / 协议确认 / 提交确认);仍缺更完整文件类型策略与更细粒度错误提示
  • 2026-06-16 前端专项审计结论:用户端首页 / 定价页 / 结账页存在明显 AI 模板痕迹、开发术语外露与商业转化不足;后台 /dashboard 仍偏开发者自检页。当前执行板见 docs/FRONTEND_UI_EXECUTION_BOARD_2026-06-16.md
  • 2026-06-16 第二轮本地整改已完成首页、定价页、结账页、portal 向导页 / 状态页、后台 /dashboard 已完成首轮产品化与去技术暴露重构;剩余前端工作聚焦 design token 基线与更强回归门禁
  • 2026-06-16 第三轮本地整改已完成:admin/static/portal-ui.css 已建立为共享样式基线,关键用户页面已接入 shared CSS并补齐页面级回归断言前端整改范围已本地收口剩余仅为 Git 交付或后续更深层视觉迭代
  • 业务数据备份 / 恢复 / 密钥托管已有本地基线与验证,但异机备份和生产接入仍不足
  • 隐私政策 / 服务协议 / 监护人同意 / 数据保留与删除流程仍缺前台/客服自助工单与正式法务版本

重要更新2026-06-15 上述 5 项是 v2.1 当前阶段以外的真实缺口。 上一轮 2026-06-14 严格复审里的 P1 整改项已全部完成:

  • P1-1 支付回调双写裂缝已修复
  • P1-5 退款域模型闭环已修复
  • P1-2 删除/匿名化已覆盖 orders 主表 + payments.callback_payload + order_intakes.payload_json
  • P1-7 验证链口径统一CI / dev-verify / codecov / gate script 同一阈值)

P2 工程改进

  • crowd_db 高置信数据应区分湖南与其他省份
  • 架构图仍需进一步拆分 Current / Target 视觉表达
  • legacy 邮件脚本应继续弱化为非主链能力

仍然有效的 P1 / P2 整改项

完整清单见 docs/P0_P1_P2_REMEDIATION_PLAN_2026-06-14.md

  • P1-3 真实支付回调校验
  • P1-8 备份恢复演练 / 目标机告警接入
  • 隐私政策 / 服务协议 / 删除工单正式入口

已完成并不再列为整改项:

  • P2-1 公共下单孤儿订单
  • P2-2 channel_sync 单一 DAO 真相
  • P2-3 delivery 通知状态语义收口(sent 已移除)
  • P2-4 portal token / JWT secret 分离(已通过 P2-4 单元测试 + prod fail-closed
  • P2-5 payment webhook secret fail-closed已通过 P2-5 单元测试 + prod fail-closed
  • X-02 支付域设计
  • X-03 Delivery 交付服务设计
  • X-04 合规基线文档
  • X-05 备份恢复与密钥托管方案
  • X-06 本地一键验证脚本
  • X-08 crowd_db 数据完整度等级化

6. 对外表述边界

允许对外说:

  • 已具备人工服务运营后台能力
  • 已具备 AI 审核基础校验、数据溯源、分享、渠道同步能力
  • audit run 当前只承认省份规则 + 专业目录状态校验,不应对外表述为“已包含反扎堆/综合评分闭环”
  • 已完成 v2.1 当前计划闭环

不应对外说:

  • 已完成完整 Web 自助 SaaS
  • 已完成系统内支付闭环
  • 已完成用户端完整交付闭环
  • 27 省 crowd_db 均为高置信强推荐数据

7. 推荐阅读顺序

  1. docs/CURRENT_STATE.md
  2. docs/archive/2026-06-historical-snapshots/FINAL_COMPLETION_REPORT_2026-06-13.md
  3. product/PRD.md
  4. product/ROADMAP.md
  5. docs/IMPLEMENTATION_PLAN_v2.md
  6. reports/PRODUCT_PLANNING_TECH_ALIGNMENT_REVIEW_2026-06-13.md作为历史评审参考