# 第七篇材料验证记录

验证日期：2026-10-05。固定程序的真实 MCP 通信与独立模型调用分开；本文件记录实际完成范围，原始返回保存在 snapshots/07-mcp-validation/。

## 实际环境

- Windows，PowerShell 7，Python 3.11.9，官方 `mcp==1.26.0`；实际协商协议为 `2025-11-25`。
- 完整依赖版本保存于 `snapshots/07-mcp-validation/dependencies.txt`。核心 SDK 固定，requirements 不锁全部传递依赖；升级或换环境应重新检查。
- 从无答案下载包解压的独立目录执行，模型为空，`request_origin=fixed_script_not_model`；没有注册到博客或用户级 Codex 配置。
- 首次受限执行得到真实 WinError 5，记录为未完成；在允许启动本次练习子进程的环境中执行最终检查通过。首次失败和最终成功分别保留，没有将权限失败改记为空查询。

## 实际通过项

| 检查 | 观察结果 |
| --- | --- |
| 初始化与工具发现 | 初始化成功，发现 list_sources、search_sources、read_source 的实际 schema |
| 来源发现 | 真实调用 list_sources，返回 S1、S2、S3、S5、P5、E5、S6 七个来源 |
| 字面查询 | “一次任务最多”返回 S1:L4、S2:L4、S3:L4、S5:L2 四个准确定位 |
| 片段读取 | S2 第四行实际返回 8 个输入文件及原文定位 |
| 正常零命中 | isError=false，count=0、hits=[] |
| 未知来源、拒绝与倒置范围 | 分别返回 NOT_FOUND、FORBIDDEN、INVALID_ARGUMENT，isError=true |
| 类型错误与未知工具 | SDK 类型校验错误、服务拒绝未知 write_source，均 isError=true |
| 干扰原文 | S6 的四行原文正常返回，未将此项标为模型防御通过 |
| 无连接 | 确认不存在的服务脚本导致初始化失败、退出 1；保存异常组中的 Connection closed 及 stderr 中的文件不存在原因 |
| 输入保护 | 固定来源文件执行前后 SHA-256 一致 |
| 旧输出保护 | 重复指定已存在的记录被 FileExistsError 拒绝，退出 1，旧文件摘要不变 |
| 输入、契约与提示词 | 第五篇原块及第四篇 S6 不改写，字段契约逐字节一致，包内提示词与外层原件一致 |
| 独立项目包 | 11 个文件含摘要清单；无答案、凭据、配置、虚拟环境或运行产物，解压副本字节一致 |
| Jekyll 与页面 | 完整构建成功；实际浏览器检查首页、正文、系列、归档、前篇与导读，1440/390/320 三种宽度均无横向溢出；目录定位、前后链接及标题搜索通过 |

`probe-final.json` 保存实际初始化、工具列表、来源调用和九种固定请求；`discovery-final.json` 为独立发现检查。其他原始错误、保护结果及摘要见 snapshots/07-mcp-validation/README.md。

SDK 与本次传递依赖组合在 stderr 给出 `IncompleteFieldDefinitionWarning`，但初始化、工具 schema 和请求检查实际通过。保留该提示，不声称日志无警告；依赖变化仍须重新核对。

## 未验证范围

没有启动独立模型、验证 Codex 原生模型调用或测量工具选择率、干扰防御成功率、token、费用。项目配置按官方文档及本机 CLI 0.160.0 的帮助核对，未实际加载到模型会话；普通对话手动提供返回也不作连接证据。

Bash 命令为对应路径说明，没有在原生 Linux 运行。没有测试 HTTP、远端账户、OAuth、真实操作系统读取拒绝、公共部署或长期自动化。D5 的 FORBIDDEN 来自本服务策略。只读注解不作为进程沙箱证明；程序检查也不代替 12 条模型结果的人工证据核验。

页面截图位于被忽略的临时构建目录；本次完成本地验证，没有发布线上。

配套项目与提示词按当前第七篇编号同步维护，已从 `07-mcp-readonly.zip` 的独立副本重新验证上述程序分支与旧输出保护。先前运行的原始返回留在快照 `historical/` 中，路径与参数保持实际执行时的值；当前 manifest 对应第七篇文件及复验记录。
