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

52 lines
3.0 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.

# PPT 与海报生成全链路 Phase 25 阶段实施记录
日期2026-08-02
依据:`PPT与海报生成全链路详细修复计划书_20260802.md`
## 已完成
### Phase 2候选、校验与复核基础
- 新增 FieldValue 创建、校验和候选合并;文件名/上下文提示不能静默覆盖 PDF 候选。
- 不同候选值保留为 `conflict`,证据质量只参与排序,不删除冲突候选。
- 新增通用 PlanData 结构校验;确认时阻断冲突、缺失基础身份字段和无证据导出金额。
- PPT 复核页递归记录字段/表格修改,人工修改必须填写原因并由后端持久化。
- 未写入任何未经业务确认的保险推导公式。
### Phase 3唯一不可变快照
- 新增 `migrate_037.py``insurance_plan_snapshots`、`insurance_field_evidence`、`insurance_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 标记 `current``stale`stale 成品不覆盖当前工作区。
- 新增无 Office 依赖的 PPTX XML 数值/币种对账;检测到冻结契约之外的金额或币种时任务失败并阻止下载。
- 文档统一入口支持上传、表格查询和异步字段提取任务。
## 验证
- 后端目标回归133 passed3 skipped。
- Python compileall、Vue TypeScript、前端生产构建均纳入最终复跑。
## 仍受阻的发布门禁
- Goldens 仍为 0无法声称达到 99.5% 标量精确率、99% 单元格精确率或 100% 导出证据覆盖率。
- 未确认各险种公式、强制字段、场景口径和跨产品可比条件,不能发布 GenerationPolicy。
- 未确认源 PDF、IR、快照、证据和成品留存期限不能启用到期实删。
- 现有模板资产尚未逐个完成语义 slot 标注和真实样本渲染,不能把旧模板自动标记为 published。
- LibreOffice/Office/WPS 的最终打开和视觉回归仍需部署环境执行。