汇总已落盘的借款本金与还款、兼容历史编号的周期化编号、付款责任与回单核验、报销进度和排序、PWA/采购事务、错误原因与日期校验及ERP退役。 统一共享预算池锁序和锁后判断,恢复差旅原预算选择,补原因码固定夹具及反向完整性检查。 纳入配套迁移、测试、受管QA、分层验收合同、规约及任务记录;原始证据留在ignored artifacts。 关联任务:09-17-company-loan-principal-repayment、09-17-erp-exclusive-retirement、09-18-reimbursement-periodic-numbering、09-08-reimbursement-payment-closeout、09-18-local-concurrency-product-fixes、09-19-budget-pool-concurrency、09-05-error-explainability-payment-readiness。 预算补审由Claude定向验证2文件928项通过,原4446/28及r6结果仍仅对应各自历史输入;本轮未重跑测试。 完整新候选门禁、R1真实入口接入与12项公网义务仍开放。生产编号未启用、差旅仍冻结;不推送、不部署,不宣称发布资格。
16 KiB
2026-09-19 N5本地验收完成(未上线)
g20-full-r6从static完成同一冻结候选,4437后端通过/1原条件跳过、372本地浏览器全部通过。新旧BX的PC/手机列表搜索详情、新旧PB及混合报销实体对应、自然排序和真实合成报销付款整链均有证据;N5已勾选,本地编号N1–N7完成。不得把消费者mock当作真实PG取号证据,原并发/兼容/银行引用证据分别保留。
回执PARTIAL仅dirty_candidate,无部署资格;独立PENDING、生产编号未激活。剩余生产只读摘要、启用日期/启用、干净候选/提交部署及同候选公网验证须另获授权,旧号/草稿/银行引用不变。旧WebKit派生索引保护异常由09-06统一记录,无新增漂移,不修改原baseline。详细完整结果、来源/计时及证据入口见09-06 implement顶部;本次结束后仅补task记录,整体in_progress,不归档。
2026-09-19 四文件定向通过,接完整候选r6(当前入口)
r5-fixed-r2四完整文件31/31通过,浏览器约5.5分钟、受管总571.747秒,零跳过/重试;采购整链、R75四项、付款提交至归档全链及视觉25项通过。付款约244.773秒,保持300秒;视觉7组各180秒、25PC+8手机/33PNG全部完成、覆盖问题与findings为空。环境/source/repository/owner清理PASS。原r5完整FAIL与r5-fixed-r1登录跳转失败均保留,不拼接为完整通过。
P10采购提交后读取边界167/167及QA专用类型已通过;登录仅在无query/hash的规范/login复用,保留原表单/portal/profile断言。下一g20-full-r6从static开始普通完整候选,全部源码/测试/task/spec/docs冻结,只写本轮ignored证据;N5/G20及产品完整负载验收仍待终态,独立PENDING、生产编号未启用。
旧WebKit派生registry保护异常保留,原baseline不改;后续运行使用本轮独立WebKit副本,不下载或安装。禁止将一处已知漂移描述为全部旧材料零变化;无提交推送部署或真实操作。
2026-09-18 编号页面专项验收收口(本地,未上线)
- 新旧BX的PC/手机列表与详情、手机完整号搜索:最终用例1/1通过,17.756秒;受管环境总耗时268.462秒,输入不变及owner清理PASS,零重试。移动标题按现有header内精确文本断言,PC保持精确h1;没有修改产品以迎合测试。
- 新旧PB、完整查询、组批entityId、混合新旧BX来源、原顺序及UUID链接:browser-r3最终版本通过(18.517秒)。合成页面fixture只证明消费者,不冒充真实取号或审批;HK兼容另归原编号PG/银行文件证据,不计入此浏览器用例。
- 付款路由自然排序补含旧号、月号0002/0010/10000及同号ID顺序,完整本文件129/129通过;验证编号、ID、金额对应、原数组与读取零写入/审计。五个相关浏览器文件专用类型检查通过。
- browser-r2真实合成报销付款整链通过(254.846秒),覆盖财务同页进度、组批、复核执行、回单、核销/AP与归档。此结果保留原输入,不与多轮定向结果拼为完整发布门禁。
- N5继续等待09-06 G20普通完整门禁:全页面33路由巡检仍180秒超时(browser-r3到达13页);R75提交遇P2028(5412/5000ms),由09-18-local-concurrency-product-fixes的P9先分析、定稿再修复。不得直接加预算、缩覆盖或无变化反复重跑。
官方current仍为09-06-release-gate-integrity。本次仅增补六个测试文件及任务记录,编号产品实现/原冻结包不变;证据独占保存于numbering-browser-closeout-20260918。最终治理、保护及增量审阅摘要在该根单列,不倒签旧候选。主会话inline自检不替代独立审阅,独立PENDING、normalReleaseEligible=false;未读取生产编号分布、未激活线上编号、未提交推送部署。
2026-09-18 N5浏览器接续(未关闭)
官方current为09-06门禁task;编号本地冻结候选保持。新增两条浏览器消费者计划核对PC/手机旧新BX完整显示和搜索、旧新PB及混合来源实体对应;合成mock只证明页面消费者,真实取号/并发仍归原PG证据,审批付款仍须原整链。09-06 browser-r1已证明DG7/R3旧超时项通过,但全页面超时及认证失效仍开放;N5不提前勾选。
业务编号实施与验证
本轮执行状态
- 多角度复核、范围批准与最终技术合同。
- 迁移/策略管理、共享取号器与全部批准创建入口(含电子资料索引和项目导入),默认不启用。
- 单元与隔离PG并发/兼容/回退验证,银行文件与来源快照回归;完整浏览器门禁见后续项。
- 配置事实、文档/spec与保护检查,冻结本轮本地审阅候选(非发布回执);独立只读复核PENDING。
- 衔接原G20四未过及新完整门禁;生产摘要/启用、提交推送部署均未授权。
调研与实施清单
当前结果
2026-09-18:用户先确认报销按月,随后要求统一梳理并调研国内财务/OA/ERP做法,补充公司不足10人。已核实四份官方原始资料,结合当前执行树整理13类编号现状与建议,见design.md后半部。来源抓取/摘要/校验值在当前ignored证据 numbering-public-research/sources-and-findings.json。
- 核对现有报销、付款、借款/还款、采购、资产/盘点、项目及外部标识路径。
- 读取金蝶编码规则和总账参数、畅捷通T6官方图文、钉钉宜搭流水号说明;区分可配置能力与具体默认值,保留资料版本限制。
- 形成小团队建议:报销按月、低频业务按年、资产永久短号,外部与主数据编号保留;已选报销按月不自行替换。
- 针对已有实际业务补齐增量切换方案:全状态旧号保留、未编号旧草稿资格、银行客户流水号/行绑定、混合来源批次、持久化生效点及冲突/回退检查,见design.md末节。方案落盘不等于兼容实现已验证。
- 最新用户授权复核适合后实施,矩阵全部在用内部编号范围已确认。
- 补定稿技术设计与独占保护基线:338份原差异、10989份旧证据原文件,未覆盖旧结果。
本轮官方current切至本task并进入实施,09-06原门禁未完成事实保留。此前只访问公开厂商资料,不扩大为线上数据/配置查询。旧差异与冻结包保留,不提交、推送、部署或历史批量改号。
后续实施顺序(按批准范围执行)
- 报销:选定周期计数实现,固定一次业务时间和规则归属;新草稿按月,已有号保留,未编号旧草稿与历史缺号补号延续旧规则及原取号时机。持久化切换点/资格,覆盖在途事务和同格式已有号冲突。检查配置查询与实际取号口径,不能只改reset元数据。
- 财务低频单据:接入付款年度号、借款年度号、还款申请年度号;报销/本金还款共用PB序列,保持借款主体→借款→申请/分配→序列锁的既有锁序及幂等边界。
- 其他内部编号:处理采购/项目/盘点年度号及新资产永久短号;项目count+1替换为原子计数。员工、正式合同、发票/银行/企微来源编号与冻结差旅不改。
- 混合格式:核对列表/详情/搜索/自然排序/通知/打印和制单文件;既有审批与付款记录无改号写入。普通四位为最小宽度,超过上限扩位而不归零。
- 合成验收:新增周期/时区/跨年/扩位/回滚单测、隔离PG并发与占号不复用、旧草稿/旧待付款批次/已导出银行客户流水号及行绑定、新批次混合新旧来源、回退再启用等回归;独立只读review与生产前置摘要检查/切换另记,不据本地结果宣称上线。
验证入口与风险文件
按实际改动选择 server/tests/unit/documentSequence.service.test.js、报销创建/提交测试、付款编号与借款幂等/PG并发测试、项目及资产在用回归;不为了统一编号恢复冻结或退役旧代码。共享服务改动才扩展检查到其他调用者。
后端沿用 npm run prisma:validate、Vitest、相关源文件 node --check;本轮已实施共享机制,扩展完整后端单测。单据分类页仅补既有样式说明,运行前端 npm run typecheck 与 npm run build。文档另验task validate、Trellis治理、process baseline、docs registry与 git diff --check。
风险入口为 documentSequence.js、报销两个取号点、付款批次分配器、借款/还款创建、项目自动取号以及资产编号消费者。新旧规则可能曾存在自定义前缀,首次新规则计数需在锁与唯一约束下校验已有同格式记录,不假定从1一定无冲突。回退不能删除已经发出的新号或清零计数。
主会话多角度复核记录(2026-09-18)
| 角度 | 裁决与依据 |
|---|---|
| 小团队日常识别 | 保留BX月号;低频PB/JK/HK/CG/PD/PRJ年号,业务日期另列,不将每日从1误作付款数量 |
| 财务与外部材料 | UUID和原号均持久化;旧PB及entity_code不写回。BIFF8实际生成验证新PB与混合BX格式、原客户流水号及行身份 |
| 旧草稿/在途切换 | 采购numbering_version默认1且数据库禁止改写;新草稿创建时固定。历史缺号报销强制1;HK与对应PB复用一次上下文 |
| 并发和容量 | 锁内同格式占号与BigInt高水位接续,四位下限扩位。12路真实PG事务唯一;失败回滚与已创建后删除占号分验 |
| 切换与回退 | 迁移不激活;受控CLI未来时点、操作人和引用,全部写入实例兼容须操作人核实。策略启停等待共享锁;生效点和计数受数据库保护 |
| 自定义及导入 | 电子前缀原样保留,SQL字面转义与Unicode字符截取;真实PG特殊前缀占号验证通过。项目手工/CSV原号保留并登记高水位,导入dry-run零写入 |
| 权限/审批/本金 | 不改变原权限、审核或资金规则;启用新号的原借款HTTP16组检查通过,包含幂等、审批、真实合成文件转换、回单核验与付款回滚 |
| 维护和页面口径 | 一份v2共享服务,旧取号兼容保留,不扩建配置平台。现有配置读返回有效规则,分类页解释旧配置作用;沿用既有文字样式 |
| 交付边界 | 主会话inline检查不冒充独立复核;未读取生产编号分布、未启用线上。原G20完整门禁与公网义务另续 |
已发现并修复的本轮问题
- 原测试夹具无新增策略模型/共享锁,补足实际模型接口,产品不添加“模型缺失则legacy”的掩盖分支。报销创建夹具原来丢弃form_number,修成保存真实data以验证新号。
- PG占号查询的未定型SUBSTRING参数触发文本正则重载,漏掉已占用流水;修为显式int字符偏移,实际同格式0042→0043通过。电子前缀另验正则元字符与Unicode字符偏移。
- 第一次全量单测4410通过/1失败/1原条件跳过,失败是清洁包装器缺少供旧运维mock使用的DATABASE_URL;补不可连接的合成回环地址,不改旧业务或取真实配置。原失败日志保留,最终完整重跑单独记结果,不拼接定向绿。
- 银行文件测试沿用已有受控Python环境;未安装依赖或下载浏览器。首轮缺解释器环境的失败保留。前端已有Browserslist陈旧提示、docs registry既有22份未登记提示均保留,不扩展无关治理。
证据与复核边界
独占新根 artifacts/qa-layout/business-numbering-20260918;输入保护为338份旧差异与30目录10989份历史证据。旧文件快照、HEAD及index校验保持。verification-source.json固定1002份本地源码/测试/相关脚本输入;这是本次本地验证的选择集合,不是G20正式发布回执,也不证明公网状态。
numbering-pg-final.log:全部73迁移、9组编号检查与原借款HTTP16组通过,精确owner容器/临时目录清理PASS;两个列表有重叠,不能简单相加成25个独立用例。编号检查含真实项目CSV导入/管理CLI与幂等不占号;无真实凭据、企微发送或付款。旧规则未启用策略的借款DB/HTTP回归另列 legacy-loan-pg-final.log。
前端 client-typecheck、client-build 和 prisma-final 已通过;源码语法、Trellis/process/docs检查及差异检查单列回执。最终完整后端结果与冻结候选将在全部完成后回填。
必须保留的后续项
- 原G20四个浏览器未过继续按09-06/09-08合同修复,之后从static开始重新完整验收;此次编号验证不能抵扣。
- 只读独立复核编号schema/迁移、锁序、历史兼容与候选摘要,当前PENDING(inline限制)。
- 经单独授权取得生产格式/占号/缺号等脱敏摘要,确定未来切换点并核全部写入实例兼容;目前未查、未启用,不预排上线日期。
- 提交/推送/部署另需明确授权;部署后履行同候选12条公网检查。旧恢复、ARM、真实配置密钥备份和冻结差旅不在本轮操作范围。
最后复核补项:策略锁等待后的时间检查
发现setNumberingPolicy默认now在等待独占锁前取值;若等待跨过计划生效点,应该在锁与策略读取完成后取实际时刻再校验,不能按等待前时刻放行。为保持当前全量运行输入固定,先完成该轮,随后只修改此管理入口的默认取时位置,追加确定性时钟推进反例、相关单测及隔离PG复核;完整回归的原输入结果与后续小修输入分开记录,不拼为G20正式候选。
固定输入的完整后端回归已完成
backend-unit-full-final:223文件通过、1原条件跳过;4412用例通过、1原条件跳过,0失败,478.80秒。跳过的是原有deploy-init.integration,要求单独空合成库,未为编号扩大初始化门禁。1002份选定输入全程不变,回读 full-unit-source-verification.json 为PASS。
随后补策略管理两项边界,不能把这次局部变化后的输入声称为上述完整运行的原输入:锁等待后重新取时(先有 policy-clock-red 反例确认旧行为错误,再修复);对本身已使用相同月/年日期段的旧共享取号配置,启用/恢复保守拒绝并报告需专门兼容的类型,不在本轮擅自迁移自定义旧规则。源表内已有新格式号码仍支持锁内接续,两者含义分开。最终补验为 policy-final-unit 与 policy-final-pg;原G20新完整候选仍待执行。
本轮收口回执(本地,非发布放行)
- 完整后端:
cd server && npm test,4412 passed / 1原条件skipped,223文件通过 / 1跳过,0失败。其1002输入摘要单列,后续策略小修没有倒签到该结果。 - 最终策略补验:
policy-final-unit的11文件456/456通过;覆盖共享服务、所有相关创建/首次提交入口、电子索引导入、银行文件与项目导入既有合同。新增等锁跨生效点、旧规则周期重叠拒绝激活/恢复均通过。原red测试先证明缺陷,后修复通过。 RUN_ISOLATED_NUMBERING_DB_TEST=1 node scripts/qa/test-business-numbering-db.cjs最终policy-final-pgPASS:73迁移、10组编号断言和原借款HTTP16组(含重叠,非简单累加)。实际PG验证高水位/旧草稿不可改写、同格式已有号、Unicode/特殊前缀、12路并发、事务失败回滚、删除不复用、共享/独占锁、暂停恢复、导入dry-run/apply/update、管理CLI、原号快照、幂等不占号、真实合成BIFF8与借款付款整链。- 关闭策略的原借款回归:
RUN_ISOLATED_LOAN_DB_TEST=1 node scripts/qa/test-company-loan-db.cjsPASS,确认新增迁移默认无激活记录时旧链可用。两种策略状态均只用独占无网络合成PG;精确owner清理PASS。 npm run prisma:validate、前端npm run typecheck/npm run build通过。前端只有分类页说明,无新视觉方案;未安装依赖、未下载浏览器。- 文档/语法/保护终检与候选摘要见本轮ignored
final-checks.json、protection-result.json、local-review-candidate/manifest.json。它们不是部署候选/公网通过证明;原G20 FAIL和所有旧失败仍保留。 - 产品实现与本轮主会话验证完成;任务保持in_progress,N5浏览器完整门禁、独立只读review、生产摘要/启用及提交推送部署继续待办,不将本阶段完成写成整个项目完成。