# 实施进度

开始日期：2026-10-23；状态更新：2026-11-01（Asia/Shanghai）。已发布基线为 0.1.0，当前代码为 0.2.0，发布执行记录见 release-0.2.0.md。本项目尚未报名，用户计划报名 11 月赛；按[后续路线](development-roadmap.md)逐阶段加固库的边界行为。

| 工作项 | 当前状态 | 仍需说明 |
| --- | --- | --- |
| 依赖与工程 | 固定项目工具链、async 0.22.5、最小 Native shim、GitHub 轻量 CI | 依赖与复用决策已入库 |
| 模型与报文 | 已实现标签字节/TXT、mDNS 名称边界、有限 wire、公开根 API | 有界子集，不是完整 DNS 实现 |
| 缓存与聚合 | 已实现范围隔离、TTL/宽限、部分/完整状态、稳定事件和有界队列；SRV 候选按优先级和确定性权重排序 | TXT 冲突仍保守保持未完成；已跨响应包汇集未过期 SRV RRSet，遵循缓存宽限 |
| 查询与 resolve | main 已实现 QM、依赖查询、超时、取消、子类型和有界多包 Known-Answer | 多包/子类型有专项核心测试；Linux UDP 与 Avahi 子类型专项已通过，见 specialized-interop.md，NSEC 暂缓 |
| Native 与 CLI | 指定 IPv4、入站元数据、异步取消、稳定错误分类、四个 CLI 命令 | Windows zeroconf 与 Linux Avahi 同机闭环均通过；单播仍排除 |
| 示例与回放 | HTTP 动态端口、JSON 事件、录制、固定种子回放与浏览器离线界面已实现 | fixture 已逐条核对只含受控服务报文；Node/真实浏览器验证通过 |
| 互通与发布 | 已发布 0.1.0 的 Windows 证据与包消费；main 新增 Linux 八项实网成功报告 | 0.2.0 发布与消费执行记录见 release-0.2.0.md，第二设备及 Bonjour 未验证 |

## 已完成的连续步骤

- 固定 MoonBit `moon 0.1.20261023` / `moonc v0.10.17+d971670cd` 与 async `0.22.5`，保留全局旧工具链。
- 建立纯核心与 Native 网络适配层边界，完成模型、有限 codec、缓存、聚合、调度、resolve 和公开 API。
- 实现 browse/resolve/doctor/replay、实时 JSONL、记录时间与随机种子的 capture、可离线复现的 Replay。
- 使用独立 python-zeroconf 进程发布受控 HTTP 服务；实际发现动态端口、请求并验证 HTTP body、观察 TXT 更新与 goodbye、验证异步取消后 socket 可重开。
- 修复实网发现的 stdout 延迟输出和同一毫秒内 TXT 到达次序问题；避免空闲定时 tick 反复重建服务状态。
- 在提交 `f2baff7` 的干净工作树上，录制与回放实验的 8 项检查全部通过，包括确定性回放与实网服务事件序列一致。
- 分别修复同 tick 移除原因归属与超长 UDP 导致浏览退出的问题，保存小范围回归和实网证据。
- 完成浏览器离线回放、发布归档检查与 Mooncakes 发布；注册表下载散列与发布归档一致，116 个安装文件逐一匹配。
- `v0.1.0` 指向发布源码 `2b922d6`，对应 GitHub CI 成功；后续文档提交仅补入发布完成后获得的记录。
- 2026-10-28：保存并搁置未完成 NSEC 实验；容量与异常 PTR flush 均用先失败后通过的回归复现并修复。
- 修复 Linux 录制目录及失败诊断，扩大工作流触发路径；[40645501957](https://github.com/mik1e80/moonbit-mDNS-DNS-SD-/actions/runs/40645501957) 的八项 Avahi 检查通过。
- 补强子类型排除非成员和 Known-Answer 中途取消的核心验收。审查逐项结果见 [review-fixes-20261028.md](review-fixes-20261028.md)。
- Known-Answer 阶段：修复 16383 条容量边界和按包预算限制；超大答案退化为合法普通 QM，无效问题单独诊断；Replay 当帧输出诊断。9 项相关 JS 检查、Native CLI 编译、6 项离线 CLI 检查通过，公开接口未变。
- 2026-11-01：公开并测试 SRV 优先级/固定种子权重候选顺序；增加 DTO 记录原子校验、恶意报文与共享主机生命周期回归；完善 Native 关闭与错误分类，并在 CI 显式检查 `moon check`、格式和生成接口。
- 本轮轻量检查：相关 JS smoke 52 项通过，新增独立解析器的 Engine 出站报文检查 1 项通过，Native `moon check`、格式检查通过。该解析器验证 260 条答案、TC 链、问题位置、取消清理和超限 QM 降级。实际本机组播捕获未通过，不能记为专项实网互操作证据；第二设备仍不可用。
- 2026-11-01：50/200/500 个合成服务各重复三轮性能观察，保存中位数、波动范围、采样 RSS 与终态计数；源码和二进制散列固定，数据只描述当前 Windows 主机。

## 验证与提交约定

每个独立且有意义的行为、修复或文档成果分别 commit 并推送指定 GitHub 仓库；不使用空提交、改写日期或机械拆分制造数量。按用户要求只进行针对当前变化的轻量测试，不反复全量运行所有后端和互通组合。已执行与尚未执行的验证分开记录。

## 本轮交付与后续边界

0.1.0 的代码、示例、有限支持范围、实网与回放证据、CI、版本标签、实际发布和独立消费已交付。历史计划中更广的平台/RFC 验收仍不标为完成；新增平台和协议能力以独立版本及新证据推进。详见 [发布记录](evidence/release-0.1.0-20261024.json)。
