baodan/docs/PPT与海报Phase4至6补充实施记录_20260802.md
wsb1224 11f9b108db 已完成本轮剩余前端功能开发,计划书中的前端核心任务目前没有功能性遗留。
主要完成:
PPT/海报统一“数据可信度”摘要、缺失/冲突/人工修改统计:[ReviewStatusSummary.vue (line 5)](D:/work/code/python/coding/baodanagent/frontend/src/components/generation/ReviewStatusSummary.vue:5)
PPT 证据原文查看、页码定位和 PDF bbox 区域高亮:[PptDataReview.vue (line 464)](D:/work/code/python/coding/baodanagent/frontend/src/pages/components/ppt/PptDataReview.vue:464)、[PdfPagePreview.vue (line 59)](D:/work/code/python/coding/baodanagent/frontend/src/pages/components/ppt/PdfPagePreview.vue:59)
场景匹配原因、场景/模板版本及配置异常阻断:[PptGenerate.vue (line 95)](D:/work/code/python/coding/baodanagent/frontend/src/pages/components/ppt/PptGenerate.vue:95)
任务版本、生成哈希、输出一致性、当前/历史结果追溯:[GenerationTracePanel.vue (line 1)](D:/work/code/python/coding/baodanagent/frontend/src/components/generation/GenerationTracePanel.vue:1)、[TasksPage.vue (line 70)](D:/work/code/python/coding/baodanagent/frontend/src/pages/TasksPage.vue:70)
PPT/海报历史页增加“任务与版本追溯”视图:[PptHistoryPage.vue (line 13)](D:/work/code/python/coding/baodanagent/frontend/src/pages/PptHistoryPage.vue:13)、[PosterHistoryPage.vue (line 9)](D:/work/code/python/coding/baodanagent/frontend/src/pages/PosterHistoryPage.vue:9)
治理后台增加 JSON 实时校验、格式化、校验报告、失败重试和移动端适配:[PptGovernanceAdmin.vue (line 206)](D:/work/code/python/coding/baodanagent/frontend/src/pages/admin/PptGovernanceAdmin.vue:206)
恢复此前被注释、点击无反应的产品推荐弹窗:[ChatPage.vue (line 65)](D:/work/code/python/coding/baodanagent/frontend/src/pages/ChatPage.vue:65)
后端 PDF 信息接口补充页面尺寸,用于准确绘制证据框:[routes.py (line 1737)](D:/work/code/python/coding/baodanagent/api/insurance/ppt/routes.py:1737)
验证结果:
全量 ESLint:通过
Vue TypeScript 类型检查:通过
生产构建:通过
PPT 相关定向测试:21 项通过
项目测试:296 项通过、3 项跳过;另有 2 项既有测试环境问题,与本次修改无关
API 健康检查:HTTP 200,数据库、Redis、存储、数据表均正常
前端容器已确认挂载最新 frontend/dist,当前最新资源已通过 9080 端口提供
现在直接访问 http://localhost:9080 即可。容器使用目录挂载,不需要重新构建镜像;如果仍然看到旧界面,请按 Ctrl+F5 强制刷新浏览器缓存。
2026-08-02 17:11:07 +08:00

5.4 KiB
Raw Blame History

PPT 与海报 Phase 46 补充实施记录

日期2026-08-02
对应计划:PPT与海报生成全链路详细修复计划书_20260802.md
结论:代码层已具备版本治理、冻结重放、输出失败关闭、留存清理和灰度观测能力;生产验收尚不能用“代码已完成”替代。

1. 本轮已实现

Phase 4场景、策略与模板可执行化

  • 新增 migrate_038 及场景、生成策略、PPT 模板三类不可变版本模型;生命周期统一为 draft -> validated -> published -> retired
  • 发布门禁要求使用已批准 Golden snapshot 试跑;发布后定义不可原地修改,只能复制为新草稿。
  • 场景 resolver 使用文件数、险种、保司、产品、优先级和特异度确定唯一结果;无匹配和同优先级多匹配均失败关闭并返回 matchTrace
  • 运行时严格按 Scenario pageSpecs、Template pageSlots 和 GenerationPolicy 合并;缺页、重复槽位、容量溢出、资产 SHA 变化和不兼容版本均阻断。
  • 管理后台已支持版本创建、JSON 编辑、校验、发布、试跑、复制、停用及失败原因查看。

