# 对照上次初审反馈的改进计划

评估日期：2026-10-02。依据参赛者提供的 moon-purl 初审通知截图及当前 MoonConfig 源码。截图所述是九月报名初审，补充期限为 2026-09-30；不能据此推定当前月份报名条件或当前项目已获认可。

## 结论

v0.2 已完成完整审查流程、跨模块接入和公开源码交付，远程 CI 已通过。发布安装及外部采用证据仍不足，不应仅凭测试数量或功能名称认为初审问题已完全解决。

| 上次反馈 | 当前风险 | 应补交的证据 |
| --- | --- | --- |
| 交付范围很窄 | 初版缺少解决接口，v0.2 已补上 | resolve.mbt、网页逐项决策、tests/workflow.test.mjs 闭环验证 |
| 生态增量不足 | 已有 JSON diff/patch，需以具体能力说明增量 | 三方合并、显式决策、缺失/null 与 base 校验；尚未竞品实测或外部采用 |
| 独立复用场景不清晰，描述大于交付 | 本地独立模块已能接入，registry 安装未验证 | examples/consumer 的独立 moon.mod、公开 API 黑盒测试及 docs/ci-example.yml |

## 已有生态能力

- [tiye/recollect](https://mooncakes.io/docs/tiye/recollect)：公开说明提供结构化 JSON diff/patch、类型转换适配、状态同步和带 id 的数组处理，操作格式为自定义 PatchOp。
- [moonbitstack/moonjson](https://mooncakes.io/docs/moonbitstack/moonjson)：公开说明提供 JSON 家族解析和 JSON Pointer。

以上是公开文档所列能力的对照，未进行这些项目的源码全面审计、性能比较或互操作实测。不能据此宣布 MoonConfig 是首个、唯一或更快的工具。

MoonConfig 当前可验证的侧重点：基于共同版本的三方合并，删除与 null 分离，显式冲突候选，十进制精确比较，以及有明确限制的 RFC 6902 操作。后续要把这些能力连接成可复用的配置审查流程。

## P0：完成冲突解决和审核输出

目标场景：两个人修改同一份服务 JSON 配置；独立字段合并，有冲突时逐项选择 ours、theirs、base 或自定义值，最终导出配置和变更补丁。

验收条件：

1. 提供 MoonBit 解决接口，不能仅在浏览器里修改字符串。
2. 每个冲突必须显式决策；漏选、重复选择、未知路径和非法值均有错误结果。
3. 自定义值与删除使用独立表示，保留 null/缺失区别。
4. 解决结果生成补丁，回放到 base 后语义等于最终配置。
5. 提供防止旧 base 被误用的校验行为，并测试失败时不输出部分结果。
6. 网页演示一次完整的“冲突 → 决策 → 最终配置 → 补丁回放”，包含失败示例。

v0.2 已完成上述 6 项；验证见 resolve_wbtest.mbt、tests/workflow.test.mjs 和 [完整流程](workflow.md)。网页实际检查覆盖非法自定义 JSON 拒绝及确认后导出。

## P1：证明独立复用

- 建立独立模块的 MoonBit 消费示例，从公开包或明确的本地依赖使用库，不引用内部私有函数。
- 展示 CI 配置审查：无冲突通过、有冲突阻止自动使用、补丁校验失败返回非零状态。提供固定的输入及预期输出。
- 发布可安装的 Mooncakes 版本，并在干净环境记录安装、构建、运行结果。
- 同步完整 GitHub 源码、文档及真实 CI 结果（已完成，见 [远程验证记录](ci-verification.md)）。

进度：独立模块已运行，发布归档也已在新的本地目录通过跨模块消费测试；CI 场景模板、本地流程测试、GitHub 源码同步及远程验证已完成。Mooncakes 发布及 registry 安装尚未完成。消费示例属于集成验证，不能写成外部用户、生产部署或真实采用案例。

## P2：验证质量和边界

- 为完整解决流程增加性质验证和针对错误输入的测试，保留已有 JSON Patch 用例。
- 记录小、中、大配置的实际时间和内存观察，公布环境与方法；未测之前不写性能优势。
- 检查有 C 编译器的原生环境（已在 Linux GitHub Actions 通过）。
- 数组继续明确整体处理。暂不扩展 YAML/TOML、完整 schema、部署平台或自动运维，以免描述再次超过实现。

## 申报表达

本机测量已完成，方法和结果见 [基准记录](benchmark.md)。原生测试已在远程 CI 通过；竞品实测仍未完成。

围绕“MoonBit 可嵌入的 JSON 配置三方合并与冲突审查工具”申报。每个宣称配一个源码入口、运行命令和结果。已实现、验证示例、后续计划分别注明；不以测试数量代替生态增量，不承诺通过初审。
