第一阶段第37—40章已在独立Namespace完成性能与持续运行实操:12项正常执行、2次解释。预聚合刷新与分页对账通过,缓存命中不作已验证结论;原始库保持。正文到40章,交付稿待用户审阅发表。
第35章新增语义SQL实操:复用18368上的file-legacy模型,当前Codex将SQL意图转为DSL;4项语义执行及1项字段拒绝通过。0.1.42公开入口核对未发现原生SQL解析器,模型、数据与注册保持,未重启服务或操作18067。
第36章新增转换含义核对:7项正常查询、1项故意改错的执行、1项别名校验拒绝。均额、空集和47位客户同额排序独立核对;错阶段请求虽通过校验,却不保持原SQL含义,按教学对照单列。
文件系列使用独立 lab/files:Launcher 0.1.42 / CLI 0.1.25、18368,原18067保留。第29—34章已整批实操与自审,见新增系列验收。原生临时 QM 与直接跨源能力的边界见入口核对,既有跨源校验缺口仍单独保留,未提交 GitHub;第29章原13项与重启2项不混入后续计数。
建立日期:2026-10-17。进度更新:2026-10-25。当前教学入口为 Launcher 0.1.42 预发布版 / CLI 0.1.25。第26—34章已实际验证,本批文件系列完成自审待阅;FAP 尚未接入。下方逐章历史记录保留原版本。当前升级与验收。
第十三章单独使用 18068 Runtime、18070 演示权限服务与 chinook-scope,两个服务均已收尾停止,18067 未动。11 项查询执行与 5 项预期校验拒绝通过;数据/旧模型保持。见权限实操记录。
18067 当前为 Launcher 0.1.42 预发布版 / CLI 0.1.25。 当前 PID 为 93792,实际启动信息见 runtime/launcher-start-current.json。本次 14 项旧题代表回归、第 26、27 章 15 项执行及 1 项预期拒绝通过;第二十八章新增 10 项执行通过。旧版层级补充、Pivot 验收及时间系列验收分别保留原阶段计数。
时间系列第 19—21 章使用 time-business 与独立教学库、7 对 TM/QM。#158~#161 已在 0.1.38 发行包及实际教学端口复测通过,空值输出与诊断说明已同步;旧版故障保留历史证据。实验与复跑 · 当前结果 · 历史问题。
第二十二至二十五章使用 chinook-multidim 与独立副本,当前主 Bundle 共 11 个 TM/QM 文件。0.1.38 的 Pivot 校验问题已在 0.1.39 原请求复测修复,树形、分页分母和人工边界均有实际结果;见实操与复跑。
| 项目 | 本次环境 |
|---|---|
| 开发工具 | Codex 桌面端、PowerShell 7.6.5 |
| Python / Java | Python 3.11.5 / Java 17.0.12;CLI 要求 Python >= 3.11,Java 17 为本次实测版本 |
| CLI / Launcher | 0.1.25 / 0.1.42(预发布版),公开发行包;项目内虚拟环境不改系统 CLI |
| Skill | 本机已有两个 Skill,保留定制;下载并校验 0.1.18 正式包,接入步骤与发行参考核对。没有覆盖全局安装 |
| Runtime | http://127.0.0.1:18067,仅 loopback;none-dev-test-only;Console/FAP 未启用 |
| Namespace / 命名数据源 | chinook / chinook-sqlite |
| 练习副本 | 练习目录\lab\data\Chinook_Sqlite.sqlite |
| 默认 SQLite | Launcher 另有空的默认库;本章操作通过绑定使用 Chinook 副本 |
| 语义模型目录 | 练习目录\lab\models,现有四对 TM/QM,另有普通与聚合关联两个 QM;Bundle 为 chinook-teaching |
| 运行状态 | 练习目录\lab\runtime\work |
| 证据目录 | 练习目录\lab\evidence\chapter-06 |
当前 Launcher 依据:0.1.42 manifest、发行说明。第六章原稳定清单及旧版本文件保留作历史证据,当前启动入口不再调用旧 JAR。
Chinook 来源为官方 v1.4.5。原件、许可与来源保留在资料目录,实验只使用副本。固定文件 SHA256 为 bdf635be69850bd3be09c9a2dbeef7ddfb80036bd3ef3381383cd03b61e4a61a。
新读者先把稳定组合入口交给 AI,取得当前推荐 Skill 的正式 ZIP,校验后读取 SKILL.md 与 references/public-onboarding.md。先阅读下载到的说明,再按指引安装 CLI、正式安装 Skill,并获取稳定清单中的配套 Launcher;这条起步路径不要求本机预先已有 CLI。
以下准备步骤保留第六章的 0.1.24 固定组合。2026-10-18 的 Skill 下载链路核对见入口核对记录。当前 start-runtime.ps1 已改用 0.1.42;新机器需准备 lab/releases/launcher-0.1.42 发行资产并校验,当前步骤见升级记录。已有教学环境不用重复注册。
先有可用的 Codex、PowerShell、Python 3.11+ 和 Java。进入本实验目录后执行:
Set-Location '练习目录\lab'
.\checks\prepare-chapter-06.ps1
.\start-runtime.ps1
.\foggy.ps1 wait-ready --timeout-seconds 45
.\foggy.ps1 capabilities
准备脚本会校验发行文件、在项目内安装 CLI,并准备数据副本。已有文件先校验,不覆盖数据;没有副本时从 Chinook 官方下载。也可以通过 -ChinookSource 指定已下载的原件。本次最初使用本地原件复制,并通过正式安装脚本把 CLI 安装到新建虚拟环境;随后用准备脚本复跑检查。
新读者尚未安装 Skill 时,可使用已校验的正式 zip 安装:
$cliPath = Join-Path $PWD 'tools\cli\Scripts\foggy-runtime.exe'
& $cliPath skills install foggy-ai-analysis --zip '.\downloads\foggy-ai-analysis-skill-0.1.18.zip'
& $cliPath skills install foggy-semantic-query --zip '.\downloads\foggy-semantic-query-skill-0.1.18.zip'
这两条是首次安装说明,本次已有安装,未执行覆盖;已有定制内容时应先核对差异。安装位置由 CLI 管理,使用时确认 Codex 能读取两个 Skill。
检查就绪和所需能力后,首次注册并绑定:
$dbPath = (Join-Path $PWD 'data\Chinook_Sqlite.sqlite') -replace '\\', '/'
.\foggy.ps1 datasources add --name chinook-sqlite --type sqlite --jdbc-url "jdbc:sqlite:$dbPath"
.\foggy.ps1 datasources test chinook-sqlite
.\foggy.ps1 datasources bind --namespace chinook --data-source chinook-sqlite
.\foggy.ps1 datasources binding --namespace chinook
.\foggy.ps1 datasources diagnostics
.\foggy.ps1 tables list --no-views
.\foggy.ps1 tables list --data-source chinook-sqlite --no-views
.\checks\verify-chapter-06.ps1
每条命令都要检查退出码与响应 success;失败时查看 error 和 diagnostics,不能继续把后续结果记成通过。已有环境通常只需运行验收脚本,无须重复注册。foggy.ps1 只是本教材的 CLI 封装,并非产品新增接口。
当前 Runtime 已运行;本次升级启动见0.1.38 启动记录。日常入口将最新启动信息写入 lab/runtime/launcher-start-current.json,不覆盖旧章节证据。启动入口遇到占用端口会停止,不会接管或终止其他服务。
关闭本项目 Runtime 前,按启动记录的 PID 核对进程确实属于本实验,再停止该进程。再次执行 start-runtime.ps1 和验收脚本即可检查恢复;已有数据源与模型无需重复注册。
数据源注册文件的实际路径为 练习目录\lab\runtime\work\runtime-datasource-registry.json。该路径来自启动参数和 Runtime diagnostics;重启检查只证明本章数据源与绑定恢复,不代表未来 TM/QM、权限和在线问数也已验收。
主要证据:准备检查、Runtime 能力、数据源诊断、验收摘要、重启验证。完整 CLI 响应保留在证据目录;端口、命名空间及业务表范围都来自本次实际执行。
正文以 Codex 为已验证入口,其他具备本地文件读写和命令执行能力的 Agent 工具可以采用同类流程,具体工具与 Skill 接入另按实际支持配置,尚未逐个验收。读者无需先学习终端种类;本说明保留真实命令,便于复跑。
选用 Codex 的费用说明参考 OpenAI 官方订阅额度说明:使用已有订阅额度与另行按 API token 计费属于不同路径,不代表模型不消耗 token。DeepSeek Harness 参考官方仓库及终端能力说明。
沿用当前连接与组件,完成五张表结构探查、10 份只读 SQL、412 张账单逐张对账及 2012 年十二个月基线的 Decimal 独立复核。正文按用户要求暂定;详细口径与运行方法见第七章探查与复跑记录。第七章本身没有新增服务、数据清洗或语义模型。
创建账单与明细两个 TM/QM,4 个文件校验通过,登记模型目录、刷新并读取实际公开字段。12 个成功查询用例与原始行、Decimal 独立结果一致,1 个主动构造的错误字段请求在校验阶段被拒绝。客户 Top 5、全库与 2012 年/十月/十一月统计、分类汇总和明细样本均已核对,详见第八章实操记录。
本轮当前 Codex 会话真实调用 CLI,未另开干净会话只发送正文提示词;未验证模型重启恢复、生产权限或 Console/FAP。已登记目录重复校验的问题及本地处理方法保留在实操记录中。
沿用账单 QM,实时读取元数据,执行国家值查询、日期/国家/金额筛选、IN 与 OR 等价对照、HAVING 与单张金额筛选对照、空结果共 8 个用例。原始行与 Decimal 独立核对通过,21 张美国账单、5 张美加大额账单和 5 位全年累计超 20 的客户均已逐条核对。模型、源文件和副本未修改。
正文及证据见第九章实操记录。本轮未另开干净会话做提示词验收,没有新增服务、身份权限或在线问数验证。
服务关闭后用原脚本恢复本教学 Runtime,原绑定和账单 QM 可用。先验证临时计算,再向账单 QM 增加固定指标 averageAmount,四文件校验、刷新及元数据确认通过。11 个查询经校验、执行和原始行/Decimal 独立核对:83 张账单、47 位涉及客户、均额 5.753373…;固定与临时均额的全年、20 个国家及空期间结果一致,占比分母与 Top 3 也已验证。
见第十章实操记录。仅账单 QM 新增公式,其他三个模型文件与数据库未修改;未执行历史 SQL 对照或用户暂缓的多次生成正确性评测。
初轮新增时间分析 TM/QM、六文件校验与五个基础查询通过;旧版失败和工具外算证据保留于历史记录。
当前教学服务已升级为 0.1.25。timeWindow 月度环比、跨年和同比、LAG 别名与后续计算均通过;十一月差额 −5.00、约 −11.73% 由引擎直接返回。缺上期、空期间、错误嵌套聚合拒绝及原账单/明细回归均已核对,总计十项执行正确、一项预期校验拒绝。正文复审后用户确认进入第十二章,见实操与复跑方法。
0.1.30 / CLI 0.1.25 已通过 #148/#149 复测,正式教学 QM 与本章 payload 已使用具体列 name/alias,原 Namespace 的模型更新及 11 项查询通过。成员目录 total 和实际返回页已核对;正文自审后待用户审阅。见最新复测。0.1.29与0.1.26 失败记录保留历史语境。
用户确认第十一章后,扩展明细 TM/QM 的专辑、艺术家维度,六文件校验通过。11 项语义查询与原件只读表行、Python 主键映射和 Decimal 独立核对通过:2012 年 119 位成交艺术家,合计 477.53、数量 447;Iron Maiden 19 张成交专辑合计 33.66,Powerslave 五首成交曲目合计 4.95;首、次、末页和旧分类回归均已核对。其他四模型及数据未变,第八章原源码保留快照。
专用 members 接口出现错误对象、slot/name mismatch 及响应信封异常;另发现 DISTINCT 请求未落实排序。本章用已验证的 QM 分组查询发现成交成员,没有宣称全目录或接口修复。详见第十二章实操、诊断与复跑。正文待用户审阅,第十三章未开始。
新增客户目录 TM/QM,实测同源 QM INNER/LEFT、先聚合再 JOIN 与两侧聚合对账。10 项 Compose 用例独立核对、2 项权限预期拒绝及 3 项原查询回归通过;无效连接键校验、输入 limit 两项限制另记。临时权限 Bundle 已清理,原数据/六模型未变,教学服务未重启。见实操与复跑记录。
第十四章两项边界已提交引擎 issue:#150(无效 JOIN 输出键校验漏检)、#151(JOIN 输入 limit 被忽略)。发布后的 issue 正文已读取核对。
当前正文讲一个 QM 中 JOIN 账单/明细两个 TM;查询端仅普通 DSL。新增普通/聚合关联两个 QM,10 项查询、两项预期拒绝与三项旧查询回归完成,临时测试模型已清理。现主目录十个模型文件,原八文件及数据库未变。见新实操记录。上方 Compose 记录和 #150/#151 是高级素材的原验证,不作为本章结果。
账单 QM 的 averageAmount 标题/说明已维护,字段名和公式不变。修改前、修改后与复跑三个阶段,各 7 项正常请求及 1 项错误字段拒绝核对;未登记候选错误拒绝、修复通过,原模型保持可用。两个回答审阅项未做独立 AI 测试。其他九个模型文件和数据库未变,服务未重启。
见第十五章实操记录。历史阶段的“不修改原模型”断言仅说明当时状态;本次明确授权的标题/说明变更以新快照和业务题库回归记录为准。
第九章文字/排除/空值、第十章条件聚合、第十二章去重/小计、第十五章字典已实测并自审待阅,维护章顺延第十六章。18 项补充执行、1 项预期拒绝,另 7 项旧题与错误字段回归通过;详见补充记录。旧 chapter-15 维护脚本中的全文件摘要只适用于原阶段;当前用补充脚本核对新增字段与字典后的结果。
国家字典已纳入新题库。校验刷新前后各 12 项查询与 1 项预期拒绝通过,所有模型资源及数据库不变;原 chapter-15 的历史断言未移作本轮验收。复跑使用 chapter-16 入口,记录。
沿用当前服务和时间模型,已保存 22 项检查,正确查询、预期拒绝、结构限制与执行异常分开计数。未更改模型或数据库;滚动自然日语义尚未通过,不能将核对器复现已知错误说成全通过。见实操记录。
Launcher 已从 0.1.30 升至 0.1.35,CLI 保持 0.1.25,18067/chinook/原命名数据源与 Bundle 不变,Console/FAP 未启用。三个时间问题复测通过;日常启动入口已指向新发行包,旧版本证据不改写。见0.1.35 复测记录。