CLI 安装验证报告¶
本报告保留完整源码安装与 0.0.1 发行安装两组独立记录,各自注明被测版本与环境。
以下源码安装记录来自 2026-10-21,使用完整源码快照 dae0ff260204aae1dc1e5004e1dd2faa16916d6b。目标是确认:从不含构建产物的源码快照安装 native CLI 后,可在工作区外显示帮助、完成单样本五配置任务,并重放保存的案例。
环境与方法¶
| 条件 | 实测值 |
|---|---|
| 宿主 | Darwin 27.0.0 arm64 |
| Moon / moonrun | 0.1.20260920,提交 914d7da |
| 编译器与 core | 0.10.14+7d59c7ec9 |
| 外部依赖 | async 0.22.4、toml 0.5.0;使用宿主下载缓存 |
| Node.js | 初始运行 v26.8.1;另一命令环境的重放为 v26.3.1 |
从仓库根目录导出被测 revision 的已跟踪文件;导出内容不含 .mooncakes 与 _build。以下命令创建独立的临时安装根目录和工作目录:源码快照与可执行文件位于安装根目录下,任务从其外部工作目录启动。
MOONSMITH_VALIDATION_ROOT=$(mktemp -d)
MOONSMITH_VALIDATION_WORK=$(mktemp -d)
SOURCE_DIR="$MOONSMITH_VALIDATION_ROOT/source"
INSTALL_DIR="$MOONSMITH_VALIDATION_ROOT/bin"
mkdir -p "$SOURCE_DIR" "$INSTALL_DIR"
git archive dae0ff260204aae1dc1e5004e1dd2faa16916d6b | tar -x -C "$SOURCE_DIR"
(cd "$SOURCE_DIR" && moon install ./modules/cli/src/cmd/moonsmith --bin "$INSTALL_DIR")
(cd "$MOONSMITH_VALIDATION_WORK" && "$INSTALL_DIR/moonsmith" --help)
(cd "$MOONSMITH_VALIDATION_WORK" && "$INSTALL_DIR/moonsmith" run \
--set seed_start=42 \
--set sample_count=1 \
--set 'execution.configurations=["native-debug","native-release","wasm-gc-debug","wasm-debug","js-debug"]' \
--set 'output.directory="evidence"')
# 将此值替换为任务输出报告的已保存案例目录。
CASE_DIR=/absolute/path/to/saved-case
(cd "$MOONSMITH_VALIDATION_WORK" && "$INSTALL_DIR/moonsmith" replay "$CASE_DIR")
最后一条命令使用前一步保存材料中报告的案例目录。安装由快照内 moon.work 解析内部模块,外部模块使用声明的正式版本。运行和重放均从独立工作目录发起,不切换回源码快照。
预期与实测结果¶
| 检查 | 预期 | 实测 |
|---|---|---|
| 安装 | 生成独立 native moonsmith 可执行文件 |
成功 |
--help |
退出码 0,列出统一任务配置与五个配置名称 | 符合 |
| 单样本任务 | 种子 42、默认生成预算、五配置完成比较 | 计划、内部检查、基线编译接受、完整比较及一致均为 1;操作错误为 0,退出码 0 |
| 样本处理时间 | 记录单调时钟耗时 | 1448 毫秒 |
| 保存案例重放 | 新增独立尝试且五配置结果一致 | 退出码 0,五配置继续一致 |
| 已有材料完整性 | 比较案例、原始源码、原始尝试与任务汇总的 SHA-256 | 四项均保持不变 |
在另一宿主命令环境重放同一案例时,Node.js 实际版本为 v26.3.1,初始运行版本为 v26.8.1。工具正确提示版本变化,五配置结果仍一致;每次版本均来自实际探测。重放追加独立尝试,不覆盖原记录。
结论与边界¶
该验证确认完整源码安装、工作区外启动、五配置单样本执行及保存源码重放路径可用。它使用宿主已安装的 MoonBit、Node.js 和用户级依赖下载缓存;没有验证全新操作系统上的工具链安装。
安装入口和用户可见安装要求见根目录安装说明;CLI 的案例、尝试与重放存储行为见差分执行与存证。项目规模目标见项目申报书。
0.0.1 发行安装验收¶
2026-10-31 对已发布的 v0.0.1(提交 70ab5fbe08b4569055e273f4c666aaaee3cdcbae)
执行发布后验收。
Ubuntu 24.04 x86_64 与 macOS 15 arm64 均通过,编译器与 core 为 0.10.18+6c83a7f62,
Node.js 为 26.3.1。本节独立于上面的 2026-10-21 源码安装记录。
| 验证对象 | 方法与结果 |
|---|---|
| 预编译 CLI | 下载两平台公开附件,通过 SHA256SUMS 校验,在对应平台解包并运行 |
| Mooncakes CLI | 在仓库外执行 moon install zrr1999/moonsmith/cmd/moonsmith@0.0.1,安装成功 |
| 三个公开库 | 独立消费程序生成等价组并调用 Engine;依赖树确认三个库均来自 registry,版本均为 0.0.1 |
| 五配置任务 | 两种安装各运行种子 42 的普通任务和等价任务;完整比较与一致计数均为 1,操作错误为 0 |
| 搬迁与重放 | 搬迁任务材料后重放案例或等价组,分别新增一条或三条执行记录;组重放另增一条组记录 |
| 原始材料 | 重放前保存的全部文件 SHA-256 校验保持一致 |
原始日志与材料保存在该运行的 distribution-linux-x86_64 和 distribution-macos-arm64
artifacts。复现入口见已发布产物验收,安装与最小使用入口见
README和可运行示例。该结果验证指定工具链、
平台和有限种子,不将原万例实验记为在 0.0.1 上重新执行。