记录整单材料预览生产发布(07-27-yang-jun-reimbursement-readiness)
ci-e2e / e2e (push) Canceled after 0s
ci-minimal / check-minimal (push) Canceled after 0s

这个提交包含在:
2026-08-01 01:13:42 +08:00
父节点 8a9279efce
当前提交 3d9ec4c5a7
@@ -171,6 +171,16 @@
- [x] 更新后端路由/授权/审计/超限/缓存失效测试与 PC/企微 Playwright;运行 Prisma validate、server 聚焦测试与全量基线、client typecheck/build、Trellis/governance/process/docs/sensitive/diff 门禁。
- [x] 稳定合同验收后再反向更新 `reimbursement-invoice-ocr.md` 与 `wecom-boundary.md`,覆盖当前“明细内发票、无聚合接口”的旧规范;提交、推送、生产部署和真实材料查看分别遵守既有批准门禁。
## 6.12 整单材料预览生产发布
- [x] 提交并推送 `8a9279e`,以 `SYNC_ENV=0` 发布;未覆盖生产 `.env`,未修改权限、审批状态机或任何真实业务数据。
- [x] 如实记录发布过程:首次从历史 Compose working-dir 标签解析路径,在同步前因普通用户权限停止,生产未变;一次临时 clone 长时间无进展后主动中止,未进入 deploy;一次后台日志方案在进程启动前被本地安全护栏拒绝,未改变生产。
- [x] 一次本地长构建连接被中断,但远程构建继续完成;当时仅源码已同步、活动容器未切换。最终复跑复用已完成的构建缓存并全流程成功。
- [x] 发布来源、环境合同、Compose/init、62 个 migration、external/runtime smoke 与公网资源扫描通过;公网 `/ready` 与活动容器均为 `8a9279e`,容器内 `pdftoppm` 可用,未认证材料包接口返回 401。
- [x] 发布后发现 automatic backup 三项与 WARCH3 的 unit 仍为旧构建身份;只读复用现有 unit 参数与运行时间重装后,4 个 service 全部匹配 `8a9279e`,4 个 timer 均 enabled/active。
- [x] 手工触发 automatic backup daily 与源端 watchdog,二者均为 `success/0`;未执行真实审批、财务审核、付款批次、银行回单或付款写入。
- [x] 构建耗时主要来自首次加入 Poppler 系统包后的基础层失效:系统依赖安装及 client/server/init 重新构建;migration 无待执行项,不是本次耗时主因。
## 7. 完成条件
- [ ] PRD 全部验收项有脱敏证据或明确由用户完成的真实业务验收结果。
@@ -243,3 +253,6 @@
- 目标镜像验证:`server_build` 成功安装 `poppler-utils`;Playwright 生成的无业务合成单页 PDF 经容器内生产 `reimbursementMaterialPreview` 转换为 1 页 PNG,探针结果为 `raster-probe-pass`。未合并、改写或使用真实票据。
- 治理复核:task validate、Trellis governance、process contract、敏感扫描和 `git diff --check` 通过;文档审计 0 error、1 条既有汇总 warning(22 个历史未登记文件)。首次敏感扫描命令误指向不存在的旧路径并立即失败,改用当前 `scripts/qa/check-sensitive-content.mjs` 后 30 个变更文件、0 finding;该失败未执行生产或业务写入。
- 本步骤只完成本地实现与验证;未推送、未部署、未修改生产配置或真实业务数据,不能据此通知真人线上测试。
- 整单材料生产发布:`8a9279efceee` 已部署,`SYNC_ENV=0`,62 个 migration 无待执行项;`/ready`、external/runtime smoke、公网扫描与未登录 401 边界通过,目标容器内 `pdftoppm` 可用。
- 本次长构建主要是 Poppler 首次进入生产基础层后引起系统包安装和 client/server/init 缓存失效;首轮路径权限、无进展 clone、启动前安全护栏拒绝和本地连接中断均已如实记录,未美化为一次成功。
- 发布后运维对齐:automatic backup 三项与 WARCH3 共 4 个 service 均匹配 `8a9279e`,4 个 timer 均 enabled/active;新 automatic backup daily 与源端 watchdog 均为 `success/0`。