返回正文目录

Launcher 0.1.29 更新与实操复测

2026-10-21。QM 具体列 name/alias(#146)与 DISTINCT 排序(#145)通过;专用成员接口仍异常,已登记目录的重复校验也失败,后者与已关闭 #106 的症状一致。 日常教学入口已升级到 0.1.29,保留原模型;第十三章未开始。

后续按用户授权已提交:成员接口 #148、重复校验疑似回归 #149,并在 #106 补充关联评论。两份正文及评论已回读核对,包含发行身份、0.1.29 复现步骤、源码、原始响应和脱敏日志;#106 保留关闭状态。

运行环境

安装与验证顺序

  1. 下载、校验发行资产,阅读 README、启动脚本与本版本 QM 命名合同,启动独立实例并等待就绪。
  2. 核对 capabilities;登记 SQLite 副本、测试连接、绑定 Namespace、探查五张相关表。六个教学模型副本在首次登记前校验全部通过,再登记、刷新、读取实时元数据。
  3. 重放 0.1.26 的三个 QM 别名请求及 issue 最小复现,补测不同 name/alias、兼容字段与错误用法。
  4. 重放 DISTINCT 原问题,补升降序、分页、末页、total 与最终 SQL 核对;执行已有章节有限回归。
  5. 复查成员接口,在重启后的新进程再查;检查模型更新前的重复校验。失败请求未执行,失败模型校验未作为可发布依据。
  6. 用新 Namespace 验证候选别名稿首次登记及第十二章全部 11 个示例。这是隔离验证,不算同 Namespace 的模型更新流程通过。
  7. 试启内嵌 Console;随后升级日常教学入口,核对身份与关键查询,停止独立测试实例。

已通过的部分

范围 结果
#146 最小原始请求 JSON/Markdown 公开新查询名称;validate、execute、explain 通过,Iron Maiden / 90 / 34 条 / 33.66
name 与 alias 不同 查询 albumArtistName,返回键 artistLabel;已选输出别名可排序
旧字段兼容 同一 QM 使用旧 artist 字段仍返回旧键与相同数据
#145 DISTINCT 119 位成交艺术家,升序、降序、第二页、末页及 total 正确,最终 SQL 含 ORDER BY
第九至十二章有限回归 15 项与已验收结果一致,覆盖 having、固定均额、环比、LAG、关联排名、分页和下钻;均额另用 Decimal 核对
第十二章候选别名稿 11 项先校验后执行,与原基线一致;仅在新 Namespace 首次登记场景验收
日常教学升级后 DISTINCT 119 组有序、全年金额 477.53、十月/十一月环比与原基线一致;模型、数据和两份注册文件哈希均未变

候选名称为 albumId、albumName、albumArtistId、albumArtistName,具体 ID/caption 列同时设置同值 name 和 alias。读者只需记住:name 用于查询,alias 决定返回键;正文可先把两者设为相同值。

仅设置 alias 不会自动把它变成新的查询标识。整维度 ref 的 alias 也不提供展开前缀重命名;0.1.29 按合同保留原展开并记录 QM_DIMENSION_NAME_OVERRIDE_IGNORED。这两种旧探查仍被新名称查询拒绝,不算 #146 修复失败。输出别名作为独立输入字段的反例也被校验拒绝,未执行;实际诊断是 QUERY_VALIDATE_FAILED,不是预填的 FIELD_NOT_FOUND。

仍存在的问题

专用 members 接口

原请求及重启后请求仍失败:

members list ChinookInvoiceLineQueryModel artist
→ code 200,但 total=3503,前两项是曲目 For Those About To Rock…、Balls to the Wall

members list ChinookInvoiceLineQueryModel artist$id
→ code 500,query model slot/name mismatch: ChinookInvoiceLineQueryModel#album

members list ChinookInvoiceLineQueryModel albumArtistId
→ code 500,cannot resolve synthetic member-QM from fieldName: albumArtistId

CLI 均退出 2,响应仍是 code/data 或 code/msg 格式,缺少 success 信封。物理 Artist 目录有 275 项,3503 是 Track 数量;上述结果不能当作有效艺术家目录,更不能与 2012 年成交的 119 位混为一谈。

重启后先调用 artist$id 也出现 slot/name mismatch,因此不能仅归因于此前先请求 artist 的顺序。这里未定位根因,也未把它当成 #145/#146 的未修复部分。第十二章仍可用已通过的 QM 分组/DISTINCT 查询发现成交成员。

已登记目录再次校验报资源重复

同一六文件目录首次在新 Namespace 校验通过;已经作为 Bundle 登记后,再执行:

models validate --models-dir <已登记的同一路径> --include-stack-trace
→ MODEL_VALIDATE_FAILED / CATALOG_VALIDATION_FAILED
→ 3 个 TM 通过、3 个 QM 失败
→ duplicate query model resource in namespace: ChinookInvoiceLineQueryModel

重启、显式 --clear-existing 后仍出现。相同文件在新 Namespace 首次校验又是 6/6 通过;这提示应排查候选校验与已有资源的合并/去重,不能直接判定模型源码写错。原目录只有六个 TM/QM,注册表只有一个相应 Bundle。

与已关闭 #106 症状相同,属于疑似回归,具体根因待确认。本轮保存复现,未自动重开 issue、未删已登记 Bundle 来伪装模型更新通过;隔离 Namespace 只用于确认模型及别名查询本身有效。

随后已按用户授权创建 #149 并关联 #106;未变更 #106 的原关闭结论。

Console 与后续安排

默认启动的 Console 页面、Analytics capabilities 均为 404;显式 -AnalyticsConsole 后,/analytics-console/ 返回 200,/analytics/api/v1/capabilities 返回成功,direct Analytics lane 可用。这里只验收入口和能力声明,没有进行浏览器交互或自然语言问数,未配置/发布 FAP 资源。

优先处理上述成员接口与重复校验。随后在日常教学 Namespace 完成正常“修改 → 校验 → 刷新 → 实时元数据 → 查询回归”,再把第十二章候选别名稿转为正式示例。下一章仍讲查询范围与权限,之后讲模型维护、Console/FAP;不在本轮提前进入新章节。

证据与复跑

完整证据:launcher-0.1.29-retest。

本轮由当前 Codex 会话实际执行公开 CLI。未另开干净 Codex 会话仅靠短提示词验收,未做 Text-to-SQL 多次生成对比、生产权限验收或全量引擎测试。历史 0.1.25/0.1.26 证据均保留。