记录 beb9f02c 发布结果与后续真实业务接续(09-17-company-loan-principal-repayment)

- implement/prd 补入 N4 发布事实:门禁、独立复核、生产只读核对、推送部署、断连补验、PDF 冒烟
- 明确本次部署前按用户决定未做快照,无整体恢复点
- 列出 N5 真实台账与授权登记、N6 首笔真实还款为待办;任务保持 in_progress

Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
2026-10-09 18:50:39 +08:00
共同撰写人 Claude Opus 5.5
父节点 beb9f02c19
当前提交 c1034bbe38
共修改 2 个文件,包含 49 行新增和 3 行删除
@@ -1,3 +1,35 @@
## 2026-10-09 N4 发布结果与 N5/N6 接续
本节记录已完成的发布,候选为 `beb9f02c19970aa452c3fac02debfb10db0d4a3d`。Claude 会话执行发布及核对、由用户转交结果;主会话另核对本地候选、只读汇总、部署与补验日志、独立复核记录及生产 PDF 冒烟回执。本轮只更新现有任务文档,没有重新连接生产、执行付款或改动程序;整体任务仍为 `in_progress`。
### 本次发布事实
| 检查 | 已取得的结果与证据 |
| --- | --- |
| 固定候选门禁 | `artifacts/release-gate/release-beb9f02c-20261009/release-result.json` 为 PASS;static/full-local 通过,82 迁移,服务端 4558 通过/1 项既有可选跳过,浏览器 372 全通过且零失败/跳过/重试。离线接收记录为本次准备目录的 `gate-reception-n4.json`,只绑定该候选。 |
| 独立代码复核 | `4c37fcee..1c4633b6` 的 62 个文件,结论 `REVIEWED_NO_BLOCKER`,无 P0/P1;复核人未重跑测试。其后 `beb9f02c` 仅补三份文档,P2 已落规则,P3 继续后置。原复核正文见下节,接收记录见 N3 准备目录。 |
| 发布前生产只读核对 | `production-readonly-summary-20261009.json` 为 PASS;2026-10-09 15:59(北京时间)观察的出借人、借款、还款、批次、分配、回单及已知导出均为 0。生产 73 项、本地候选 82 项,实际差集 9 项;无未完成/回滚迁移、重复名称、生产额外项或 checksum 不一致,缺表与待应用迁移相符。只读事务已 ROLLBACK。该结果仅代表当时 OA 存量。 |
| 推送及部署 | `origin/main` 已从 `9cbefdf2` 更新到 `beb9f02c`。远端服务最终运行该候选,82/82 迁移应用完成。原部署入口因 SSH 断开报告 `DEPLOY_EXISTING_FAILED`,不改写为一次成功;补验过程见下文及 `deploy.log`。 |
| 合同刷新及部署后复核 | `post-deploy-refresh.log` 记录合同刷新 PASS;`post-deploy-preflight-2.log` 为最终补验,Claude 会话核对 13/13 PASS,迁移 `pending=none`。刷新前的 12/13 和失败入口记录保留在 `post-deploy-preflight.log`。 |
| 公网基础检查 | Claude 会话核对 `/ready` 的 `ok:true` 和版本 `beb9f02c1997`,`/health`、首页、浏览器方式请求的登录/移动/付款批次/公司借款页面及前端资源正常。本次接收这些检查结果,未另行登录真实业务账号或复跑公网矩阵。 |
| 生产 PDF 解析冒烟 | `production-pdf-smoke-result.json` 为 PASS、退出码 0;运行完整 SHA 与候选一致。合成单页结果为 `bank_receipt` / `pdf_text`、明确成功、`debit`、`issues:[]`,耗时 521 毫秒。未写数据库、未调用云 OCR、未在容器保存样本;本地生成器、样本摘要及命令摘要留在同目录。 |
除另列路径外,上表本次发布证据均位于 `artifacts/qa-flow/release-beb9f02c-20261009/`。公网基础检查不扩大为真实借款办理或已登录角色的完整业务验收;合成 PDF 只证明该生产解析链路可用。
### 断连、补验及回退边界
- 本地 SSH 在 init 镜像构建期间断开,部署包装器退出,但 Claude 会话只读确认远端 `deploy.sh` 继续完成并重启服务。包装器尾部未执行的合同刷新和部署后复核已分别补跑;第一次复核因备份服务记录的版本尚未刷新为 12/13,刷新后最终 13/13。保留各次原日志及失败码,不凭进程退出码推断线上版本,也不再次发布已完成的候选。
- 部署检查里的 `rollbackWindow=OPEN` 来自既有合同终止记录检查(`terminated_status_count`),不能据此允许借款旧语义代码直接回退。产生关联决定、晚到补记或追回等事实后,继续执行本任务已定的兼容处置和回退限制;本次没有新增恢复演练或回退授权。
- 本次部署前未做手动轻量快照:用户明确决定接受无恢复点风险,自动备份模式未切换。若迁移或部署后出现数据问题,只能现场修复,不能整体回退到部署前状态。
- 原门禁与线上版本继续绑定 `beb9f02c`。这次事后文档记录可形成独立本地提交,提交仍需明确授权;不推送、不重新部署、不改写原门禁,下次发布对最终候选重新取得有效回执。本轮不重跑完整门禁或应用测试,按文档差异执行任务/治理/流程及差异检查。
### 后续两项业务工作
1. **N5 真实台账与公司授权登记(待办理)**:财务使用已整理的原件和已确认事实,在 OA 登记真实出借人及员工关联、公司主体、收付款账户、两笔历史借入、未还本金、余额截止日和原会计记录引用;留存依据,不生成当天新增收款或重复历史凭证。再登记已有公司代表权及覆盖借款,由马经理在 OA 确认。技术员工不参与。真实写入获准后按页面逐项办理,本轮没有代录。
2. **N6 首笔真实还款与会计交接(待实际付款安排)**:办理前确定本次金额、逐借款分配及日期;财务申请、马经理按关联模式批准、财务导出并在网银实际提交,留存本笔提交详情和正式付款回单,完成对应核验/必要人工确认、核销及代账交接。实际付款仍由有权人员操作;只核销本次已支付本金,不从余额推定全额还款,不为验收制造交易。
已确认的历史未还本金、本年无新增借还、开卡小额往来排除、收款账户及马经理公司代表权不再重复提问。首笔付款发生时再核对该笔提交与回单的对应关系;未覆盖的异常实样和 AC5 真实银行闭环继续开放。AC8、AC27 的本次软件复核与发布证据已补齐,整体任务不完成、不归档。以下记录保留各自历史时点。
## 2026-10-09 N3 独立复核接收与文档收尾
已接收用户回传的 Claude 独立只读复核,范围为 `4c37fcee..1c4633b6` 的 62 个文件,结论 **REVIEWED_NO_BLOCKER**,无 P0/P1。主会话核对交审包后确认:当前只有本文件新增复核记录,其余 61 个文件摘要仍一致;原始复核文字保留在下节。复核人未重新运行测试,不把第五轮结果写成独立测试结果。
@@ -1,5 +1,13 @@
# 公司借款台账与本金归还
## 2026-10-09 N4 发布完成,真实业务验收待办
已接收并核对本次发布证据:`beb9f02c` 完整门禁 PASS,独立只读代码复核无阻断项;发布前只读核实借款相关存量均为 0、实际待应用迁移为 9 个。该候选已推送并部署,部署后 82/82 迁移全部应用、13/13 复核及合同刷新通过;公网健康、就绪、浏览器页面和静态资源检查正常(Claude 会话核对、用户转交);部署前按用户决定未做快照。生产合成 PDF 解析冒烟 PASS,运行版本与候选一致,识别为正式支出回单、PDF 文字、明确成功、无问题标记,耗时 521 毫秒。发布中断与补验过程、证据位置及核验边界见 implement 顶部。
N3/N4 的软件复核及本次发布检查已完成,整体任务继续 `in_progress`。接下来是 N5 真实台账和公司授权登记、N6 首笔真实还款及会计交接;这两项尚未办理。财务按已有材料与已确认事实登记,马经理按既定公司代表身份确认,技术员工不参与;首笔还款的金额、分配及时间在实际办理前确定,发布通过不构成真实业务写入或付款授权。
本轮仅补发布与接续记录,不修改资金规则。已部署版本和原门禁回执仍绑定 `beb9f02c`;后续文档提交不影响线上运行,也不继承该回执的新候选发布资格。下方各日期的“未推送、未部署、待独立复核”等表述均保留为历史时点。
## 2026-10-09 N3 独立复核接收与 P2 口径确认
已接收 `4c37fcee..1c4633b6` 共 62 文件的独立只读复核,结论 **REVIEWED_NO_BLOCKER**;复核前摘要一致,复核人未改源码、未重跑测试。代码验证依据仍为 `1c4633b6` 第五轮完整门禁 PASS,具体接收、P3 后续项及原始报告见 implement 顶部。
@@ -141,7 +149,7 @@ R3 的模式同时作用于付款审批、提交清单、成功/失败归属、
## Acceptance Criteria
勾选仅表示相应本地合成验收完成,不能代替真实材料、独立代码复核或生产启用。原勾选项保留独立模式基线,AC20–AC26 另有本轮关联模式证据;AC27 的数据库部分已验证,独立代码复核及固定候选正式门禁仍待完成。AC9–AC19 中一般“复核/确认”按 R3 区分独立复核与关联方确认,具体消费者见 design;AC12 的双独立复核不适用此转换。
勾选表示该项已取得所要求的软件及流程证据,不代替 N5/N6 的真实材料录入与银行闭环验收。原勾选项保留独立模式基线,AC20–AC26 另有关联模式合成证据;AC8、AC27 的独立代码复核、固定候选门禁及本次部署证据现已补齐,既有回退限制继续有效。AC9–AC19 中一般“复核/确认”按 R3 区分独立复核与关联方确认,具体消费者见 design;AC12 的双独立复核不适用此转换。
- [x] AC1:合成历史两笔借入可登记并确认余额;未确认/重复登记/无凭据不进入还款,历史录入不被统计成当天新增收款。
- [x] AC2:同一出借人两笔借款合并一笔付款、部分偿还正确;超额、跨主体/出借人/币种、重复提交和并发占用均拒绝或幂等,金额用精确小数。
@@ -150,7 +158,7 @@ R3 的模式同时作用于付款审批、提交清单、成功/失败归属、
- [ ] AC5:正确回单可匹配新来源,错金额/账户/币种、失败/受理、同额歧义、重复交易、晚到版本及人工自审分别受阻;真实样本未覆盖的自动识别仍明确待验。
- [x] AC6:付款完成可追到原借款分配和会计交接状态;余额查询标明截止/核对状态,不把OA无记录说成银行无还款,不把本金计入费用。
- [x] AC7:报销/差旅既有付款、独立复核、制单、回单和权限回归通过;PC/手机沿既有交互,机密字段默认脱敏,普通员工不能读全台账。
- [ ] AC8:迁移与回退影响、独立只读复核、恢复风险处置和发布前条件完整;本地合成通过不替代真实银行接受性或部署,真实录入/付款另批。
- [x] AC8:迁移与回退影响、独立只读复核、恢复风险处置和发布前条件完整;本地合成通过不替代真实银行接受性或部署,真实录入/付款另批。2026-10-09 本次发布证据见 implement 顶部;未新增恢复演练或自动回退授权。
- [ ] AC9(对账,design 3.1/3.3):制单导出与银行提交尝试分别落表并关联;提交清单须经相应模式的确认;确认失败只计未作废附件,但作废的成功或处理中回单仍按事实阻断;确认失败按批次冻结快照核对,出借员工离职不阻断原审批效力;新的事实决定仍须有当前合格确认人;一条指令的终态不能推定其他提交已结束。
- [ ] AC10(失败归属,3.1):存在同金额候选时,确认失败须有已复核、写明覆盖哪些指令的失败归属;未确认时保持占用。
- [ ] AC11(银行终态释放,3.2;2026-10-07 补充:同一指令的终态事实可了结该指令此前的处理中回单,其他提交不能代替;最终取消释放的事务须重验全部条件,并与新提交、晚到回单串行;终态证据与付款回单分开存放,作废或被替换后不能继续作为依据):每次已登记提交均有能唯一定位指令、经相应模式确认的终态证据,且无未解决的成功或处理中事实,才可转 `confirmed_not_paid` 并释放;对账单、截图、时间依据与等待期均不能单独放行;释放后禁止再导出。
@@ -171,7 +179,7 @@ R3 的模式同时作用于付款审批、提交清单、成功/失败归属、
- [x] AC24(Q6边界):关联模式的 Q6 发起、双审及最终释放均由服务端拒绝,页面说明不启用;直接调用或伪装旧独立批准也不能绕过。原独立模式双审反例仍通过,无回单不能释放占用。
- [x] AC25(资格时点与并发):新申请/批准/导出校验当前付款授权;新的对账决定及最终释放校验当前对账授权;已付核销/已确认银行事实入账使用有效的历史审批与证据,不因停止新付款或原审批人事后离职而失败。新授权不能改写旧模式;授权停止、材料变化与确认/导出/释放按确定性交错验证,先后结果有明确语义。
- [x] AC26(页面与访问):电脑和手机以现有组件走通两人流程;财务无自审按钮,经理无经办按钮,必要材料按本批范围及用途审计读取;技术员工不获候选、待办、通知或材料。前端隐藏不能替代服务端鉴权。
- [ ] AC27(数据与回退):仅新增型迁移,历史记录明确归为独立模式且不伪造授权;新字段、外键、模式/关联身份及不可变约束在数据库验收。新增关联决定后禁止不经评估降回不理解该模式的旧代码;最终候选重新验证并按规则只读复核,不沿用旧门禁宣称通过。
- [x] AC27(数据与回退):仅新增型迁移,历史记录明确归为独立模式且不伪造授权;新字段、外键、模式/关联身份及不可变约束在数据库验收。新增关联决定后禁止不经评估降回不理解该模式的旧代码;最终候选重新验证并按规则只读复核,不沿用旧门禁宣称通过。数据库合成验收、独立代码复核及 `beb9f02c` 完整门禁已取得,生产已应用 82/82 迁移。
## Out of Scope
@@ -186,6 +194,12 @@ R3 的模式同时作用于付款审批、提交清单、成功/失败归属、
## Current Status
当前线上及 `origin/main` 为 `beb9f02c`;N3 独立复核和 N4 本次发布检查已完成,实际发布过程及证据见 implement 顶部。完整门禁为 82 迁移、服务端 4558 通过/1 项既有可选跳过、浏览器 372 全通过且零失败/跳过/重试;生产迁移、部署后复核、公网基础检查及合成 PDF 解析已核对。本轮只更新任务文档,未重跑应用测试或操作生产。
整体任务保持 `in_progress`。真实 OA 台账及关联授权尚未登记,首笔真实还款的网银提交、正式回单、核销及会计交接尚未验收;AC5 及未覆盖的真实材料边界继续开放。无需重新索取已确认的借款事实或要求技术员工参与;真实录入和付款仍按各自授权执行,不从未还本金推定本次全额支付。
### 2026-10-08 N1–N2 完成时点(历史记录)
N1–N2 在 `ce11dea9` 基线上完成本地实现和主会话检查,31 项改动未提交,无新增迁移。最新验证为 82 个迁移、116 组借款 HTTP、9 组数据库约束、18 组关联电脑/手机操作、38 组共享回单数据库/真实认证及 24 项共享报销页面限定重验通过;回单/报销最新定向 292 项通过,9 个资金守卫变异全部捕获。服务端全量为 4554 通过、1 项既有可选跳过,随后合成数据及零页详情的改动由上述最新定向覆盖,不虚报重新全量。Prisma、前端类型/构建及合同检查通过,准确时点和回执见 implement 顶部。
六份真实材料的本地分类及既有正式支出样本的内存人工录入预验已完成;未用真实借款执行核销,也未验证真实银行提交对应。当前不用用户补材料。独立代码复核、新候选正式门禁、获准发布/真实台账与授权登记、首笔真实还款闭环仍未完成;AC5、AC8、AC27 及整体业务验收不据本地结果勾选。原候选的正式门禁不覆盖当前差异,没有本轮提交、推送、部署、生产访问或真实写入。