|
|
|
@@ -1,5 +1,141 @@
|
|
|
|
|
# 报销状态空隙与财务处理视角:实施计划
|
|
|
|
|
|
|
|
|
|
## 2026-09-11 本地联合验收回执(最新,未提交/未部署)
|
|
|
|
|
|
|
|
|
|
- 代码:付款下一步统一消费服务端进度;只有明确未组批才显示创建入口,已存在批次使用授权深链,无权/未知不猜。报销详情与报销审批工作台统一右栏操作→当前进度→适用的完整历史,手机保留单列和底栏动作;局部重入/聚焦刷新不覆盖编辑态。
|
|
|
|
|
- 交接:第二阶段由 09-11-reimbursement-payment-handoffs 独立实现,再按补丁合入本副本;共享两份 QA 脚本保留双方断言。退回修改、待组批、待独立复核、付款/回单处理四类事项从实际业务状态只读投影,不依赖消息送达,不创建持久化 todo。
|
|
|
|
|
- 验证:联合证据位于本副本 artifacts/qa-flow/20260911-combined/。unit.log 为 6 文件 135/135;ui.log 为 39/39、退出 0;build.log 含 typecheck/build/PWA 成功。real-db-browser.log 为 PASS_REAL_DB_HTTP、退出 0,真实一次性 PostgreSQL、密码登录/JWT、HTTP、PC/手机验证上传选票、分类编辑、退回重提、三步审批、组批、独立复核、中文 BIFF8、返回原报销的一致性及合成回单登记;四类门户事项随状态出现/消失、重读不写库。
|
|
|
|
|
- 自动验证不使用真实员工。OCR 是真实 worker + mock provider;长历史是隔离库合成 fixture;回单与付款登记仅为隔离合成数据,没有银行连接。数据库容器与合成文件已清理。此次没有调用真实腾讯 OCR、查询生产、恢复正式备份或发送消息。
|
|
|
|
|
- 质量:process/governance、错误解释 strict、UI strict 与 diff 检查通过;文档 registry errors=0、warnings=1(既有 22 项未注册文档)。主会话已只读检查全部本轮改动;独立 reviewer 未执行,不能抵扣完整候选门禁或公网验收。
|
|
|
|
|
- 复盘:原动作仅由 approved 推断未组批,进度另算真实付款事实;原测试停在付款页,没有返回原单检查。结构修复使用同源阶段及单一授权入口,新增跨页返回、刷新、状态/角色反例;门户从只统计已有批次改为明确交接事项。先前 fixture/旧构建失败留在分项日志,不混计最终联合结果。
|
|
|
|
|
- 首批启用仍未完成:员工生产就绪、最新备份/回滚点只读核验和配对恢复只完成准备;独立复核、候选提交推送、获批部署及公网受控验收均待执行。错误迁移剩余项、完整发布门禁、六个 view_all 未决口径与其他模块扩围不假报完成。
|
|
|
|
|
|
|
|
|
|
### 其他详情页初步盘点与归属
|
|
|
|
|
|
|
|
|
|
| 页面 | 本次源码事实 | 后续归属与边界 |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| 报销详情、报销审批、付款详情 | 本轮已统一当前进度和动作位置,并回归返回原单 | 本 task + 09-08 付款 task,待发布 |
|
|
|
|
|
| 非报销通用 WorkflowTaskDetailPage | 操作在右栏,正文是完整处理历史;不等同于已有独立当前进度 | 暂记本 task 扩围清单,具体业务启用时复用对应模块 task;不把正文历史机械搬走 |
|
|
|
|
|
| PurchaseRequestsPage 详情 | 正文存在审批记录与归档操作,当前布局尚未按首批规则验收 | 暂记本 task 扩围清单,采购启用再核范围;旧采购布局归档 task 仅追溯,不自动重开 |
|
|
|
|
|
|
|
|
|
|
这是初步差异清单,不是全系统视觉验收;门户活动动态也不算详情当前进度。先完成首批报销/审批/付款,不为每个页面新增 task。
|
|
|
|
|
|
|
|
|
|
## 2026-09-11 综合后续规划(已批准本地实施,生产操作另批)
|
|
|
|
|
|
|
|
|
|
用户明确批准按本规划连续实施和针对性验证,不重复询问同范围方案。执行副本为既有 integration 工作树,基线 fe025e65,官方 current 已核对为本 task;保留原有发布回执与规划差异,不混入根 checkout 的治理改动。先完成第一阶段,再按阶段归属推进可执行的后续工作;提交、推送、生产查询/写入、恢复和部署不由本次泛化实施授权推导。inline 自检不冒充独立 review。
|
|
|
|
|
|
|
|
|
|
目标是员工能独立完成首批报销、审批和付款交接,不以 task 清零、按钮上线或登录页正常作为准入。最近核验的生产候选为 fe025e65;今天未重新连接生产,实施/发布前仍要核对实际基线。本节整合最新状态矛盾、布局统一及此前就绪规划,后续按具体阶段归属执行,不把所有技术债都捆成一次发布。
|
|
|
|
|
|
|
|
|
|
### 已完成基础,不重复开发
|
|
|
|
|
|
|
|
|
|
选票自动生成明细和集中分类、退回留痕删除、中文报销制单与下载原因优化、付款详情右栏进度、AP 读取收紧,以及 existing 不运行初始化 seed、迁移预检和数据库生命周期隔离已有发布记录。只对被新改动影响的部分做回归。一次历史最小数据库恢复成功不等于当前候选配对附件及应用恢复已通过;昨晚公网未登录检查不等于已登录生产业务全链验收。
|
|
|
|
|
|
|
|
|
|
### 有序执行及任务归属
|
|
|
|
|
|
|
|
|
|
| 顺序 | 工作与归属 | 结束判据 |
|
|
|
|
|
| --- | --- | --- |
|
|
|
|
|
| 第一阶段 | 修复报销付款状态矛盾与主线详情布局,复用本 task,付款页面回归关联 09-08-reimbursement-payment-closeout | 已有有效批次时不再引导组批;动作/下一步/进度消费一致事实;PC 操作在右上、当前进度在其下,正文不重复;手机顺序一致且保留底栏动作。报销详情、审批工作台、付款详情的回到原单场景与角色/状态矩阵通过 |
|
|
|
|
|
| 并行准备 A | 真实员工业务就绪与职责范围只读盘点,复用 AP/付款既有任务 | 区分能登录、能提交、能审批/复核、能付款;按确认身份核对角色、经理、审批解析、主体及资料存在性,不重复修已回填字段,不读取银行明文。列清真实缺项和维护人,不把 smoke 账号算成真人。需调整授权或回填时另列批准清单 |
|
|
|
|
|
| 并行准备 B | 恢复退路,复用 08-23 恢复任务与 08-28 异机备份事件任务 | 先只读核验执行时最新本地/ARM 批次、版本及自然调度结果;获批后在受控隔离目标验证配对 DB/附件恢复、引用与适用摘要及必要应用读取。禁止生产连接、真实通知/支付/OCR外联;只清本轮隔离资源,不增复杂 runner,不删除回滚制品 |
|
|
|
|
|
| 第二阶段 | 报销到付款的最小待办交接;复用已有观察证据,到实施前确认一个独立跨模块 task,不按页面拆任务 | 四类首批事项:退回待修改、财务待组批、负责人待付款复核、复核后财务付款处理/登记。工作台数量与明细一致、深链有权、办完消失;无需聊天提醒切换账号,重复投影不生成重复待办。通知失败不丢任务,不把站内消息、IM 入队和真实送达混成一个 PASS |
|
|
|
|
|
| 第三阶段 | 首批统一候选联合验收及发布,复用本 task 与付款任务的发布验收 | 各改动独立提交单元/工作树,先完成本地真实后端、合成角色、桌面/手机和跨页面闭环,再冻结统一候选交审。批准后部署并由执行端完成公网专用测试身份的必要受控合成验收,不用管理员代替各角色,不触碰真实单据或执行银行付款 |
|
|
|
|
|
| 第四阶段 | 首批正式启用与其他详情页扩围 | 报销/审批/付款满足以下准入后即可开始正常业务,不等待合同/采购等全部功能或历史 task 清零。对其他已有详情页先形成实际差异清单,复用各模块任务按同一位置/信息层级规范整改;全系统统一不等于本轮重写全部页面或给所有业务套一条审批链 |
|
|
|
|
|
|
|
|
|
|
第一阶段先以失败用例锁定截图中的矛盾,不先花一轮全系统测试重复证明已知缺陷。就绪与恢复先做只读准备,生产资料写入、消息发送、实际恢复、部署和生产合成写入均按窄范围另批。真实付款是财务业务动作,不用一次真实银行付款来证明自动化测试完成。若某项权限或恢复风险阻断,按具体原因停相应启用阶段,不靠缩小验收或默默接受风险前进。
|
|
|
|
|
|
|
|
|
|
### 首批员工启用准入
|
|
|
|
|
|
|
|
|
|
1. 核心角色实际授权和必要主数据一致;确认 CEO 审批路由保留、财务不能自审,六个 view_all 的未决口径不默默改动,已确认不适当的数据暴露先处理。
|
|
|
|
|
2. 上传/OCR、选票建明细、分类编辑、提交、退回修改重提/删除重建、审批、组批、独立复核、中文制单、合成回单登记均有适当层级的执行证据;旧页面刷新/重入不保留失效动作。真实腾讯接口验证与 mock OCR 分列。
|
|
|
|
|
3. 创建/复核批次后回到报销详情,主按钮、下一步、进度及实际目标一致;未组批、各批次阶段、取消/失败、无权读取和状态未知均覆盖,不靠字符串存在性或截图替代状态断言。
|
|
|
|
|
4. 四次任务交接可从系统发现和进入;如企业微信是约定入口,须有受控接收端送达与深链证据,无设备/授权时如实保留缺口,不让普通员工承担基础验收。
|
|
|
|
|
5. 执行时备份完整/新鲜、配对数据与材料有隔离恢复证据,回滚制品仍保留;不把旧镜像存在当作新删除语义可逆。
|
|
|
|
|
6. 新增候选的部署及公网检查通过,阻断缺陷清零;未覆盖范围逐项列明。首批稳定版本使用不要求全项目所有测试历史债归零,但定向业务验收不冒充完整候选门禁。
|
|
|
|
|
|
|
|
|
|
### 同期截止日与后排工作
|
|
|
|
|
|
|
|
|
|
- 错误解释复用 09-05-error-explainability-payment-readiness:当前候选 673 条豁免指纹仍于 2026-10-05 到期,按 09-11 为 24 天;已有分组与首批分支提案,不重做一份台账。现在确定首批范围,09-18 验证首批迁移,09-25 复审剩余量,09-30 前逐模块裁决延期,10-02 查漏;不统一延长日期,不把豁免数等同产品缺陷数。
|
|
|
|
|
- 完整候选门禁复用 09-06-release-gate-integrity 与 09-07-e2e-auth-preconditions:先恢复可信认证前置和验证结果,再评审强制回执与启用。旧 58 条观测不逐条盲修,R1/合同阶段 B 不因本规划自动解冻;正常发布能力未恢复前,每次例外单独批准,不能继承昨晚例外。
|
|
|
|
|
- F1 付款侧显式删除过滤仍归本 task 非阻断加固,排在已确认状态矛盾之后;是否随相关付款读取修订实施以范围审查为准,不默改冻结候选。
|
|
|
|
|
- 随阶段收尾同步已有 task 的代码、发布、业务验收、等待事项与正确证据位置,尤其各隔离副本的后续回执;不批量归档、不重构大文件、不拆微服务、不为减少任务数合并不相关提交。
|
|
|
|
|
|
|
|
|
|
本规划已获批准;第一、二阶段本地实施与联合验证完成,两个并行清单已准备。下一步是冻结本地补丁交审,获准后分别提交推送并刷新限定只读前置;不是默认执行生产写入或全系统改造。产品规则与共享规约已同步本次实际实现,生产就绪与恢复结论保持待验证。
|
|
|
|
|
|
|
|
|
|
## 2026-09-11 当前新增缺陷与接续点(本地完成,发布待批准)
|
|
|
|
|
|
|
|
|
|
- [x] 核对用户反馈与 fe025e65 源码:已组批/已复核时,右侧 approved 固定组批提示与真实付款进度矛盾;主列进度与付款页右栏布局不一致。未连接生产、未读真实业务响应、未改运行代码。
|
|
|
|
|
- [x] 将两项并回本 task 的 PRD/design,不新建修复 task;保留昨晚发布及既有自动验证原结论,但不把它们当作本次跨页面一致性已通过。
|
|
|
|
|
- [x] 基于已有发布回执的 fe025e65 在隔离副本实施,先跑红已复核批次仍提示组批的用例;保留副本原有 task 回执,不混入根 checkout 的治理改动。
|
|
|
|
|
- [x] 统一报销下一步、权限化目标入口和处理阶段;数据未知不猜未组批,取消/失败不放宽重建资格。
|
|
|
|
|
- [x] 按既有付款详情样式调整报销/审批工作台侧栏,覆盖手机顺序、长历史、滚动和无重复入口;同步现有产品规则与共享规约。
|
|
|
|
|
- [x] 列出已检查的其他详情页位置差异和后续归属;未声称全系统已统一。
|
|
|
|
|
- [x] 角色/状态矩阵、真实隔离跨页面流程、双端布局和变更范围内回归通过,完成主会话只读检查。
|
|
|
|
|
- [ ] 独立 reviewer 复核本次未提交补丁;不继承 fe025e65 旧候选审查结论。
|
|
|
|
|
- [ ] 明确提交/发布候选后另批部署及所需生产合成验收,不让员工承担基础测试、不操作真实付款。
|
|
|
|
|
|
|
|
|
|
下一步是两笔任务改动的只读复核与提交准备;提交推送、生产核验和部署各按明确边界批准,不从此前 fe025e65 发布授权推导。不要求先清空其他历史任务。
|
|
|
|
|
|
|
|
|
|
## 2026-09-10 已授权发布回执(本阶段最新状态)
|
|
|
|
|
|
|
|
|
|
- 代码:73fcd5a6 与 fe025e65 两笔已推送,最终候选 fe025e65cfb521b3b8e758652f96448fefe05051;发布使用独立干净 clone 跟踪 origin/main,provenance 无 override。未移动原主 checkout 或提交其他未完成任务。
|
|
|
|
|
- 发布:23:11:59(Asia/Shanghai)第二次正式 deploy-existing 退出 0,生产由 e5685f18 更新到 fe025e65;完整通过现有聚合体检、preflight、init、切换、post-preflight、smoke、备份合同 refresh。第一次仅构建依赖下载 ECONNRESET,失败和重试证据分别保留,不记成一次无故障发布。
|
|
|
|
|
- 发布后自动只读核验:23:12 运行代码/Prisma 文件 10 项摘要匹配,68 条迁移全部完成且历史 checksum 一致,新删除列/约束/索引有效;无 pending。init 仅 validate_config → migrate → check_required_configuration,existing 无 seed;数据库容器与启动时间不变,远端环境文件摘要不变,腾讯 OCR 配置与 server 内任务执行保持开启,本轮未调用腾讯识别。
|
|
|
|
|
- 公网:/ready 200 且版本匹配;HTML 和 12 份入口/相关模块 JS/CSS 与运行镜像逐项匹配;正式公网扫描 106 份资源、buildMarker PASS、findings=0。报销/付款/发票池匿名读取均 401;角色常量矩阵保持经理/CEO 无全量台账、财务/财务主管/管理员可读且审批复核能力保留。这不是生产真人账号的已登录业务动作测试。
|
|
|
|
|
- 浏览器补查仅覆盖公网未登录入口:桌面 1440×1000、手机 390×844 登录控件可见且无横向溢出,两份截图已查看,console errors/warnings 均 0。登录页本身不显示 build,版本通过 /ready 与资源摘要证明,不以页面版本标签验收。关闭命令回报 closed,但外层命令退出 143,额外确认本次浏览器进程已退出;不记作整组浏览器命令退出 0,也不替代已有隔离业务测试。截图在主 checkout 的 output/playwright/20260910-release-fe025e65/;最终汇总为 release-summary.json。
|
|
|
|
|
- 恢复与容量:e5685f18 独立镜像归档再次校验通过并保留,生产剩余 41.05 GiB,无需本轮清理。发布前最新备份完整性通过、时效 20.60 小时;备份合同已刷新到新版本,但不把旧备份说成新版本同源恢复点。本次未做数据库/附件/应用恢复演练,留痕删除后的兼容回退限制不变。
|
|
|
|
|
- 证据:主 checkout 下 artifacts/qa-flow/20260910-release-fe025e65/ 的 deployment-attempt2-result.json、postcheck-result.json、runtime-postcheck.json 及受控 pre/post/构建日志。已核验的本地 296+7 单测、19 页面回归、真实隔离联合流程和用户提供的有限覆盖独立复核继续有效,不冒充本轮重跑或完整候选验收通过。
|
|
|
|
|
- 业务与待办:未执行真实单据创建/删除/复核、制单导出或付款,不要求员工代测基础流程。F1 付款侧显式 deleted_at 纵深防御仍留在本 task 的非阻断后续项;此次追加阶段已发布不等于整个历史 task 可归档。任务补记未自动提交、未归档、未删除任何既有生产备份/回滚制品。
|
|
|
|
|
|
|
|
|
|
## 本轮发布授权与执行清单
|
|
|
|
|
|
|
|
|
|
用户明确回复“批准”,本轮批准部署已推送 fe025e65cfb521b3b8e758652f96448fefe05051,执行唯一新增迁移 20260910010000_reimbursement_retained_delete。使用既有 deploy-existing 正式路径、DEPLOY_DATA_MODE=existing、SYNC_ENV=0;不执行初始化 seed、不改真实报销/付款、不清理独立回滚制品。有限覆盖独立复核、未完成完整候选验收及留痕删除后的回退语义限制随本候选保留,不以过去例外替代本次批准。
|
|
|
|
|
|
|
|
|
|
- [x] 在干净且跟踪 origin/main 的独立发布 clone 核验已推送候选,刷新生产基线、备份完整性/时效、迁移和磁盘;有实质漂移则停止。正式 provenance 要求 upstream,detached worktree 不满足;不启用未发布 override,不移动原 checkout 的 main。
|
|
|
|
|
- [x] 走正式聚合体检、迁移 preflight、构建/init/切换、post-preflight 和备份合同 refresh;保留受控日志。
|
|
|
|
|
- [x] 自动只读核验公网版本/资源、运行时代码、迁移结构、existing 无 seed 和独立回滚归档仍在;不让真实用户代测、不执行真实业务动作。
|
|
|
|
|
- [x] 在既有两项 task 补记实际发布与证据边界,不自动提交说明或归档。
|
|
|
|
|
|
|
|
|
|
发布执行中补记:第一轮正式聚合体检/来源/preflight 后,build-init 的 npm ci 出现 ECONNRESET,并记录非零构建错误;未进入 run-init。远端构建/发布进程已退出,但本地 SSH 传输未收尾;核对仅属于本轮的 SSH 子进程后终止该连接,发布器最终退出 1。失败构建原始日志已保存到受控 0600 本地文件,不回显网络/路径原文。23:06 再次只读核对生产仍 e5685f18、已应用 67/唯一 pending 不变、备份与 e568 独立镜像摘要通过、41.95 GiB 剩余;没有执行迁移、seed 或应用切换。第二次仍用同一候选与正式门禁,不改锁文件/镜像来源/依赖校验、不绕门禁,日志和 pre/post 证据单独命名保留。
|
|
|
|
|
|
|
|
|
|
## 当前运行镜像独立制品固定完成
|
|
|
|
|
|
|
|
|
|
用户单独批准保存并校验当前 e5685f1 镜像;不包含服务重启、容器切换、旧镜像清理或部署。本轮复用既有 save-image 操作脚本,仅固定当前 build/image 身份并增加项目身份核对,SSH stdin 执行,没有向生产上传脚本或读写业务库。
|
|
|
|
|
|
|
|
|
|
- 2026-09-10 22:36–22:37(Asia/Shanghai)完成:当前运行版本 e5685f18、镜像 0a3792699576…,保存到部署用户家目录下既有 rollback-artifacts 的唯一新子目录。完整相对定位、归档摘要、大小及模式见 artifacts/qa-flow/20260910-combined/rollback-current-receipt.json。
|
|
|
|
|
- docker image save 仅导出镜像;归档 1,119,163,904 字节(约 1.04 GiB)。配置摘要与镜像 ID 匹配,14/14 层 diff_id 匹配,归档 SHA-256 为 b52c259cc84128761e452764e434d8fe3772d649147c124bb378ded4528d5fe8;文件 0600、目录 0700,保存脚本退出 0。
|
|
|
|
|
- 新 SSH 连接回读落盘归档、receipt.json 和 image.tar.sha256,大小/摘要再次一致、当前运行版本与镜像仍匹配;rollback-current-readback.json 为 PASS_INDEPENDENT_FILE_READBACK,退出 0。这里“independent”仅指另一连接的文件回读,不代表独立代码 reviewer 或异机副本。
|
|
|
|
|
- 保存前后运行容器及启动时间不变,未重启/切换;剩余磁盘约 42.45 GiB。只创建本次新归档目录、image.tar、摘要文件和回执;没有删除既有备份/制品/镜像或修改生产权限。
|
|
|
|
|
- 制品独立于 Docker 存储,但仍在生产同一主机;没有 docker load、应用恢复、附件恢复或本次数据库恢复演练。镜像退回不撤销新版本业务写入,首次留痕删除后的回退语义限制保持不变。
|
|
|
|
|
|
|
|
|
|
当前制品固定前置已补齐;这不是发布批准。下一步将 fe025e65 的迁移、有限覆盖独立复核、完整候选验收缺口、回退方案及部署后自动检查范围交审,实际执行前刷新有时效的生产/备份证据。未部署、未归档、未提交本地说明补记。
|
|
|
|
|
|
|
|
|
|
## 推送及限定只读发布预检回执
|
|
|
|
|
|
|
|
|
|
用户明确批准推送两笔提交及只读发布预检,不包含部署或生产写入。已将 73fcd5a6、fe025e65 推至 origin/main,远端回读为 fe025e65;未移动有既有改动的主 checkout,未提交本地 F1/F2 文档补记。
|
|
|
|
|
|
|
|
|
|
2026-09-10 22:31–22:32(Asia/Shanghai)重新读取,证据为 artifacts/qa-flow/20260910-combined/production-precheck.json、backup-admin-check.json、precheck-summary.json:
|
|
|
|
|
|
|
|
|
|
- 生产容器仍运行 e5685f18,检查期间容器及启动时间未变化;备份服务版本合同匹配。未做新镜像构建/应用切换,不凭容器 running 宣称完整业务健康。
|
|
|
|
|
- 只读事务核查 _prisma_migrations:已完成 67 条,候选 68 条,唯一待执行 20260910010000_reimbursement_retained_delete;未知/异常/历史校验和不匹配均 0。生产尚无两个删除标记列。未执行 migrate/seed,不额外读取业务表或个人历史。
|
|
|
|
|
- 数据库、附件、部署用户回滚目录所在文件系统均约 43.50 GiB 可用、使用率 26.2%。旧 86% / 8.93 GB 不再作为当前依据;本次不清理任何生产文件、镜像或备份。
|
|
|
|
|
- 普通部署账户备份读取被拒绝;通过已有配置的管理员 SSH 通道仅只读核验,未改权限/凭据/服务。最新备份北京时间 2026-09-10 02:30:47 完成,核验时 20.02 小时;manifest、数据库包、附件包大小/摘要通过,备份版本及镜像均匹配当前生产 e5685f18。结论 PASS_INTEGRITY_ONLY,本次未恢复演练。
|
|
|
|
|
- 已登记独立回滚制品目录有两份其他版本回执,没有与当前 e5685f18/imageId 匹配的制品。不能用旧版本制品替代当前生产回滚点,也不把运行镜像存在当独立制品已固定;其他未登记位置不作不存在断言。
|
|
|
|
|
- 身份核验使用既有 bootstrap 的只读 origin/database 模式;限定查询未运行会额外读取合同状态的完整 production-preflight 脚本,不宣称完整发布门禁通过。远端探针由 SSH stdin 执行,没有上传脚本/创建远端文件、生产数据写入或服务重启。
|
|
|
|
|
|
|
|
|
|
下一步需单独批准持久化保存当前生产 e5685f18 镜像为独立制品并校验(不重启/切容器/删旧镜像),再交审绑定 fe025e65 的发布方案与回退语义;保存制品不等于批准部署。备份接近 24 小时时限,实际发布前需重新核验时效。当前未部署、未归档。
|
|
|
|
|
|
|
|
|
|
## 已提交候选的外部只读复核结果
|
|
|
|
|
|
|
|
|
|
用户回传独立 reviewer 对 fe025e65(树 de050d89)的结论:通过,0 阻断、2 非阻断;manifest 8/8 摘要匹配。结论来源是用户提供的独立审查报告,不是主会话独立复现。两笔本地提交已完成:73fcd5a6(删除)、fe025e65(付款)。本节覆盖下文“未提交/待独立复核”的历史阶段状态。
|
|
|
|
|
|
|
|
|
|
- 覆盖:重点核查清单 1/3/6(删除授权、旁路排除、回退语义);清单 2 只看事务内锁顺序的相对位置,没有逐条验证同事务性与回滚。
|
|
|
|
|
- 未覆盖:清单 4/5(制单/文件名/确认、页面/BIFF8);未跑测试、未审前端 diff、未验证迁移回退、未连生产。本地 296+7 单测、19 页面回归和隔离真实流程仍只是执行端自检,不能因摘要匹配改称 reviewer 重跑通过。
|
|
|
|
|
- F1:付款读取未显式过滤 deleted_at,作为非阻断纵深防御待办留在本 task,不另开任务。本轮先不改运行时代码,保留已审 fe025e65;后续若实施需新提交/新候选、针对性付款状态与可见性回归,独立结论只覆盖原 SHA,不自动延伸。
|
|
|
|
|
- F1 补充核实:迁移 CHECK 已要求有完整删除标记时 status='cancelled',付款 readiness 拒绝非 approved;当前不只依赖删除入口白名单。仅扩大可删除的原始状态并不必然绕过付款门禁,未来修改持久化状态或 CHECK 时仍须复核付款约束。不可不加判断把用户读取范围构造器套入付款数据加载。
|
|
|
|
|
- F2:已补入 design 的发布方案:旧镜像只能还原代码,不能撤销删除标记/审计/票据释放;首次留痕删除后不得仅退镜像并宣称恢复原状。
|
|
|
|
|
- 当前代码与候选均未改变;本次只有未提交的任务说明补记,不篡改已冻结 review.md/review-manifest.json。尚未推送、部署或归档;生产版本/迁移/磁盘/备份时点/回滚制品需获得只读授权后重新核验,不复用历史数值。
|
|
|
|
|
- 下一步:取得推送及限定只读发布预检的明确授权;部署、新迁移执行及真实业务写入仍另批。独立复核的未覆盖部分须保留在发布审批材料中。
|
|
|
|
|
|
|
|
|
|
## 2026-09-10 退回删除接续
|
|
|
|
|
|
|
|
|
|
### 提交准备(未提交)
|
|
|
|
|