2026-10-25,Launcher 0.1.42 / 项目 CLI 0.1.25,Java 17.0.12,Python 3.11.5,openpyxl 3.1.5。沿用文件实验的独立 127.0.0.1:18368,匿名开发测试,Console/FAP 关闭。原 18067、Chinook 原库、第 29 章输入与模型保持不变。
本系列用原始 2012 年 83 张账单作为可核对基线。第 30 章的格式问题与三条待确认记录、第 31 章的重叠/追加/更正、第 32 章的旧字段与状态、第 33—34 章的目标都明确为教学改编。来源说明与第 29 章原始行保留。
本批金额统一标为教学元,不声明 Chinook 原币种。第 30 章按元/分规范化;第 32 章 v0 存分,在模型定义中除以 100。后续查询不再重复换算。第 31 章更新只改变独立文件案例,不进入第 32、33 章的原始实际账单。
| 章 | Namespace | 数据与模型 |
|---|---|---|
| 30 | file-cleaning |
不规范报表 → chapter-30/data/analysis.sqlite;TM / QM |
| 31 | file-monthly |
文件清单 → chapter-31/data/analysis.sqlite;TM / QM |
| 32 | file-legacy |
../series-data/legacy.sqlite,模型内只读视图;TM / QM |
| 33 | file-target-analysis |
系统 QM 有界提取+v1 目标,同库准备;实际 TM / QM,目标 TM / QM |
| 34 | file-regression-current |
候选数据源和 Namespace 按运行分目录;当前验收记录指向已验收 v2,保留第 33 章 v1 入口 |
模型校验、加载后获取的实时 Markdown 放在各章 evidence 下;这些是本次证据快照,不是手工维护的元数据输入。
| 章 | 实际执行与边界 |
|---|---|
| 30 | 4 项语义查询通过;83 条可确认记录 / 477.53,20 国、全量明细及前导零核对;3 条待确认单列,1 个空行和1个合计排除。默认存在待确认记录时不发布,只有明确允许部分接入才处理已确认部分 |
| 31 | 7 项语义查询通过;去重后 83 / 477.53,追加后 84 / 487.53,更正后 84 / 488.53,重复运行不增加记录;84 条最终明细独立核对。无声明冲突与缺月两项准备层拒绝,数据库不变 |
| 32 | 3 项语义查询通过;原表 85 条,模型只含 83 条有效账单 / 477.53,客户汇总一致,作废/草稿不入结果;未公开 v1 字段校验拒绝,未执行。源库摘要不变 |
| 33 | 6 项查询通过,含通过系统 QM 提取的 83 行;实际 47 位客户、目标 5 位、匹配4位、实际未匹配43位、目标未匹配1位。0 目标客户 00002 的完成率为空,未匹配 00999 的实际为空;重复目标在写入前拒绝 |
| 34 | 两轮完整成功流程各 8 项执行,目标 v1 合计85、v2合计90,实际均83 / 477.53;另验证输入版本拒绝、切换后模拟复查失败的恢复,最后再查询目标仍90 |
第 34 章故障注入流程在失败前执行了7项候选检查,独立保存于失败运行报告,不将其计为第三轮成功发布;另有1项失败后读取。早期在第 33 章入口试跑的原型报告也保留,不计入最终独立发布入口的两轮成功计数。
复审后补清第30章“仅包含已确认部分”和第32章“仅有效账单、金额已换算”的 QM 说明,刷新实时 Markdown 后各复查总量1次,结果不变;这两项另计为元数据调整后的复验,不混入上表核心用例数。
30—33 章验收汇总 · 30 整理审计 · 31 拒绝记录 · 32 验收 · 33 验收 · 34 流程与失败验收。各章 queries 保存实际请求,evidence 保存 JSON/Markdown、命令、退出码和执行结果。
公开 CLI 为唯一引擎查询入口,全部请求先 validate,Compose 再 preview 后 execute。Oracle 使用只读原始 Invoice 行和 Decimal;第 31 章只按已声明的教学新增/更正构造独立预期,第 33 章同时读取已确认教学目标,不拿引擎生成 SQL 当作独立答案。源字段、行粒度、金额、顺序、缺失与真实零分别核对。
第 32 章初写模型时同时配置 tableName 与 viewSql,文档规定 tableName 优先,导致查询旧表字段失败。已去掉 tableName,按正确 viewSql 写法重验通过;最初调用快照保留,归为调用写法问题,未报引擎 BUG。
不规范报表中的 =1+1 有缓存值2,见公式核对。本例导入合同仍拒绝所有公式行;没有在本机 Excel 中进行依赖重算。Artifact Tool 预览对数字文本的前导零显示可能与保存文件不同,正式验证使用保存后的 XLSX、实际解析和语义查询,不以预览替代数据证据。
没有新增引擎问题。此前直接跨源校验缺口仍单独保留,未提交 GitHub;第 33 章使用准备层同库快照,不是原生跨源 JOIN。WWI 未引入,Memory Grid、任意文件自动推断、生产身份及性能未列为通过范围。没有另开干净 AI 会话只凭正文提示词验收。
使用带 openpyxl 3.1.5 的 Python,文件服务在 18368 运行。以下从资料项目根目录执行,先确保对应输入和旧库已经准备;不会操作18067。
python -X utf8 lab/checks/prepare-file-series-fixtures.py
python -X utf8 lab/checks/verify-file-series-30-33.py
python -X utf8 lab/checks/prepare-file-pipeline-current.py
python -X utf8 lab/files/tools/run-file-regression.py --target lab/files/series-inputs/Targets2012-v1.xlsx --version v1
python -X utf8 lab/files/tools/run-file-regression.py --target lab/files/series-inputs/Targets2012-v2.xlsx --version v2
python -X utf8 lab/checks/verify-file-pipeline-failures.py
第 30 章样例与目标工作簿由 Artifact Tool 构建器制作,已保存输入,不是分析运行依赖。准备层代码与查询核对是样例专用实现;更换文件必须先确认新的类型、键、范围与单位。
第 34 章脚本按已审核 v1/v2 基线运行候选验证;成功后切换绑定并复查,再记录最新已验收运行。故障验证脚本在当前会话故意注入切换后失败,不要把该脚本当成日常发布入口。更改业务基线须人工审核,不得让回归脚本用本次结果自动覆盖期望。
历史输入、快照、候选注册和日志本轮均保留,没有递归删除或后台清理。当前绑定使用哪个快照,以 latest-accepted 和 CLI binding 为准。清理时先排除仍被引用的运行,按公开 Bundle/数据源接口解除本隔离实验的注册,再处理明确属于该运行的目录。