2026-10-25,按用户授权将实际教学服务从 0.1.39 升级到 0.1.42,项目 CLI 保持 0.1.25。
使用公开发行包,五项 SHA256SUMS 均匹配。源码提交 a35722565a36a1aec18d3dbba32ef8faa87dbe31;JAR SHA256 51937008ec05283631ff4c88222e5489fa4ce960c7ff270370110b84495cce44。Java 17.0.12 / Python 3.11.5 / Windows。
先核对 18067 监听进程为本项目旧 PID 133260,停止后保留旧启动记录、完整运行日志与两份注册表副本,再按 Release README 和原始 PowerShell 脚本启动。当前 PID 93792,实际命令行指向 releases/launcher-0.1.42/foggy-runtime-launcher-0.1.42.jar,监听端口与 PID 一致。没有以 API schemaVersion 代替发行版识别。
日常启动入口已固定新 JAR 路径及 SHA256,仍委托发行包启动脚本。http://127.0.0.1:18067、runtime/work 不变;仅本机开发测试,securityMode=none-dev-test-only,Console/FAP 未启用。七个 Namespace 的原数据源绑定恢复,Bundle 和数据源注册表内容未变,没有重新注册、清理或改写业务数据。
| 范围 | 本轮结果 |
|---|---|
| 持久配置恢复 | 七个 Namespace 的绑定逐项核对;两份注册表与升级前相同 |
| 旧题代表回归 | 14 项通过:比较、calendar 滚动、可比期间、历史库存、耗时、同期群、明细、Pivot 平面/网格/TopN、父级占比、首末基准与层级树 |
| 第 26 章 | 5 项执行、1 项预期字段校验拒绝通过;47 → 20 → 20,入选金额 344.84,LEFT JOIN 59 位客户 |
| 第 27 章 | 10 项执行通过;两侧各 47 位、477.53;错配期间的 5 位差异与 40 位未匹配边界保持 |
| 第 28 章 | 10 项执行通过;前三客户 26、34、13,对应 7 张账单、75.36;跨期、截断与空集另验 |
升级兼容性按 14 项代表题+第 26、27 章 15 项执行及 1 项预期拒绝记录;第 28 章 10 项为新增教学验收。代表题与历史独立核对过的原响应逐字段比较,三章 Compose 请求另以原始行和 Decimal 独立核对。未将其写为全书、所有数据库或生产权限验收。
两条派生接口修复此前已在独立 18068 的下载 JAR 实测通过,见原请求复测。#164 支持计划对象作为 model;#163 明确拒绝非空派生 calculatedFields / having 并提供参数路径和替代建议,没有新增该派生计算能力。该轮独立服务已停止,旧版故障证据保留。
升级目录保留升级前后进程、启动记录、旧日志、注册表与发行校验;代表回归验收保留当前响应与命令。
第 26 章验收 · 第 27 章验收 · 第 28 章验收。历史 0.1.39 证据未覆盖。
教学服务运行时,在资料项目根目录按需复跑:
python -X utf8 lab/checks/verify-teaching-0.1.42.py
python -X utf8 lab/checks/verify-chapter26-compose.py
python -X utf8 lab/checks/verify-chapter27-reconciliation.py
python -X utf8 lab/checks/verify-chapter28-selection.py
本次已完成代表回归及三章实测,没有另开干净 AI 会话进行提示词独立验收。当前教学服务保留运行,供读者审阅后的后续工作使用。