From 531d2846a67402e1d431b59227c7274deaacf12a Mon Sep 17 00:00:00 2001 From: shunli Date: Wed, 29 Jul 2026 21:53:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=B7=AE=E6=97=85=E8=A1=A5?= =?UTF-8?q?=E5=8A=A9=E7=94=9F=E4=BA=A7=E9=83=A8=E7=BD=B2=E9=AA=8C=E6=94=B6?= =?UTF-8?q?=EF=BC=8807-28-travel-reimbursement-guide=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../implement.md | 11 ++++++++- .../07-28-travel-reimbursement-guide/prd.md | 24 +++++++++---------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/.trellis/tasks/07-28-travel-reimbursement-guide/implement.md b/.trellis/tasks/07-28-travel-reimbursement-guide/implement.md index 1f0bfd97..a38da07b 100644 --- a/.trellis/tasks/07-28-travel-reimbursement-guide/implement.md +++ b/.trellis/tasks/07-28-travel-reimbursement-guide/implement.md @@ -128,7 +128,16 @@ - 已把城际大巴、伙食补助和市内交通补助收口为三个独立稳定代码;种子聚焦测试证明按代码幂等更新/创建,不配置 100/80 元单条费用标准。 - 员工指南与报销事实源已写明两项补助单价、自然日、包干、直接承担不重复领取、个人延长不计补助和人工算式要求;单页 PDF 已重新生成并完成视觉检查。 - 聚焦测试 3 个文件/17 项、后端全量 168 个文件/1077 项、Prisma validate、流程合同、文档审计、Trellis governance、敏感内容、task validate、Node 语法和 `git diff --check` 均通过;文档审计仅保留 22 个既有未注册文档 warning。 -- 本地实施不等于生产费用类型已变更。提交、推送、部署和生产 `seed:config` 仍等待对应授权;在生产只读复核三个费用类型且确认未新增错误费用标准前,不通知杨俊按补助新口径提交。 +- 本地实施不等于生产费用类型已变更;生产落地结果见下节记录。 + +## 2026-07-29 差旅补助规定生产部署 + +- 提交 `13a3f4b` 已推送并部署;来源校验、环境契约、迁移状态、external deps、runtime smoke、公网 `/ready`、构建标识和前端资源扫描均通过。 +- 标准 Compose 构建首次停在 Alpine 基础包下载,旧 server 始终保持可用;终止未完成构建后使用同一 Dockerfile、同一构建参数和宿主网络成功构建,再完成受控切换。 +- 为遵守“定向费用类型写入”授权,本次未运行会改写其他主数据的全量 `seed:config` / `seed:trialrun`;通过受限 Prisma 包装器只执行 3 次目标 upsert。 +- 生产只读核验确认“大巴车票”“伙食补助费”“市内交通补助费”三个独立费用类型均 enabled,相关 active 费用标准为 0,未引入多日补助误报。 +- 运行拓扑为一个 server 执行 jobs、无 worker,OCR provider 为 `tencent`;自动备份 daily/watchdog/drill-reminder 与 WARCH3 四个 timer 已刷新冻结构建并保持 enabled/active。 +- 员工指南、真实 OCR 和生产费用类型已对齐,杨俊可以从企业微信工作台进入并按四类明细创建真实差旅报销;实际提交仍由本人完成。 ## 风险文件与操作 diff --git a/.trellis/tasks/07-28-travel-reimbursement-guide/prd.md b/.trellis/tasks/07-28-travel-reimbursement-guide/prd.md index e03dc338..9992ccd1 100644 --- a/.trellis/tasks/07-28-travel-reimbursement-guide/prd.md +++ b/.trellis/tasks/07-28-travel-reimbursement-guide/prd.md @@ -58,19 +58,19 @@ ## Acceptance Criteria -- [ ] 员工指南能在一页内回答“交什么、传到哪里、金额怎么填、哪些材料不能混传、提交后谁处理”。 -- [ ] 指南内容与当前页面、服务端格式限制及生产费用类型一致。 -- [ ] 业务事实源明确火车票和住宿费支付截图为必交补充材料,并包含遮挡、差异、退款和无截图例外规则。 -- [ ] 腾讯 adapter 使用 `RecognizeGeneralInvoice`,聚焦测试覆盖住宿电子普通发票、铁路电子客票、无代码票据、多票/不支持票据、大小门禁和敏感原始字段不持久化。 +- [x] 员工指南能在一页内回答“交什么、传到哪里、金额怎么填、哪些材料不能混传、提交后谁处理”。 +- [x] 指南内容与当前页面、服务端格式限制及生产费用类型一致。 +- [x] 业务事实源明确火车票和住宿费支付截图为必交补充材料,并包含遮挡、差异、退款和无截图例外规则。 +- [x] 腾讯 adapter 使用 `RecognizeGeneralInvoice`,聚焦测试覆盖住宿电子普通发票、铁路电子客票、无代码票据、多票/不支持票据、大小门禁和敏感原始字段不持久化。 - [ ] 腾讯云控制台确认通用票据识别(高级版)每月 1,000 次免费包已到账、中国大陆地域、后付费关闭和费用/余额告警可用;额度耗尽不产生后付费。 -- [ ] 生产实际 provider 为 `tencent`,只授予 `ocr:RecognizeGeneralInvoice`,两个凭证字段已配置但不泄露,external deps smoke、`/ready` 和运行 job 拓扑通过。 -- [ ] 住宿电子普通发票和铁路电子客票各一份已授权 PDF 经真实腾讯 OCR 进入可解释终态,并证明没有调用 mock;样票和原始识别 payload 不进入仓库或聊天。 -- [ ] 明确 OCR 只辅助字段识别/查重,财务仍执行明细—PDF 原件—支付证明复核。 -- [ ] 员工指南和报销事实源完整写明两项补助的单价、自然日口径、包干不另报、直接承担不重复领取和个人延长不计补助规则。 -- [ ] 生产种子数据中“伙食补助费”“市内交通补助费”均为独立 enabled 费用类型,`travel_bus` 仍明确表示城际大巴车票。 -- [ ] 未配置会把多日补助误判为超标的 100/80 元单条费用标准;指南要求员工按天数人工计算并在说明中写出算式。 -- [ ] 在真实 OCR 验收完成前不得仅因指南已完成就通知杨俊可以提交。 -- [ ] 全程不把真实票据、支付截图、完整账号、银行资料、Secret 或原始 payload 写入仓库、任务或聊天。 +- [x] 生产实际 provider 为 `tencent`,只授予 `ocr:RecognizeGeneralInvoice`,两个凭证字段已配置但不泄露,external deps smoke、`/ready` 和运行 job 拓扑通过。 +- [x] 住宿电子普通发票和铁路电子客票各一份已授权 PDF 经真实腾讯 OCR 进入可解释终态,并证明没有调用 mock;样票和原始识别 payload 不进入仓库或聊天。 +- [x] 明确 OCR 只辅助字段识别/查重,财务仍执行明细—PDF 原件—支付证明复核。 +- [x] 员工指南和报销事实源完整写明两项补助的单价、自然日口径、包干不另报、直接承担不重复领取和个人延长不计补助规则。 +- [x] 生产种子数据中“伙食补助费”“市内交通补助费”均为独立 enabled 费用类型,`travel_bus` 仍明确表示城际大巴车票。 +- [x] 未配置会把多日补助误判为超标的 100/80 元单条费用标准;指南要求员工按天数人工计算并在说明中写出算式。 +- [x] 在真实 OCR 验收完成前不得仅因指南已完成就通知杨俊可以提交。 +- [x] 全程不把真实票据、支付截图、完整账号、银行资料、Secret 或原始 payload 写入仓库、任务或聊天。 ## Out of Scope