返回正文目录

Launcher 0.1.35:第十七章问题复测

2026-10-22。按用户要求复测 #152、#153、#154。三项在本地 Chinook/SQLite 场景均已验证修复;滚动自然日需要显式 rollingMode: "calendar",省略模式保持 observed 并给出提示,不应再把默认行为当成自然日。

发行包与实际运行身份

升级后的 PowerShell Get-FileHash 曾遇到 SQLite 文件共享冲突,服务已就绪且身份检查通过;改用 Python 共享读取摘要核对成功,没有因此再次停止/启动服务。原迁移记录明确说明此采集问题;一次性脚本现改用共享读取,后续不应重新运行本次迁移。

复测步骤

  1. 保存 Release、issue 修复说明、下载摘要、旧启动记录、旧日志及注册文件,按原脚本切换教学服务。
  2. 使用第十七章原有 22 份 payload,不修改原文件;先 query validate,成功后 execute。每次记录原始响应与退出码。
  3. 为 rolling_7d、rolling_30d、带 padding slice 的 rolling_7d 增加三份显式 calendar 请求;再增加一份显式 observed 对照,共 26 项。
  4. 用只读原始 Invoice 行、Decimal 和实际日期边界独立核对全部结果,不能继续套用原“应复现错误”的断言。

结果

Issue 原用例复测 结论
#152 月 YTD 保持两个月粒度,10 月 402.29、11 月 439.91;只选日期的日 MTD 成功,11-27/28/29 累计 27.72/31.68/37.62;内部年月/日期依赖未泄露为额外输出列 通过
#153 原 rolling7、rolling30、日 YTD、日 MTD 的 value 均只返回 2012-11-27/28/29;累计仍含展示范围之前的年初/月初数据 通过
#154 显式 calendar 的 11-27 近七天为 3.96;默认/显式 observed 在原 padding 请求中仍为 4.95,默认请求给出 TIMEWINDOW_OBSERVED_DEFAULT 通过,需明确模式

自然日窗口正确返回:11-27 为 3.96、11-28 为 7.92、11-29 为 13.86。自然日 30 天也按日期边界逐日核对通过。

默认模式提示位于响应 data.warnings,本轮 diagnostics.warnings 仍为空。提示原文:

TIMEWINDOW_OBSERVED_DEFAULT: rolling uses N observed buckets; set rollingMode=calendar for N civil days or observed to retain bucket semantics

在原始 05 无 slice 请求中,observed 使用全部允许历史交易桶,11-27 为 41.58;在 09 的显式 slice 中,历史输入受硬约束,结果为 4.95。两者均不等于自然日窗口;修复后展示范围与计算历史已分开,不能再按旧结果盲目判断。

总计 24 项执行正确,2 项错误写法按预期拒绝。嵌套 LAG 仍返回 WINDOW_NESTED_AGGREGATE_UNSUPPORTED;rolling7 + month 现在直接返回 TIMEWINDOW_GRAIN_INCOMPATIBLE,带 phase/path 与调整建议。同比、环比、LAG、跨年/跨月累计、空期间、账单/明细汇总回归均通过。

证据与复跑

范围限定于 Chinook SQLite 的 SUM 窗口与上述请求;没有复测其他数据库、人工零上期、全部 rollingAggregator、生产权限或独立 AI 回答。GitHub 关闭状态只是修复说明,本报告结论来自实际发行包执行;本轮没有向 GitHub 追加评论。

第十七章已采用修复后的月 YTD、日 MTD 与显式 calendar 更新并自审,待用户审阅。旧初稿和 0.1.30 失败记录另存作历史依据。

正文补测(2026-10-22)

为确保正文比较完全同条件,本轮仅额外执行一份显式 observed 请求:复制 23-calendar7,仅将 rollingMode 改为 observed,不增加 slice。三日结果为 41.58、41.58、43.56,与原 05 默认 observed 相同;显式模式没有默认模式警告。这是主复测 24 项执行之外的 1 项补测。

证据见补测索引。正文比较表不用带 padding slice 的 09 请求数值 4.95,避免将不同输入范围混在一起。模型和数据库没有写入。