baodan/docs/PPT与海报Phase2至5阶段实施记录_20260802.md
wsb1224 2422303b36 前工程开发已经推进到 Phase 6 基础能力,但正式验收还没有完成。更准确地说:Phase 0~5 的主要代码链路已经落地,Phase 6 完成了治理框架,尚缺生产化和真实数据验收。
阶段	当前状态	说明
Phase 0~3	基本完成	Document IR、证据链、人工确认、不可变 PlanData Snapshot、海报/PPT 投影已实现
Phase 4	代码完成	场景、策略、模板版本,校验/发布门禁,确定性 resolver 和严格槽位合并已实现
Phase 5	代码完成	输入冻结、PPTX/海报对账、失败关闭、幂等、心跳、重试和冻结输入重放已实现
Phase 6	基础完成	质量看板、结构化告警、Golden 审批、留存清理、孤儿检查和灰度开关已实现
正式上线	未完成	缺真实样本、生产模板、业务规则签字和灰度观察

目前验证基线:
PPT/海报专项测试:107 passed, 1 skipped
Vue TypeScript 检查:通过
前端生产构建:通过
代码变更仍在工作区,尚未提交
仓库全量测试仍有既有失败/挂起项,暂时不能宣称全仓测试完全绿色
仍未完成的代码任务主要有:
影子解析差异流水线
目前有灰度开关,但还没有完整的“新旧解析同时运行、字段差异入库、按保司/profile 聚合”的影子比较任务。

自动视觉回归
目前实现的是 DOM 模块、溢出、尺寸、文本和数值检查;还缺基于真实模板和标准图片的像素差异、字体缺失、遮挡和裁切回归。

告警通道接入
后台已经能产生结构化质量告警,但尚未自动推送到邮件、企微或其他通知通道。

留存任务生产化
dry-run、实删服务和失败审计已经具备,但尚未接入周期性 Celery/定时任务,也没有自动重试失败清理批次。

旧链路最终下线
旧 PPT 解析器和海报紧凑解析仍保留为回滚路径。需要全量灰度稳定后才能删除或彻底关闭写入口。

全仓测试收口
需要处理现有无关失败和挂起测试,建立真正全绿的 CI 基线。

仍需外部输入和生产环境完成的事项:
至少 30 份脱敏 Golden PDF,并完成双人标注和精确率验收。
业务专家确认派生公式、缺失值、可比较性和结论策略。
上传并标注真实生产 PPTX 的语义 shape、页面类型和容量。
安装生产字体并建立视觉基准图片。
实际执行数据库迁移 038~040。
完成留存 dry-run、实删演练以及 10% → 30% → 100% 灰度。
观察期通过后开启 SCENARIO_ENGINE_V2,目前它仍默认关闭;真实清理开关也默认关闭。
完整状态记录在 [PPT与海报Phase4至6补充实施记录](D:/work/code/python/coding/baodanagent/docs/PPT与海报Phase4至6补充实施记录_20260802.md)。
2026-08-02 16:34:06 +08:00

3.0 KiB
Raw Blame History

PPT 与海报生成全链路 Phase 25 阶段实施记录

日期2026-08-02
依据:PPT与海报生成全链路详细修复计划书_20260802.md

已完成

Phase 2候选、校验与复核基础

  • 新增 FieldValue 创建、校验和候选合并;文件名/上下文提示不能静默覆盖 PDF 候选。
  • 不同候选值保留为 conflict,证据质量只参与排序,不删除冲突候选。
  • 新增通用 PlanData 结构校验;确认时阻断冲突、缺失基础身份字段和无证据导出金额。
  • PPT 复核页递归记录字段/表格修改,人工修改必须填写原因并由后端持久化。
  • 未写入任何未经业务确认的保险推导公式。

Phase 3唯一不可变快照

  • 新增 migrate_037.pyinsurance_plan_snapshotsinsurance_field_evidenceinsurance_plan_overrides
  • 新增创建、查询、乐观锁编辑、校验、确认、证据、海报投影和 DeckContract API。
  • confirmed 快照不可原地改值;编辑和重新确认始终创建新版本并保留 previous link。
  • 海报确认生成 confirmed snapshot海报文案和生成只消费 snapshot projection。
  • PPT 复核确认生成每份文档的 confirmed snapshot生成任务冻结所有 DeckContract。
  • PPT Worker 不再读取 session.extractions_json 作为生成事实输入。

Phase 4服务端场景解析基础

  • 新增 /insurance/ppt/scenarios/resolve,仅接受当前用户的 confirmed snapshots。
  • 前端删除本地险种数量场景推断,展示服务端场景和 matchTrace。
  • 用户明确场景不兼容时后端阻断,不再静默替换。

完整的 ScenarioDefinition、GenerationPolicy、TemplateDefinition 版本表和 draft/validate/publish 管理后台尚未落地;它们需要获批样本和保险公式口径。

Phase 5任务冻结与输出门禁基础

  • 新增 migrate_039.py,记录 snapshot/scenario/policy/template/renderer 版本、submit revision、对账和视觉检查结果。
  • 任务完成时按 submit revision 标记 currentstalestale 成品不覆盖当前工作区。
  • 新增无 Office 依赖的 PPTX XML 数值/币种对账;检测到冻结契约之外的金额或币种时任务失败并阻止下载。
  • 文档统一入口支持上传、表格查询和异步字段提取任务。

验证

  • 后端目标回归133 passed3 skipped。
  • Python compileall、Vue TypeScript、前端生产构建均纳入最终复跑。

仍受阻的发布门禁

  • Goldens 仍为 0无法声称达到 99.5% 标量精确率、99% 单元格精确率或 100% 导出证据覆盖率。
  • 未确认各险种公式、强制字段、场景口径和跨产品可比条件,不能发布 GenerationPolicy。
  • 未确认源 PDF、IR、快照、证据和成品留存期限不能启用到期实删。
  • 现有模板资产尚未逐个完成语义 slot 标注和真实样本渲染,不能把旧模板自动标记为 published。
  • LibreOffice/Office/WPS 的最终打开和视觉回归仍需部署环境执行。