# moon-ipp 0.1.3 验证记录

日期：2026-10-25。此次修复 Windows 构建入口中的 async 0.22.5 C4005 告警，协议 API 保持不变。

## 告警修复

上游文件已从 CRT 头文件获得 EINVAL，随后再次定义为 ERROR_INVALID_PARAMETER。Windows 编译适配器只对该文件创建临时副本，在定义前增加 undef 防护，保留原有 Windows 错误码映射及 Apache-2.0 文件头；原始依赖缓存不变，副本编译后清理。

`scripts/msvc-cl.mbtx` 承担处理逻辑；小型 C 启动器只转发 Unicode 命令行到 MoonBit 脚本，兼容编译和归档驱动。生成的可执行文件位于忽略的 `_build`，没有提交或分发 MSVC 二进制。

验证入口启用 `/we4005`，将宏重定义视为错误。真实编译探针确认：修复后的源文件编译成功、错误码映射保持一致、其他文件的宏重定义仍会失败、带空格的参数可以转发、原始缓存文件未变化。此次没有使用 `/wd4005` 或 pragma 禁用诊断。

修复范围是本项目提供的 Windows 构建及 CLI 入口；其他项目直接编译官方 async 0.22.5 仍可能收到原告警，不能据此宣称上游已发布修复版。待上游正式发布后可移除此兼容处理。

## 检查结果

- 发布代码：[`8cd47e5354b34728f47f8209f61adc752705c325`](https://github.com/liyun6666/moon-ipp/commit/8cd47e5354b34728f47f8209f61adc752705c325)。
- [CI 40170010056](https://github.com/liyun6666/moon-ipp/actions/runs/40170010056) 的 Windows/Linux 任务全部成功；各为 wasm-gc 55/55、JS 69/69、native 74/74。
- Windows 真实编译探针、构建和两份 MoonBit 脚本的格式检查成功，日志未出现 C4005 编译告警或错误。
- Linux 独立 CUPS 打印、预检拒绝、取消、分阶段提交、队列、ipptool、文档字节及大文档 JSON 往返成功，见 [结果摘要](evidence/cups-result-0.1.3.json)。
- 有效 MoonBit 实现仍为 4,594 行，未把 C 胶水、构建脚本、依赖或测试计入；`moon info` 后公开接口无变化。

## 发布核验

GitHub 已推送上述源码并创建 [v0.1.3 Release](https://github.com/liyun6666/moon-ipp/releases/tag/v0.1.3)。`moon publish` 对打包和解包后的工程检查成功，发布返回 HTTP 200；[Mooncakes](https://mooncakes.io/docs/liyun6666/moon-ipp) 注册表确认 0.1.3、未撤回，发布时间为 2026-10-25 06:44:52 UTC（北京时间 14:44:52）。

独立消费工程实际从注册表下载 0.1.3，JS 严格检查与消费测试 1/1 通过，无本地路径依赖。下载包的 37 个 MoonBit 源文件及 3 个构建支持文件与上述源码提交一致；见 [注册表与源码核验](evidence/release-verification-0.1.3.json)。

## 终审判断

从目前可核验的技术交付看，项目已具备送终审的工程条件：功能可运行、有独立互操作证据、CI 通过、已发布且可安装、有效实现超过 4,000 行、有效提交超过十次，命名、许可证和来源记录明确。

整体通过仍须主办方确认报名及当前受理安排、同一核心作品是否重复参赛。人工撰写要求属于初审申报；如果已经通过初审，无须仅因代码更新再交申报书。仓库文件是 AI 辅助草稿，不能据此认定实际提交的申报材料状态。本记录不作为报名通过、资格通过或官方终审通过证明。后续边界修复见 [0.1.4 复核](边界复核-0.1.4.md)。