Phase 5冻结、对账与任务可靠性

  • migrate_039 为统一任务补齐 snapshot/scenario/policy/template/asset/renderer、提交版本、对账、视觉检查和结果状态字段。
  • PPT 与海报任务按实际使用的快照和配置完整冻结;重放只复用原任务冻结输入,不重新读取当前后台配置。
  • PPTX 输出按 XML 可见文本和字段清单核对金额、币种和缺失字段;失败不产生可下载成功成品。
  • 海报在生成背景前核对 renderDocument;最终浏览器合成时再次提交 DOM 导出清单,服务端校验:
    • PNG 实际尺寸;
    • DOM 与 PNG 尺寸一致性;
    • 必需模块存在且非空;
    • 文本裁切/溢出;
    • 可见文本 SHA-256
    • 冻结文档与计划投影中的金额、币种。
  • 最终校验失败时前端不再绕过服务端直接下载。
  • 任务支持稳定幂等键、心跳、暂时性错误重试、冻结输入重放和 current/stale 结果标记。
  • 旧 PPT 线程解析器已标记 deprecated海报紧凑解析仅在关闭 DOCUMENT_IR_V1 时作为短期回滚路径,默认不再承担新链路事实职责。

Phase 6质量、留存与灰度基础

  • migrate_040 增加 Golden 审批字段和脱敏清理审计表。
  • 管理后台可审批/撤销 Golden snapshot并汇总文档、页面、OCR、表格、跨页表、冲突、快照、覆盖、版本、任务、重试、心跳、延迟、对账及视觉检查指标。
  • 新增结构化质量告警:输出对账失败、视觉检查失败、运行任务无心跳、文档阻断和 Golden 数量不足。
  • 留存策略覆盖 Document、Snapshot、GenerationTask、Poster、PPT History 和审计日志;支持 dry-run、批次上限、脱敏审计、存储根目录保护和失败记录。
  • 新增只读孤儿文件检查,结果仅返回相对路径和 hash不执行自动删除。
  • 灰度开关支持按 profile 白名单和稳定百分比分桶:
    • DOCUMENT_IR_V1
    • PLAN_SNAPSHOT_V1
    • SCENARIO_ENGINE_V2
    • OUTPUT_RECONCILIATION_V1
    • RETENTION_CLEANUP_V1

2. 数据库迁移顺序

部署时须按现有迁移注册顺序执行,新增部分为:

  1. migrate_038:场景、策略、模板版本;
  2. migrate_039:任务冻结与输出审计;
  3. migrate_040Golden 与留存审计。

真实清理默认关闭。必须先执行 dry-run核对候选及孤儿文件再设置 INSURANCE_RETENTION_CLEANUP_V1=true 执行实删。

3. 建议上线顺序

  1. 收集并脱敏不少于 30 份真实 PDF完成双人标注在“生成治理”页面批准为 Golden。
  2. 由业务 SME 固化各险种允许的派生公式、缺失值和结论策略,创建并校验 GenerationPolicyVersion。
  3. 上传带语义 shape name 的真实 PPTX 模板,逐页声明 pageType、slot 和容量,使用 Golden 试跑后发布。
  4. 保持 SCENARIO_ENGINE_V2 默认关闭,按保司/profile 依次灰度 10% -> 30% -> 100%。
  5. 每个阶段观察对账失败、视觉失败、无心跳和人工修改率;出现 P0 告警立即回退对应开关。
  6. 连续观察期通过后关闭旧写路径;旧数据只允许只读查看和冻结输入重放。

4. 尚需外部输入或生产环境完成的验收

以下事项不能由仓库代码自动代替,因此当前不标记正式里程碑完成:

  • 30 份获批脱敏 Golden 的双人标注及强制精确率门槛;
  • 业务 SME 对公式、可比较性、缺失值和结论规则的签字;
  • 真实生产模板的语义槽位标注、字体安装、图片差异基线和人工视觉验收;
  • 生产队列、对象存储、数据库和告警通道上的 dry-run/实删演练;
  • 10%/30%/100% 灰度及全量切换后的连续观察期。

因此,当前准确表述是:工程能力已覆盖 Phase 06 的主要代码任务并具备 M5 能力及 M6 基础,但 M2、M4、M6 的正式验收仍受真实样本、业务签字、模板资产和生产观察约束。

5. 本轮验证基线

  • 后端计划相关专项回归107 passed1 skipped
  • 前端 TypeScript 检查:通过;
  • 前端生产构建:通过;
  • 治理页与海报页静态 UI 审查:无阻断项;
  • 仓库全量 tests/ 中另有 2 个与本轮无关的既有失败,详见交付说明,不能计入本轮回归失败。