docs: record TEST inventory history rollout and verified turnover

This commit is contained in:
2026-10-15 14:20:01 +08:00
parent 265e270e72
commit 54d33faaa4
3 changed files with 26 additions and 5 deletions
+11 -3
View File
@@ -2,17 +2,25 @@
## 自营库存周转 TEST 发布与验收(2026-10-15)
历史库存还原实现已在本地完成并提交:后端 `99215bbb796248d4e3f6ad7897982678b363c072`,Admin `5e8c17c82fc6bef7340cb078ddc7660fc68dba10`;尚未推送、执行三表DDL、开启流水后台任务或发布本批代码。后端受影响257项测试通过(252项整组回归+新增5项针对性回归),前端38项测试、类型检查与构建及5项路由检查通过;独立DDL、Lastleg源基线和海外统一基线的三表定义完全一致,所有新字段有中文注释。端到端H2验证覆盖真实Mapper、任务/分页暂存、修订归并、独立锚点对账及原子日版本切换;重启从新尝试第一页开始、分页异常拆片、失效旧版、负库存/未知类型/缺覆盖拒绝、货主整体资格和固定版本导出均纳入检查。未以H2通过替代MySQL8真实执行、全仓容量或浏览器人工验收。
历史库存还原本批已按用户授权推送并发布:Integration、Lastleg 初版 `99215bbb796248d4e3f6ad7897982678b363c072`,Admin `5e8c17c82fc6bef7340cb078ddc7660fc68dba10`。TEST 的三张历史库存表已创建,60 个字段与源DDL逐项核对一致,保留原有销量和原始库存。Integration 标准发布 #115、Lastleg #323、Admin #612 均 SUCCESS,实际镜像与HTTP资源已核验;Admin Job 已恢复原分支及 lightweight 配置。后端受影响257项测试通过(252项整组回归+新增5项针对性回归),前端38项测试、类型检查与构建及5项路由检查通过;独立DDL、Lastleg源基线和海外统一基线的三表定义完全一致,所有新字段有中文注释。端到端H2验证覆盖真实Mapper、任务/分页暂存、修订归并、独立锚点对账及原子日版本切换;重启从新尝试第一页开始、分页异常拆片、失效旧版、负库存/未知类型/缺覆盖拒绝、货主整体资格和固定版本导出均纳入检查。未以H2通过替代MySQL8真实执行、全仓容量或浏览器人工验收。
13:40 Nacos 已按CAS更新并回读确认历史开关 true、天数60,但配置刷新遇到遗留 `execution-enabled` 输入:它在当前代码中是只读派生属性,刷新 BUSINESS 实例时产生 `No setter found`,导致新开关未生效、健康检查失败,后台尚无历史任务。只移除 application.yml 和环境示例的废弃输入并补真实YAML重复绑定回归,提交 `235b9469d974c78f182237029d9b6bb26c8bacf0`;91项相关测试、5项路由检查通过,Lastleg #324 已 SUCCESS,实际 digest `sha256:a3c46aa6d2213a60667f4da9a3c80cb4371748b07e01a09dcc3c6edb2083cb4c`、健康和绑定配置已核验。此前 backend-java #703 因Groovy编译失败、#704 因健康预检失败,均未执行容器重启;不计为两次成功部署。13:50 后台流水已实际开始,业务模式/持续采集/1200ms/唯一供应商出口均保持。13:53 两仓累计47,432条流水,已生成US01八天、US02七天日库存;已知样本八天日末与独立本地回放逐日一致,10/14为145件。初始补采中新增事实会使旧日版本失效并重算,当时稳定查询/排序/导出尚待本批结束后验收,最终结果见下段。WOPS类型已真实命中但语义未核准,关联日样本保留UNKNOWN,不据猜测计入正式周转率。
14:00 初始两仓60日加当日锚点尾段共122个流水任务均SUCCEEDED/FACTS_APPLIED,累计归并US01 120,176条、US02 20,298条,账号无暂停、无有效冷却、无在途请求。14:02复核两仓均已发布2026-08-16至10-14连续60个有效日头,invalidated=0;122个流水任务及11个还原构建任务全部成功。US01每日日样本合格5,309个SKU、待核验114个;US02合格1,058个、待核验4个。最终有效版本的独立已知样本最近30个日末与本地逐日回放完全一致。14:02真实HTTP九请求核验两仓各200行的一天窗口周转公式、升降序及跨页顺序,全部通过,样本10/14日末145件;14:04补验两仓30天货主多选、摘要/图表合计、重复去重、恢复全部、固定版本全页数据,共26请求通过,1,016行非空周转公式逐行一致。14:05使用已部署Admin精确提交的真实导出函数,读取704行、生成25列CSV,逐格百分比及补充历史来源/天数/期间列通过;独立样本平均日末95.6件、期间出库29件,显示周转率30.33%。此为实际函数与HTTP数据验证,不冒充人工浏览器下载或视觉验收。业务服务健康、唯一供应商出口及1200ms仍确认;原销量、原始库存、持续采集保持。用户另授权两个既有对话并行只读验证,具体边界见协作登记;不增加领星请求或发布。
并行只读验收确认140,474条流水与采集暂存的内容哈希、变动量和结存量差异为0,122个来源页计数一致;独立保存的77条原始流水另行回放,样本60/60日末一致。UNKNOWN包含US01 WOPS13个SKU/DFT_ORD98个SKU、缺独立锚点2个SKU,US02 WOPS4个SKU,均按未验证类型或缺证据保留未知;另有US01一个SKU的同秒100条唯一余额链被8条枚举上限误判,已按用户授权移交“库存分析-2”最小修复;43项history回归通过(含8,004组小图完整枚举对照、乱序100条及2万条长链),总控审查后提交 `22d79e08f91dcadcacdf19a14b21b097462b260d` 并仅发布Lastleg #325 SUCCESS,实际digest `sha256:d6c509db55ab122c0fea99d69c59a22c0beb356edc4159072ae31e66ad30a823`。公开口径保持FLOW_EOD_V1,内部计算修订2进入构建签名及证据,自动使用既有流水重算。首次发布前只读Jenkins请求连接失败、postSent=false,确认没有队列/构建/镜像后重试,实际只触发一次#325;Integration和Admin不重复发布。14:19最终两仓均60/60有效日头且计算修订2,误判SKU的60个UNKNOWN消除;US01每日合格SKU升至5,310、剩113个待核验,US02仍合格1,058/待核验4。受影响SKU真实HTTP四请求通过:30天平均日末1,418.766667件/出库990/周转0.697789,60天平均1,744.316667件/出库1,382/周转0.792287;全窗口资格分别30/30、60/60。服务健康、唯一出口保持,领星计数始终27,937,证明本地重算未新增来源请求。“库存分析-2”此前因该对话在途列任务未执行HTTP包,30天查询与导出由总控收回完成。
最终运行版本为Integration `99215bbb7962`、Lastleg `22d79e08f91d`、Admin `5e8c17c82fc6`。部署/DDL/配置/请求及查询证据保存在后端target的 `selfop-history-schema-create.json`、`selfop-history-config-enable.json`、`selfop-history-*-release-*.json`、`selfop-history-runtime-chain-after.json`、`selfop-history-chain-final.json`、`selfop-history-http-30day-final.json`、`selfop-history-http-chain-final.json`、`selfop-history-http-csv-after-chain.json` 与 `history-review-collection-summary.json`。人工1920×1080视觉、实际浏览器下载和次日自动续跑仍须在相应时点确认,不把程序化接口/导出函数检查替代这些验收;后台日增量配置保持开启。
本地真实响应回放用新Java算法处理既有77条流水,三个独立库存观测点全部一致,30个日末结果与逐日核验记录一致;平均日末库存95.6件,同期出库29件,周转率30.334728%。这一回放零新增领星请求、零共享库写入,只证明该样本。新增类型及两个仓库的全量覆盖仍必须随实际受控采集逐SKU/日期核验。证据在后端 `target/selfop-history-final-tests.log`、`selfop-history-final-hardening.log`、`selfop-history-context-final.log` 与本地 `HistoryRealResponseReplay`;原始数据和真实主体标识不入Git。
待授权批次:仅在 `baiyue_lastleg` 执行 `lastleg-service/src/main/resources/db/selfop-inventory-history.sql` 新建三表,保留全部销量/原始库存;按精确提交依次构建部署 TEST Integration、Lastleg、Admin。Lastleg 新增配置 `baiyue.self-operated-analytics.inventory-history-enabled=true`、`inventory-history-days=60`,只在表结构及服务健康验证通过后开启,先30日再60日;业务账号/仓范围沿已有配置。流水每页共享原账号出口,现有1200ms、冷却和人工停止保持,销量/当日库存优先。版本发布、首个整仓片覆盖、至少一个SKU实际日末及查询/排序/导出一致性、次日自动续跑分别验收;不能把发布成功当两仓历史补齐。
已授权并执行的批次:仅在 `baiyue_lastleg` 执行 `lastleg-service/src/main/resources/db/selfop-inventory-history.sql` 新建三表,保留全部销量/原始库存;按精确提交依次构建部署 TEST Integration、Lastleg、Admin。Lastleg 新增配置 `baiyue.self-operated-analytics.inventory-history-enabled=true`、`inventory-history-days=60`,只在表结构及服务健康验证通过后开启,先30日再60日;业务账号/仓范围沿已有配置。流水每页共享原账号出口,现有1200ms、冷却和人工停止保持,销量/当日库存优先。版本发布、首个整仓片覆盖、至少一个SKU实际日末及查询/排序/导出一致性、次日自动续跑分别验收;不能把发布成功当两仓历史补齐。
12:18—12:24 按用户“先在本地核验再实现”的授权追加25次有界只读请求,其中24次为既定小范围核验,另1次仅追查已命中的品质转换业务单。22次流水查询、3次产品库存查询,均HTTP200/业务码200,最小请求起始间隔7.138秒;每次前后只读检查账号无待执行/运行任务、活动租约、暂停、冷却或pending请求,12:26收尾检查仍为空闲。没有停止原采集、改配置、部署、SQL写入或业务导入。本地诊断请求以私有intent/response/summary单独记账,未计入平台任务计数。
本批234条去重流水:DO153、IMO32、PA2、IAT35、RI12;其中正品228条、次品6条。已核验包含端点及前后排除、原32条SKU流水分页等价、跨两个货主的完整小片10条在不同页大小下集合一致。IAT完整窗口35条,7正28负;10组同品质移库净额0。额外定向取得一个完整IMO单12条,6个SKU正品−17/次品+17、总实物净变化0,证明该样本是品质转换。六次响应出现空首分页size10;定向零库存样本在隐藏开关0时明确返回零、1时不返回。US02只读首分页及空片,不记为全仓覆盖验收;BO/OBIAT未命中,不解释为永久不存在。同链同秒样本存在,未据此建立ID顺序合同。
本地Java回放复现了现有流水适配对合法空页报 `SIZE_MISMATCH`,随后开始最小实现:只为流水合法空首分页归一化sourceSize10,保留非空、页码、页数与未知页大小拒绝,库存和其他出库页大小策略不放宽。含此前字符串ID修复的72项定向测试、5项路由检查、实际空响应及原77条响应回放通过;回放没有新增供应商请求。当时历史三表与日发布尚未实现,后续本地实现见本节顶部,TEST尚未更新。脱敏核验为后端 `target/selfop-flow-semantics-audit.json`,测试为 `target/selfop-flow-semantics-tests.log`;原始响应与真实主体标识仅保留私有目录。字段与实施限制已更新接口手册和设计主文档。
本地Java回放复现了现有流水适配对合法空页报 `SIZE_MISMATCH`,随后开始最小实现:只为流水合法空首分页归一化sourceSize10,保留非空、页码、页数与未知页大小拒绝,库存和其他出库页大小策略不放宽。含此前字符串ID修复的72项定向测试、5项路由检查、实际空响应及原77条响应回放通过;回放没有新增供应商请求。当时历史三表与日发布尚未实现,后续本地实现见本节顶部,当时TEST尚未更新;后续发布见本节顶部。脱敏核验为后端 `target/selfop-flow-semantics-audit.json`,测试为 `target/selfop-flow-semantics-tests.log`;原始响应与真实主体标识仅保留私有目录。字段与实施限制已更新接口手册和设计主文档。
11:46 按用户对精确提交 `d81d9cbda4c80dcc65001c45e83d8234495c92a5` 的授权,完成库存流水诊断补丁:Integration预构建#114、backend-java #701 SUCCESS(digest `sha256:98bbef793085a47f368bc2ad59e4f263ab7abbc10ac241b0c117ac9db41f03b0`);Lastleg预构建#322、backend-java #702 SUCCESS(digest `sha256:76b7ec8bfd7ed8d91bd0ec04df1e78c049a12f97af28012a8884a1fd035101d6`)。两服务按顺序各部署一次,实际digest、健康、唯一供应商出口及BUSINESS/continuousEnabled=true/1200ms均核验通过。无DDL、SQL写入、Admin或Nacos更新。发布前2条13号WAITING_SOURCE旧标记不在调度due集合;实际READY/RUNNING/RETRY_WAIT、有效租约及pending HTTP为0,未处理或改写这两条旧记录。