# moon-ipp 0.2.0 技术验证报告

验证日期：2026-10-27。依据 `osc2026-guide` 的工程检查项，核对当前实现、申报功能、运行示例、持续集成和 Mooncakes 发布。

## 验证结论

**当前声明范围内的技术检查通过，项目已形成可安装、可运行、可复现的协议库、异步客户端和 CLI。**

模块为 `liyun6666/moon-ipp@0.2.0`，发布源码为 `dfb984458d311c0b0b5d2b2b97bb3ef19582cf53`。后续报告与文档更新未改变发布代码。[公开仓库](https://github.com/liyun6666/moon-ipp)默认分支为 `main`，[最新已完成 CI](https://github.com/liyun6666/moon-ipp/actions/runs/40428733469)的 Windows 与 Linux 检查均通过。

## 已完成的交付与验证

| 项目 | 结果与证据 |
| --- | --- |
| MoonBit 实现 | 有效实现 **5,151 行**，排除测试、示例、生成接口、注释、依赖及构建脚本；[统计记录](evidence/source-count-0.2.0.json)。 |
| 严格检查、测试和构建 | wasm-gc **78/78**、JS **107/107**、Windows native **114/114**；检查、构建、格式、接口生成及 MSVC 兼容探针通过。各后端包含重叠测试。 |
| 协议与任务管理 | 已实现有界编解码、多值、嵌套集合、带类型 JSON、设备能力查询、Validate-Job、Print-Job、Create-Job、Send-Document、任务列表、任务查询与取消。 |
| 设备能力与预检 | 支持文档格式、份数、纸张、单双面、颜色、分辨率、页范围、media-col、健康状态与能力快照比较。 |
| 实用工作流 | plan 仅查询能力；print --wait 跟踪完成并保存凭据；取消或中止返回失败；提交结果不确定时不自动重发。 |
| 独立 CUPS 验证 | PDF/文本字节、打印、查询、取消、分阶段提交、格式拒绝、ipptool 对照、大文档往返及合法空结束请求通过；[基础结果](evidence/cups-result-0.2.0.json)、[边界结果](evidence/cups-boundary-result-0.2.0.json)、[工作流结果](evidence/cups-workflow-result-0.2.0.json)。 |
| Mooncakes 发布 | **0.2.0 已发布、未撤回**；下载包全部 **49 个代码和构建支持文件**与发布源码一致，仅规范换行；[发布核验](evidence/release-verification-0.2.0.json)。 |
| 独立安装使用 | 外部工程通过注册表安装，严格检查和测试 **2/2** 通过，验证 codec、外部 Transport 实现和 Client.plan，无本地路径依赖。 |
| 文档与运行示例 | README 与[使用指南](使用指南.md)包含安装、规划、提交、跟踪、取消、认证和恢复操作；离线报文示例与 native CLI help 已实际运行。 |
| 功能与场景覆盖 | [申报草稿](项目申报书.md)覆盖要求的八项内容及报表打印、队列管理、集成验收三个场景；所列核心能力均有实现和对应测试。 |
| 公开生态检索 | 扫描 **3,342 个 Mooncakes 模块**并结合 GitHub 查询，排除自身后未发现对应的其他 MoonBit IPP 实现；[公开检索记录](evidence/ecosystem-audit-2026-10-27.json)。范围限于公开元数据和仓库索引。 |
| 开源与开发记录 | 根 LICENSE 为 Apache-2.0；NOTICE、THIRD_PARTY.md 记录参考标准、依赖、素材与 AI 辅助。公开提交超过 10 次，包含实际功能、回归修复、CI 和验证记录；无已跟踪的依赖缓存或构建产物。 |

合法边界与异常输入回归覆盖混合标签、命名纸张、未知属性、UTF-8 字节上限、空的最终 Send-Document、嵌套与整体预算、未配对代理字符、真实 HTTP 截断和超时。独立服务端与外部消费测试补充了包内测试。

## 验证范围

运行证据覆盖 Windows/Linux、真实 HTTP 测试及 CUPS 虚拟打印设备；实体打印机纸面输出、文档转换、硬件驱动与完整 IPP Everywhere 认证不在本次验证范围。未实现的扩展标签布局返回受控 Unsupported。

Linux 构建和测试通过，原始日志保留第三方 `async` 的 C 编译告警。本地凭据用于记录和恢复查询，不是服务器幂等键；结果不确定时按使用指南先查询队列。

## 参赛适用说明

本报告记录技术验证结果，正式受理与赛期认定以主办方通知为准。所提供正文写明 9 月 24 日截止，本仓库从 10 月 5 日开始开发，应按实际获准的报名批次和期限认定本轮贡献。初审受理情况及历史赛事支持关系未在本轮提供证明，本报告不代替这些事实的确认。

仓库申报文件已披露为 AI 辅助草稿；实际初审材料遵循人工撰写要求。若已通过初审，无须仅因版本更新另交申报书；后续验收安排按赛事通知执行。

## 复现与环境

Windows：`moon run --deny-warn scripts/verify.mbtx`，脚本初始化 MSVC/SDK 并执行项目构建适配。Linux CI 直接执行 `moon check --deny-warn`、`moon test --deny-warn`、`moon build --deny-warn`。离线示例：`moon run examples/packet --target wasm-gc`。

工具链：moon `0.1.20261023`、moonc `v0.10.17+d971670cd`、moonrun `0.1.20261023`；依赖 `moonbitlang/async@0.22.5`，已安装 `moonbitlang/skills`。
