2026-10-25。本轮使用下载的 Launcher 0.1.42 / CLI 0.1.25,按发行包 README 和脚本在 127.0.0.1:18368 启动隔离实验。Java 17.0.12、Python 3.11.5,文件解析使用随本机工作区运行时提供的 Python 与 openpyxl 3.1.5。既有 18067 服务、注册表、模型与 Chinook 原库均保持不变。
| 能力 | 本轮核对结果 | 教材采用方式 |
|---|---|---|
| Excel/CSV 原生接入 | 标准 lite 包的 Runtime capabilities、CLI 帮助、完整 MCP 12 工具中未发现文件导入 / 上传入口 | 用外部 Python 读取,准备独立 SQLite,再接入 Foggy |
| 原生临时 QM | 未发现文件注册、会话临时模型、TTL 与释放的公开调用链 | 使用普通持久 TM/QM,明确更新与清理责任,不称为原生临时 QM |
| 命名数据源 | 注册、测试、绑定与单 QM 查询通过 | 文件数据、独立目标库均可各自查询 |
| 同库多个 QM 的 Compose | 文件账单与准备到同库的教学目标关联通过 | 可用于小数据准备层对齐;与原生跨源 JOIN 分开说明 |
| 不同物理库的直接 Compose JOIN | 校验、预览通过,执行失败;没有形成联邦查询 | 当前不采用,另记校验应提前拒绝的问题 |
| Memory Grid | 标准 JAR 含 bridge,未含可选 DuckDB 模块;公开 MCP query route 只列 DSL_CTE,未发现可调用的跨源 handle/alignment 链路 | 暂不作为本系列已验证入口;不推断引擎所有宿主都无此能力 |
据此,第二十九章可采用“文件解析 → SQLite → TM/QM → CLI 查询”的组合方案。它已通过真实文件实验,不依赖尚未发布的原生文件入口。第 33 章优先延续已验证的准备层对齐;若后续新增公开跨源入口,再单独验证后更新。
51937008ec05283631ff4c88222e5489fa4ce960c7ff270370110b84495cce44,源码提交 a35722565a36a1aec18d3dbba32ef8faa87dbe31;五项发行摘要已核对。重启前 PID 161224、重启后 PID 117468,实际命令行指向下载 JAR。Console/FAP 未启用,securityMode=none-dev-test-only。authoring.releasePackage.import 是语义定义发行包能力,本实例为 disabled;不是 Excel 导入。capability 前缀也不一定存在同名 CLI 子命令。/mcp/analyst/rpc 的 tools/list 完整返回 12 项,nextCursor 为空。包含元数据、query_model、compose_script、模型校验、图表与 viewer,没有文件导入或临时模型管理工具。notifications/initialized 返回 Method not found,tools/list 正常;本轮记录该宿主的协议表现,没有将通知失败误判为文件能力缺失。docs/待定/FEATURE-excel-csv-temporary-qm.md 明确为 PROPOSED、尚未实施、目标版本待定,且是未跟踪本地文档。它只用于核对方向,不作为 0.1.42 已交付证据。原 0.1.33 核对保留,新结论只覆盖本轮标准 lite 包与已核对公开入口。没有探测私有接口,也未运行可选源码模块。
从公开 Chinook v1.4.5 的原始 Invoice 行导出 2012 年规范固定值 .xlsx 与 UTF-8 BOM CSV:83 张账单、47 位客户、20 个账单国家,金额 477.53。客户编号补为五位教学文本,金额沿用样例原单位,来源与转换规则另存。
文件由 Python / openpyxl 读取,先检查表头、固定值、编号类型、唯一键、日期与两位金额,再加载独立 SQLite。类型不符或公式输入按本例合同明确拒绝,未静默丢行、猜单位或把空值补零;这些复杂文件场景尚未纳入本轮通过范围。
通过公开 CLI inspect 实际表结构后建立 TM/QM,校验、加载并实时获取 JSON / Markdown。13 项正常执行通过:
每行结果、排序、金额与空值通过原始只读账单及 Decimal 独立核对。同一文件重载仍为 83 行 / 477.53。重启隔离服务后,绑定与模型保留,再执行总额与前三客户两题通过,另计 2 项执行。这证明本例普通持久模型可复用,不代表临时模型会自动过期。
样例 .xlsx 由 Artifact Tool 制作,保存后的文件用 openpyxl 逐行读取,并由语义明细查询对回原始记录;前导零真实值保留。工具 PNG 预览对纯数字文本编号的显示与实际 XLSX 有差异,本轮未将该预览用作教材配图或编号正确性的证据。首章只验证固定值文件,公式缓存 / 重算、旧 .xls、加密文件、多份增量与性能仍待相应章节验证。
不同物理库的两个 QM 分别查询正常,Compose JOIN 的 validate / preview 却返回 valid=true。execute 执行包含两库表名的整段 SQL,失败为 COMPOSE_EXECUTE_FAILED、no such table: file_invoices,与整段计划在目标库执行的表现一致。
公开 Compose 手册说明不支持直接跨源 JOIN,应在校验阶段以来源冲突拒绝。此处按校验缺口记录,不要求未承诺的联邦执行能力。原请求、响应、正常同库对照及关键日志见问题记录,未提交 GitHub。
公开入口清单 · 主实验验收 · 重启与补验 · 文件项目与复跑。所有失败与正常对照分开保存,失败请求不计入通过数;跨源请求在 validate 通过后才尝试执行。
后续按第 29—34 章大纲推进,已据此开始第二十九章。本轮没有升级或重启原 18067、覆盖用户 Skill、修改引擎源码或自动提交反馈。