# 维护测试报告

## 0.12源码维护（2026-10-31）

Windows x64 / Node24.15.0 / 私有moonc0.10.18，最低门槛0.10.16。仅授权GitHub源码推送，不发布Mooncakes/公开运行包。本轮全部新数据为合成资料，实际外部验证缺口保留。

- 首次完整回归237项：233通过、1失败、3平台/原生专项跳过。失败是分发清单上限扩到256与既有128安全预算断言冲突；当前112文件无需扩大，已恢复原128上限，不删除或放宽原安全断言。聚焦分发/应用9项重新通过。
- 随后整套validate退出0：238项Node/HTTP，235通过、0失败、3明确跳过；45个不同核心×JS/Wasm/Wasm-GC/Native共180次，检查、release构建、四目标样例、合成场景、583/627核心覆盖和包/公开树门禁通过。之后又补已核查资料在后续断言期间被修改、接收端发布成功但回应丢失/配额记账两项安全回归，相关9项聚焦通过；最后整轮复核结果另行补录，不把前一轮数字当最终。
- 格式4/5逻辑/元数据页字节、旧库不改写、新密钥根映射、外部根摘要运输/解包、两个互补损坏供体及两者均坏拒绝，均实际恢复并读回。原格式/进程退出86/短写/权限/租约/篡改/元数据链回归保留。
- 新组合故障覆盖两个格式各4个IO错误起点，依次检查点错误、陌生目标、损坏包或合作取消，再验证续作和原库不变。轨迹固定种子可重放；缩减器仅受控失败指纹自测，不声称已经找到/缩减生产缺陷或全局最小，也不声称穷尽故障。
- 应用契约实际检查文件、JSON、SQLite结构/外键/数据库附件；缺失/篡改/逃逸及检查后变化拒绝。接收服务实际HTTP鉴权、分角色、配额/并发预算、重启、拒绝覆盖/删除和加密format5下载/元数据恢复；本机回环不是独立主机或WORM。
- 分页远端审计跨128成员页界限、固定版本/摘要、可选保留及认证周期失败不推进通过；累计观测明确不作全局唯一、明文恢复或删除授权。真实S3供应商/IAM/防删未验证。
- 本轮专用Windows用户任务最初因系统将PT1440M转P1D、SID转账户名而误判“未确认”。修正语义等价比较和当前SID解析后，精确对账同一个测试任务，核对实际备份/恢复演练记录，待实例退出，再禁用/删除并确认不存在，夹具已清理。无提权、服务重启、既有任务修改；未擅自处理历史未确认任务。无注销/重启/无人登录证明。
- 浏览器在实际默认约508px视口完成预览→新目录恢复→声明的JSON应用检查，已有目标拒绝、参数变动使确认失效、无页面横向溢出及无控制台error。截图只存本机；测试服务/临时页已关闭，合成夹具迁入私有证据目录保留诊断，不推送。真实托盘/安装确认人工交互未覆盖。
- 8MiB合成独特字节资料：冷备份3.336s、未变重读5.274s、全内容校验2.386s、恢复+读回4.711s；本进程高水RSS约243.4MiB，自有目录峰值约24.2MiB。另测重复资料；宿主调用/同步耗时按阶段记录。此为单机小样观测，未变备份未更快，不伪造性能提升；不是物理IO/全部原生子进程峰值或大规模认证。
- 语言原始统计持续公开：运行域MoonBit26文件约98.7kB，JavaScript75文件约795.6kB，另含C/C#/C++/UI；无Linguist覆盖或源码隐藏，新增领域迁移仍未消除主要语言风险。Apache-2.0/NOTICE/既有上游许可保留，无新npm运行依赖。

最终本机再次完整validate退出0：**240项Node/HTTP中237通过、0失败、0取消、3明确跳过**；45核心×四目标、严格检查/release构建/四目标样例/合成场景、583/627核心覆盖、270项包清单和公开树门禁通过。3项为本机原生PG逻辑/物理专项及macOS ACL用例，不把跳过冒充完成；新提交的PG/跨平台仍须精确CI。

本机112文件普通便携包初轮冒烟通过，最终118文件Windows内置Node24.15.0桌面包完成摘要/版本/许可、格式5运输/换主密钥/双供体修复、应用契约、追加接收以及白名单并排安装/回退预览等实际包内冒烟。独立桌面QA在屏蔽全局Node/私有状态环境验证未签名EXE检查、安装预检及原生主机启动/授权访问/停止；不创建桌面快捷方式，未人工点击托盘和安装确认。初次官方运行时下载证书链失败，临时使用Node的系统CA信任库后正常下载与官方SHA256核验通过，没有关闭TLS验证或更改系统信任设置。

8MiB资源测量使用未加密format4，不能外推到加密/原生元数据/并行远端/大文件负载。所有原始日志/截图/运行包及保留的合成诊断夹具仍在私有`.local`，不公开。更正运行包README的0.8/0.5历史文字和已过时功能限制后，112文件普通包重新构建并完整冒烟通过。

精确功能提交35b4676的[CI41202679542](https://github.com/bzhangui/moonrestore/actions/runs/41202679542)四作业全部成功：Windows237通过/3跳过、Linux232通过/8跳过、macOS233通过/7跳过，各240项零失败/取消；独立PG16逻辑与物理/WAL/PITR各1通过/零跳过。三系统各45核心×四目标与583/627覆盖、包新旧功能及隐私门禁通过；Windows VSS仍仅编译/协议，没有管理员真实快照。Node20 action元数据弃用提示实际由平台以24运行，并非源码运行时版本倒退；细节见PUBLICATION。[0.12使用指南](RELIABILITY_0_12.md)保留全部拒绝预算、元数据损失与外部缺口。

## 0.11.0 MoonBit恢复写出规划迁移（2026-10-29）

本轮Windows x64 / Node24.15.0 / 项目私有moonc0.10.18；最低编译门槛0.10.16，保留旧SDK、不改全局。授权测试/隐私核查后推送main及发布Mooncakes0.11.0，不发布桌面或便携运行包。

- 最终再次完整 `node scripts/validate.mjs` 退出0：**218项Node/HTTP，215通过、0失败/0取消、3明确跳过**（本机PG逻辑/物理专项及macOS ACL用例）；42个不同核心×JS/Wasm/Wasm-GC/Native共168次通过。严格检查、release构建、四目标示例、合成场景和包/公开树门禁通过。新提交PG与三OS结果待精确CI核实，不沿用0.10绿灯。
- 核心行覆盖551/589≈93.55%，新restore_writer43/45≈95.56%；不是应用总覆盖。新增不同长度/全部前缀/空文件/密集与稀疏区间的超过10000次块规划差分，与旧Node算式一致；每次finish/close后重建，并验证40次失败会话不泄漏16槽预算。
- 新规划器接入实际格式4/5恢复。原有真实退出86、写后未记账/已记账、短写后真实适配器错误、MAC/身份/租约/源/前缀篡改、目录与目标抢占、根发布前后、取消续作、硬链接/稀疏/只读/ACL/ADS/精确时间、加密与旧格式全部保留回归；无删除断言或放松安全门禁。
- 聚焦阶段发现可选数组的FromJson编码与宿主原始范围数组不一致，已显式按null/数组转换；空/稀疏和中断元数据完整用例重新通过。整轮又发现CLI硬编码旧版本导致Windows启动器自检失败，已更新并增加清单/编译CLI版本一致性回归，随后整套维护再次通过。不隐藏首轮失败。
- 源码包249项、公开树253文件/72本地链接门禁通过。Apache-2.0/NOTICE/第三方归属保留，无新增npm依赖；私人申报书、备份、密钥和原始报告不公开。
- 语言审计运行目录内MoonBit25文件92277字节、JavaScript69文件729532字节，另含C/C#/C++及UI；统计口径公开、未修改Linguist。核心迁移不等于主语言标准已无风险，仍需继续迁移Node领域/分页作业编排。

注册表、独立消费者与本轮CI按[交付记录](PUBLICATION.md)补证；真实云/独立介质/管理员VSS/物理断电/外部用户验证边界不变。

后续补证：精确源码06325b2的CI40894120603四作业全成功，三OS计数/平台跳过和独立PG16两专项详见PUBLICATION；注册表0.11.0上传、同摘要核验及下载后四目标独立消费者均已通过。本机便携包104文件冒烟通过但不公开。首轮打包遇索引TLS失败，增加显式冻结构建，保留版本/依赖/编译检查，避免为已验证依赖反复同步；没有忽略网络错误或关闭证书校验。

## 0.10.0 恢复写出续作与原生元数据（2026-10-28）

Windows x64，私有moonc0.10.15+943464bfa / Node24.15.0，仅合成资料和受控故障。无管理员提权、系统任务演练、私人数据或真实外部试点；本轮不发布Mooncakes/运行包。跨平台实际结果绑定本轮推送后的精确CI补录，不沿用0.9证据。

- 最后本机整轮 `scripts/validate.mjs`：212项Node/HTTP，210通过、0失败、2本机原生PostgreSQL专项明确跳过。38个不同核心用例×JS/Wasm/Wasm-GC/Native共152次通过；fmt/check/release build/四目标样例、合成场景、包列表隐私/公开树检查通过。核心覆盖508/544≈93.38%，不是系统总覆盖。
- 本轮14个新测试组，内含多个故障矩阵；末轮参数/取消/共享CLI/元数据语义门禁另4项通过。覆盖实际进程退出86、写后未落日志/已落检查点、目录/工作文件/收据/文件移动、根发布前后，重放早期文件不清除较晚工作文件；有效未落日志尾部接纳，短于检查点/超长/篡改前缀拒绝。
- ENOSPC/EIO/EACCES/EROFS受控适配错误、真实短写后抛错、检查点写失败、合作取消后显式再运行均不报完成；源损坏、工作inode替换、外部硬链接、陌生条目、目标抢占、父目录替换、活/异地租约、MAC篡改、完成目标内容被改动均拒绝覆盖。实际磁盘耗尽/硬件断电不是上述注入测试。
- format5实际Windows原生ACL/ADS/100ns时间、同组硬链接、稀疏文件、只读文件、空源/空目录、选择单个硬链接成员、元数据阶段及发布后退出读回通过。原生配置成功仍明确all_filesystem_metadata_preserved=false；ctime、POSIX birthtime恢复、特殊mode位、全部厂商属性和物理布局不在承诺内。
- 加密元数据/日志无测试明文名、物理副本保留所有元数据页、GC不回收活页、format5普通文件系统往返重建拒绝；元数据预算/路径/种类/范围/链/总计/未知扩展即使重算有效摘要也拒绝。旧库标识及原功能回归保持。
- 本轮测试实际发现并修复：重放清除较晚活动记录、目录时间API、ADS的.NET路径限制、稀疏标记共享冲突、只读文件设置时间失败、元数据读取/发布改变访问时间。最后用最小权限时间句柄和读回后重设/stat处理；不以放宽数据/mtime/ACL/范围核验掩盖失败。旧1024块检查点测试在并行负载下触发30秒超时，改为该用例单独90秒预算，仍断言真实1024块日志/终止/源重读/恢复读回，未删断言。

源实现、细节限制及复现命令见 [0.10指南](RELIABILITY_0_10.md)。format5原生时间的初始能力受源/目标文件系统限制；访问时间可被恢复后的其他应用再次改变。目录创建与身份记录之间的窄崩溃窗口可能安全拒绝自动续作；不保证全部故障组合。独立包、远端三系统及PG精确结果完成后补录PUBLICATION。

最终私有便携包104个白名单文件，摘要/许可/版本和真实包内功能冒烟通过，包含加密format5普通备份、原生元数据恢复、恢复操作重入/状态及原有旧格式/SQLite/救援/副本等路径；不依赖项目SDK。未发布包/附件。

首轮精确CI 40656647057暴露macOS无ACL对象的采集差异，未跳过新功能测试或当成功。改为描述符绑定的扩展安全属性查询，增加macOS专属空/显式ACL回归；该新增用例在其他系统明确跳过。后续最终计数以新提交CI补录为准。

同轮Windows Node22另发现新父目录继承ACL会改变恢复结果，修复为受保护有效ACL配置：原始SDDL仍归档，ACE权限/deny与allow相对顺序/属主归一核对，同类可交换规则规范排序/合并；明确报告继承拓扑变化，而非忽略ACL或允许父目录额外授权。新增Windows普通/额外授权/危险顺序门禁测试，其他平台明确跳过。Linux和PG作业已通过，但首轮整体失败不记为成功；修复提交将重新跑全CI。

第二轮9e86f76的CI 40659139964中Windows、Linux与PG通过；macOS原生内容/时间/xattr/空ACL等恢复路径通过，剩余夹具使用了chmod不接受的数字用户名写法，并错误假定SEEK_DATA/HOLE必报告稀疏。改为系统实际用户名的最小allow规则、恢复端与源端实际报告范围对照；APFS可报告保守全数据范围，不把这种情况算成物理稀疏保留。依然运行完整原生恢复、内容/硬链接/只读/范围核验，不跳过macOS组。

最终源码/测试01877e75c3736d659791184fb8356d2d95134fae的 [CI 40661377695](https://github.com/bzhangui/moonrestore/actions/runs/40661377695)四作业全部成功：三系统各214项，Windows211通过/3专项跳过、Linux206通过/8跳过、macOS207通过/7跳过，均0失败；三者核心各38用例×四目标、508/544覆盖、格式/构建/样例/隐私通过。独立PG16逻辑恢复与物理WAL/PITR各1通过/0跳过。Windows104文件、Unix105文件的独立便携包均实际通过新原生元数据/续作和旧路径冒烟；Windows启动器及VSS请求器只编译/协议，无提权或真实VSS。本机最后整轮214项211通过/3专项跳过，四目标/样例/覆盖/隐私全通过。所有原始日志与包仍私有，不发布。

## 0.9.0 日用、长期与灾备（2026-10-28）

本机Windows x64、私有moonc0.10.15+943464bfa、Node24.15.0。仅合成资料；无管理员提权、生产配置修改或外部真实试点。源码0.9与注册表0.5.0分开，不发布包/附件。

- 整轮维护先后执行：198项Node/HTTP中196通过、0失败、2本机原生PG专项跳过；核心36个不同用例×四目标、检查/构建/样例/格式、覆盖和包隐私通过。时钟/副本/SQLite/救援维护后另有专项回归，最终精确代码整轮与CI结果补录于PUBLICATION，不以早一轮替代。
- 新测试：真实子进程终止86后的认证续作、源变化/日志篡改、缓存MAC/明文泄漏、损坏根/页/包隔离、健康选区恢复和部分结果不绿、实际HTTP解锁/预览/恢复、计划/SQLite、取消清理、双确认/保护变更/时钟调快、追加副本/新密钥、分页回执损坏与新状态恢复、巡检预算/游标、WAL缺口/积压和通知丢最终回执同事件重试。
- 私有独立运行包已实际校验与冒烟：旧路径、分页选择恢复、分页独立救援包新状态恢复和追加副本；未公开发布。包缺失/兼容错误不会当通过，已复现并修正旧救援结果判定兼容问题。
- Windows专用任务演练仅执行一次：注册前查询状态不确定，门禁拒绝注册，无注册意图/注册尝试；本轮夹具经精确清理，无提权/服务重启。真实触发和旧遗留任务清理仍未验证。
- PostgreSQL物理专项增加真实基准归档范围覆盖与坏回执拒绝，实际原生结果以本轮CI为准；合成WAL字节测试不算数据库回放。管理员VSS、真实云/账号独立性、NAS/物理断电、长期生产仍有缺口。

最后整轮Node198项中196通过/2本机原生PG跳过、0失败；最后保留流程/GC保护专项11项全通过，覆盖宽限期中继续新增健康备份且不扩展删除集合。四目标核心各36项、fmt/check/release build/样例/覆盖/隐私通过。最终独立便携包99个白名单文件，摘要核验与包内格式4选择恢复/独立救援新状态/追加副本冒烟通过；包仅私有生成。精确CI在实际推送后补录，不把接口预算说成上限性能证明。临时时钟注入仅测试纯策略，CLI不提供跳过宽限期；重启/时钟不一致拒绝自动退休。

本轮实际有界规模：64MiB伪随机大文件+500小文件，501条目、25页/25包；备份35099ms、重复备份53111ms、完整校验21766ms、恢复54603ms，独立SHA一致，整个QA峰值319696KiB。重复备份复用1个历史根、零新包字节，但逐块核验和全新根校验仍有成本，实测并不比首次快，不以此宣称性能全面改善。共享本机负载、单次规模，不是严格基准或百万文件/1TiB认证。

最终核心覆盖501/537≈93.30%（仅core，不是系统总覆盖）。Windows VSS请求器编译/协议和未签名启动器编译通过；未执行管理员快照、未获发布者签名。最终运行包与CI以PUBLICATION补录为准。

远端精确提交 `1c7b385b5c8e1681058614607b0b1908a04560e3` 的 [CI 40641355385](https://github.com/bzhangui/moonrestore/actions/runs/40641355385)四作业全部成功。Windows196通过/2跳过，Linux/macOS各192通过/6跳过，三者总数各198且0失败；36个不同核心用例在每个平台各跑四目标，覆盖501/537。独立PG16的逻辑恢复与物理WAL/PITR两专项分别1通过/0跳过，包含真实归档范围及坏回执拒绝，不把普通平台的PG跳过算成完成。各平台便携包实际通过，Windows99文件/Unix100文件，均不公开发布。

## 0.8.0 分页存储与应用恢复（2026-10-28）

Windows x64，项目私有 moonc0.10.15+943464bfa / moon0.1.20261012，Node24.15.0，未更改全局SDK或服务、未提权、未用真实用户数据。最低编译器及核心四目标保持兼容。源码0.8.0与注册表0.5.0分开，本轮不发布Mooncakes/附件。

| 检查                | 当前本机证据                                                                                                                                                                                                                                                                                                                                                                                   |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 最终整轮门禁        | 最新整轮Node174项：172通过、0失败、2原生PG专项明确跳过；最终监控/物理PG/提供器/任务/VSS协议20项专项全通过。fmt/check/build/四目标/示例/覆盖/包隐私和公开树门禁通过                                                                                                                                                                                                                             |
| 精确源码CI          | fea875027f86195f59a20b1b485f975babba0517的[CI 40607811171](https://github.com/bzhangui/moonrestore/actions/runs/40607811171)四作业全部成功：Windows174项中172通过/2原生PG跳过，Linux/macOS各168通过/6专项平台或PG跳过；原生PG独立作业的逻辑恢复、物理PITR各1通过/0跳过。三系统各140次核心四目标执行、492/527覆盖与包冒烟通过；Windows启动器/VSS请求器编译通过。普通包Windows80文件、Unix81文件 |
| 核心四目标与覆盖    | 35个不同用例×4目标=140次通过；fmt/check/release build/test/核心样例通过。core492/527≈93.36%，新paged29/30；非全系统覆盖率                                                                                                                                                                                                                                                                      |
| 新格式专项          | 14项通过；多页/多包/空源/排除/去重/加密缓存、坏包/正确摘要语义伪造、控制IO异常、独立读回、旧仓库迁移不变、保护回收/中断/过期确认/活锁拒绝                                                                                                                                                                                                                                                      |
| 日用专项            | 任务受控7项、远端审计7项、提供器生命周期4项、VSS协议1项通过；任务超时后核对、远端部分失败不推进、取消与未知清理不绿                                                                                                                                                                                                                                                                            |
| 心跳/应用维护       | 心跳3项通过，包括真实回环代理吞掉持久回执后幂等重试、不刷新到达年龄；空/矛盾健康报告拒绝。物理PG受控5项通过，新增UTC数值偏移/微秒保留/非法日期拒绝，取消后仍有界清理。替身不算原生数据库或独立主机                                                                                                                                                                                             |
| 有界规模            | 实际64MiB伪随机文件+500个小文件，501条目/25页/25包，独立SHA一致。优化后备份62533ms、全校验38312ms、恢复73971ms；整个QA进程峰值306744KiB。并行本机负载会影响耗时，不是严格基准/1TiB上限/长期生产证明                                                                                                                                                                                            |
| 原生VSS             | MSVC/Windows SDK `/W4 /WX`编译及无副作用协议探测通过；真实管理员snapshot/writer/异常释放未验证，不提权或创建影子集                                                                                                                                                                                                                                                                             |
| 原生PG              | 本机两专项明确跳过；提交fea8750的[PG16专项](https://github.com/bzhangui/moonrestore/actions/runs/40607811171)已实际通过：逻辑导出/新库SQL恢复1项、物理基准+归档WAL+指定时间暂停/恢复2行/源库3行/精确停止自有服务器1项，均0跳过。21秒物理专项不是长期生产/真实用户验证                                                                                                                          |
| 实际Windows专用任务 | 本轮允许演练，但注册前精确查询状态未确认，安全门禁拒绝注册；未写注册意图，未尝试注册，清理本轮合成夹具。不算真实调度通过，不代为清除旧轮遗留任务/夹具                                                                                                                                                                                                                                          |
| 本地便携包          | 80文件白名单、摘要/许可证检查及全部包内功能冒烟通过；包含加密paged实际恢复/GC及全新私有状态恢复。未公开，无发布者签名，不含VSS或PG工具二进制                                                                                                                                                                                                                                                   |
| 隐私与来源          | Apache-2.0、NOTICE和完整归属保留；新VSS/物理PG/SQLite索引为原创适配，没有新增npm运行依赖；私有申报书、凭据、备份、原始日志/报告、SDK/运行时缓存不推送                                                                                                                                                                                                                                          |

远端精确SHA/三平台与原生PG证据另见 PUBLICATION；不拿旧CI绿灯替代新提交。使用说明 RELIABILITY_0_8、实施 UPGRADE_0_8、故障矩阵 FAULT_MATRIX_0_8。新格式仅CLI、不自动接旧工作台/统一计划/S3运输；新格式失败重开事务，未提供自动断点续写或快照删除策略。

真实原生测试发现并修复了两处替身没有覆盖的问题：启动阶段UTC缩写依赖配置初始化顺序，改为保留微秒的数值UTC偏移；合成夹具在额外checkpoint后才归档会丢失所需WAL，改为先固定已完成事务段、切段后立即归档并断言存在。失败记录保留在Actions，不将失败/被新提交取消的运行说成通过；不为诊断公开原始服务日志或凭据，只输出阶段/白名单错误类别。

仍未验证：真实供应商/IAM/ObjectLock/独立账号、管理员VSS/写入器、独立主机/介质/NAS、硬件断电、长期生产、真实外部用户、声明上限规模和所有故障组合。模拟有工程价值，但不替代这些证据。以下是历史记录，保留原结论，不将旧缺口自动当成新实现或新测试。

## 0.7.0 日常恢复准备（2026-10-22）

Windows x64，项目私有 moonc 0.10.15+943464bfa / moon 0.1.20261012、Node 24.15.0。无全局SDK变更、真实数据、真实云账号或管理员VSS。源码0.7.0与注册表0.5.0分开；不发布Mooncakes或运行包。

| 检查                   | 实际结果和限制                                                                                                                                                                                                                                                                                                                                                   |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 四目标全量             | 32个不同核心用例×JS/Wasm/Wasm-GC/Native，共128次执行；fmt/check/release build/test/核心示例通过                                                                                                                                                                                                                                                                  |
| Node/HTTP最终全量      | 140项：139通过、0失败、1原生PostgreSQL专项明确跳过（本机无服务）；不把跳过算数据库已验证。真实PG以本次精确提交独立CI为准                                                                                                                                                                                                                                         |
| 核心覆盖率             | 463/497，约93.16%；新readiness为26/27。仅core范围，不是整个系统覆盖率                                                                                                                                                                                                                                                                                            |
| 恢复目标与缺席         | 同快照/证据窗口、目标未知/超出、缺席/时钟异常、RTO超目标不绿、离线计划仍可列出；不隐式运行/联网。心跳脱敏/重定向拒绝，端点接受不等于最终通知投递                                                                                                                                                                                                                 |
| 恢复点与时钟           | 即使完成时间新鲜，起点超RPO仍失败；缺失起点为未知，续作不刷新原起点。RTO单调计时；实际Node进程内模拟演练后时钟回退，结束门禁拒绝且清理保护保持，未改变系统时钟。目标/计划/调度专项11项通过                                                                                                                                                                       |
| 迁移                   | 摘要绑定新目标、源变化/活锁/中断任务/凭据拒绝、原状态保持、无密钥复制、错误确认不写入；只针对已停止使用的静止配置                                                                                                                                                                                                                                                |
| URL凭据维护            | 额外复现并修补端点URL中嵌入用户名/密码、令牌query/fragment及PG DSN误存；保存/迁移前拒绝，专项17项回归通过。不是对任意自由文本的完整敏感信息识别                                                                                                                                                                                                                  |
| 监测传输门禁           | 心跳在全局关闭TLS证书校验时于联网前拒绝，保持令牌仅取固定环境变量、不接受URL凭据/查询/fragment及重定向；新增门禁后的HTTP/状态专项5项通过                                                                                                                                                                                                                         |
| 固定版本审计           | 本机HTTP受控删除标记、403撤权、错误versionId、损坏、保留缺失/不足、分页范围；失败关闭且不写远端。不是实际IAM/云保留、明文恢复或独立账号证明                                                                                                                                                                                                                      |
| SQLite恢复内容         | 实际WAL导出和恢复打开、完整性/外键/表列/行数、无效配置/视图/坏库拒绝、新目标确认/不覆盖/检查失败保留副本；未验证应用业务语义或多库事务                                                                                                                                                                                                                           |
| 部分文件检查点         | 实际子进程在1024完整块硬退出，记录部分日志、无新快照，显式恢复锁后重读前缀并完成校验/恢复；别的文件的合法对象不能替代当前前缀，加密部分日志不泄露名称。不代表硬件断电                                                                                                                                                                                            |
| 实际超过2GiB的分块续作 | 2147483649字节，1024个1MiB完整块后实际中断（80485ms），显式恢复并重读源前缀完成（178674ms），最后记录2048完整块；全校验33735ms、可续作恢复79855ms，独立SHA-256为97439b504cb2e2c38a52cd601e1104151606a2b97d60e8ff3298b8c004fb1087。仅校验进程峰值RSS实测86736KiB，备份/恢复编排未采集worker RSS，不补造。样本为零和末尾标记，不是随机吞吐、上限规模或长期生产证明 |
| 真实浏览器             | Edge+Playwright跑完原有完整流程和新增SQLite计划/恢复目标/PG及S3显隐/系统预览（不注册）/迁移预览失效与复制/数据库恢复验证；1440/390px无横向溢出、页面异常或localStorage凭据，截图私下复核。沿用原生JS/CSS，明确未通过/未验证状态，无新UI运行依赖                                                                                                                  |
| 本地独立运行包         | 76白名单文件、内置官方Node24.15.0，包摘要/完整许可证及真实加密/可靠任务/SQLite重新打开恢复/状态迁移/救援等冒烟通过。屏蔽全局Node的原生预检/宿主启动停止通过；不是人工托盘/点击安装，EXE未签名，包不公开                                                                                                                                                          |
| Windows实际专用任务    | **未通过**。注册RPC超时后只读复查曾确认专用任务存在，精确清理和后续查询仍有超时，不能确认执行或清除。未提权/重启服务/修改既有任务。已补注册前只读RPC检查、超时未确认提示、清理失败保留记录/夹具；新门禁不等于旧任务已清除，需操作者核对本轮私有清理待办                                                                                                          |
| 夹具维护               | 新浏览器runner持有自身子进程输入并stop，实际整轮退出/清理通过；更早无可写stdin的单独旧式UI辅助进程自动停止受执行限制阻止，其私有合成夹具保留待核查，不能说全部测试资源已清理                                                                                                                                                                                     |
| 发布隐私               | Apache-2.0/NOTICE保持；新源码/包列表无私人申报书、数据、密钥、报告、工具链和本机状态。原申报稿保持私有原样；真实环境与未来未实现项见NEXT_UPGRADE_EXECUTION                                                                                                                                                                                                       |

开发阶段发现并修正两处测试自身误判：失效锁仍存在时错误调用普通list，以及把SQLite合法WAL/SHM维护当成业务数据写入；不因此放松锁或源内容校验。新控件复查还修复通用idle处理重新启用未预览确认按钮的状态问题；服务端仍独立校验确认。

追加维护的一轮高并发全量曾出现HTTP测试文件进程级失败，报告没有业务断言细节；不能把该次说成成功或断言已确定根因。冻结源码后专项17项含该HTTP路径通过；完整验证现限制为4个测试文件工作进程，保持全部用例和断言，最终结果以上表及精确提交CI为准。

复现：`node scripts/validate.mjs`；新浏览器 `node scripts/readiness-browser-qa.mjs`，完整旧流程 `node scripts/browser-pilot-qa.mjs`（另装Playwright）；本地运行包 `node scripts/package-desktop.mjs`。原生VSS、WAL/PITR、live分页/pack/有界磁盘索引、新格式GC仍未实现。真实云、跨主机、物理断电、长期生产/外部用户未验证。后续专项及精确SHA CI单列，不引用旧版成功冒充当前通过。

大文件专项：`node scripts/large-file.mjs --checkpoint-resume --durable-restore`，临时盘至少预留6GiB。新增公共树预检 `node scripts/audit-public.mjs` 已纳入默认validate，检查公开文件名/已知令牌模式、本地Markdown链接和必需许可文件；不是完整秘密扫描或安全审计，发布前仍需人工核对暂存内容。

功能提交 `d4d9863` 的 [CI 39796077170](https://github.com/bzhangui/moonrestore/actions/runs/39796077170) 四项全部成功：CI使用moonc0.10.17（本机私有SDK仍为0.10.15），三平台四目标及便携包通过，Windows139通过/1跳过，Ubuntu/macOS各135通过/5跳过，均0失败；独立PostgreSQL16真实恢复1通过/0跳过。Windows原生启动器编译通过，核心覆盖仍463/497。工作流总状态与最终分项均核对；分项接口短暂显示延迟不能当作已完成，已用最终状态确认。其后文档补录不改变功能证据，补录提交自身CI单独核对。

## 0.6.0 持续运行与独立救援（2026-10-18）

Windows x64，项目私有 moonc 0.10.15+943464bfa / moon 0.1.20261012、Node 24.15.0；不改全局 SDK，不操作用户原始资料或既有任务。新增 0.6 源码不等于注册表已发布；本轮授权仅 GitHub，Mooncakes 保持 0.5.0。

| 检查           | 实际结果与边界                                                                                                                                                                                                                                                                           |
| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 四目标         | 30 个不同核心用例各在 JS/Wasm/Wasm-GC/Native 执行一次，共 120 次测试；check/build/test/示例/fmt/deny-warn 通过。新增调度规则 300 组边界交叉组合，不代表所有产品故障组合                                                                                                                  |
| 完整 Node/HTTP | 最终完整 126 项中 125 通过、0 失败、1 原生 PostgreSQL 专项明确跳过（无真实服务）；取消修复后完整重跑通过。实际数据库必须以本次提交的专用 CI 为准，不能沿用 0.5 的成功结果                                                                                                                |
| 核心覆盖率     | 437/470，约 92.98%，仅 core 范围，不是整个应用的行/分支覆盖率                                                                                                                                                                                                                            |
| 调度/健康      | 实际统一计划到期执行、重复入口与活租约拒绝、次数/间隔限制、时间回退阻断、禁用不依赖在线源盘；工作台仅对明确 opt-in 计划执行；旧快照/未来/过期/缺失副本证据、运行中状态不能报整体通过；重试耗尽不因“无到期任务”报成功                                                                     |
| 保留策略       | 固定快照实际内容校验、保护窗口、策略更新使旧清理确认失效，失败更新保留旧策略，旧批次/过年轻隔离/固定快照永久删除拒绝；不是不可变存储或同用户恶意删除防护                                                                                                                                 |
| 签名与锚点     | 实际 Ed25519 签验、密码加密 PKCS8、独立公钥/首条摘要、幂等重放、有效签名分叉/跳号/回滚拒绝、内容/签名损坏与错误密钥拒绝；不是 Authenticode 或独立安全审计                                                                                                                                |
| 独立救援       | 实际明文与加密仓库、移动仓库后全新私有状态恢复/读回，旧任务/索引/日志不参与；缺少独立密钥失败，错误配方/运行程序修改/加密配置替换拒绝；源树不变、目标不覆盖。仍在同一主机，不冒称跨主机/介质证明                                                                                         |
| 救援取消维护   | 复查修复两层进程只停止协调器的风险：私有父控制文件向内层转发取消，worker 同时检查协调器身份/控制文件，磁盘控制写失败尝试使控制文件失效；实际观察到内部 worker 后取消、返回后无目标延迟发布、源树不变，以及控制丢失/取消/死父 PID 门禁通过。是协作取消，不承诺不可中断系统 I/O 的即时强杀 |
| 恶意运行包     | 路径穿越、绝对路径、反斜线、非法摘要、超文件数、硬链接与超大成员在执行前拒绝；脱敏诊断不包含源路径、文件名、计划名/ID、环境或原始错误                                                                                                                                                    |
| 实际浏览器     | 实际 Edge + Playwright，原流程和新增调度启用/间隔/禁用控件通过，1440/390 px 无横向溢出/页面错误/localStorage 凭据；截图复核修正勾选框对齐，截图仅私有                                                                                                                                    |
| 三轮重复恢复   | 每轮 42 文件/3 版本，完整校验、恢复读回与副本核验通过；20239/18341/19678 ms，同时运行其他测试，非稳定性能或长期生产指标                                                                                                                                                                  |
| 实际 >2 GiB    | 2147483649 字节，备份 127587 ms、全校验 30954 ms、restore-resumable 79559 ms；独立 SHA-256 为 97439b504cb2e2c38a52cd601e1104151606a2b97d60e8ff3298b8c004fb1087。备份/校验峰值 RSS 为 316816/79780 KiB；恢复编排未采集子进程 RSS，不补造。样本为零/末尾标记，不代表任意数据或格式上限规模 |
| 实际旧包       | 真实独立 0.2.0 包双向内容恢复与分块引用一致性通过，不将内容兼容扩大为全部属性兼容                                                                                                                                                                                                        |
| 本地运行包     | Windows 内置官方 Node v24.15.0、69 个白名单文件，校验/许可及实际加密/SQLite/可靠任务/归档/密钥迁移、新调度/策略/签名锚点/独立救援/脱敏诊断冒烟通过；未公开附件、EXE 未签名。屏蔽全局 Node 的 --check/--install-check/--host-check 通过；不等于人工安装/托盘交互                          |
| 正式注册表     | 独立重新安装 0.5.0 并四目标检查/构建/运行、各 3 个消费测试通过；没有执行 0.6.0 发布或覆盖旧包                                                                                                                                                                                            |

首次完整回归发现启动器测试硬编码 0.5.0，修复为严格匹配 package.json 声明版本后重跑通过；新增调度早期测试还暴露 MoonBit Int 参数字符串解析不匹配，修正为受限十进制解析，不放宽失败门禁。开发阶段失败不描述为成功。

> 2 GiB 专项采集后新增的父子取消修复，另由实际 32 MiB 内层 worker 中断及最终完整回归覆盖，不将同一次大文件数据伪称多次执行。

默认复现 `npm run validate`；专项见 RELIABILITY_0_6。Windows 任务 XML/精确确认门禁已测试，独立授权的真实系统任务演练不在默认验证中，本轮尚未实际注册。分段 live 清单、对象 pack、原生 VSS、WAL/PITR、发布者代码签名未实现，真实云/物理断电/长期生产未验证。五阶段路线不能整体标成完成，剩余范围见 UPGRADE_EXECUTION。远端提交与 CI 按 PUBLICATION / Actions 的对应 SHA 核对。

远端精确 `bbabe10` 的 [CI 39101210940](https://github.com/bzhangui/moonrestore/actions/runs/39101210940) 四项全部成功：Windows 125 通过/1 PG 专项跳过；Ubuntu/macOS 各 121 通过/5 跳过（4 Windows 专项 + 1 PG），均 0 失败；三平台运行包和四目标通过。单独原生 PostgreSQL 16 作业 **1 通过/0 跳过**，实际新库恢复并验证行数/长字段。不是生产或外部试点。最终包的可选签名核验入口还以临时合成密钥实际验证通过，不将测试密钥称为发布者证书。

## 0.5.0 可靠任务与运输归档（2026-10-17）

Windows x64，项目私有 moonc 0.10.15+943464bfa / moon 0.1.20261012，Node 24.15.0。以下是开发维护阶段实际执行，0.4 及更早章节均为历史记录。源码推送、精确提交 CI 及后续授权的 Mooncakes 发布与独立消费另见 PUBLICATION。

后续正式发布核验：0.5.0 已获 200 OK，精确版本及 latest 查询成功、未撤回，实际上传 ZIP 与注册表 SHA-256 一致。独立项目从注册表下载后，四目标 check/release build/运行断言及各 3 个消费测试通过；新增恢复/检查点/状态/时钟 API 可公开消费。原始开发结果不因发布而扩大为真实生产验证。

| 检查                      | 本轮结果与证据边界                                                                                                                                                                                                                                                                                 |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 四目标                    | 27 个不同核心用例 × JS/Wasm/Wasm-GC/Native，各自 check/build/test/核心示例、fmt/deny-warn 通过，共 108 次核心测试执行                                                                                                                                                                              |
| Node/HTTP 全量            | 加密日志隐私和 libpq 修补后完整 114 项：113 通过、0 失败、1 跳过。跳过的仅为专用原生 PostgreSQL CI 夹具，本机无客户端或运行中 Docker，不将跳过算通过                                                                                                                                               |
| 核心覆盖率                | 425/458，约 92.79%；新增操作规则 14/14。仅 MoonBit core，不是全系统覆盖率                                                                                                                                                                                                                          |
| 持久备份/恢复             | 实际子进程硬退出后验证续作；文件源身份/目录清单/内容、坏日志、错密钥、发布前缀、抢占目标、发布确认中断、旧快照不变。备份仍为文件级检查点，恢复为验证前缀后补写                                                                                                                                     |
| 孤儿进程/暂存树           | 活工作进程租约即使父协调器可恢复也拒绝第二写入者；额外暂存文件拒绝发布。活租约为受控替身测试，不冒称已做每一种 OS 杀进程时序                                                                                                                                                                       |
| 私有日志                  | 加密源日志认证加密；检查点文件名使用带密钥标识，外层不暴露明文摘要；规范 Base64/预算、身份/摘要/认证、会话凭据门禁回归                                                                                                                                                                             |
| 统一计划                  | 实际备份→完整验证→隔离恢复读回→第二仓库审计；分项证据、异常拒绝保留旧点、时钟回退/超期、未知凭据字段拒绝；多个计划的失败状态不能由另一个成功计划覆盖                                                                                                                                               |
| 运输归档                  | 零/随机/空文件/Unicode/多页往返与完整仓库审计、源树不变；坏根/页/段、路径穿越、跨页重复、固定摘要恶意归档及 >1 MiB 解压炸弹拒绝；不是分段 live manifest 或无限规模证明                                                                                                                             |
| S3 受控故障               | 429→503→成功、重试耗尽和总期限、403/409/坏校验和/重定向不重试成功化；保留既有 SigV4 官方向量及加密副本往返。不是云商 IAM/Object Lock 实测                                                                                                                                                          |
| PostgreSQL 本机与原生 CI  | 本机受控 custom 导出/展开/仓库验证/磁盘恢复及坏头/失败/预算/隐式远端拒绝、libpq 环境清理测试。修复后的 CI 39014458667 原生 PostgreSQL 16 导出→备份→文件恢复→新数据库 SQL 恢复/行数/100万字符字段断言全部通过，1 通过/0 跳过；不是生产或外部试点                                                    |
| 磁盘故障                  | 自建夹具内注入 ENOSPC/EACCES/EROFS，原控制记录和源不变；恢复写失败不发布，续作独立读回通过。不等于实际硬件断电、坏块或驱动器缓存持久性验证                                                                                                                                                         |
| 实际浏览器                | 实际 Edge + Playwright 跑完原流程和新计划保存/运行/分项证据、同意新目录的可续作恢复；1440/390px 无横向溢出或页面错误，截图人工复看，localStorage 无凭据。沿用原生 JS/CSS，不引入外部资产                                                                                                           |
| 三轮重复恢复              | 每轮 42 文件/3 版本，完整诊断、历史恢复读回、副本核验通过；30650/21227/19178 ms。与其他测试同时运行，不是稳定性能基准或长期试点                                                                                                                                                                    |
| 实际 >2 GiB 新恢复 writer | 实际 2147483649 字节，普通流式备份 162712 ms、全校验 41219 ms、**restore-resumable** 81813 ms，独立流式 SHA-256 一致（97439b50…fb1087）。备份/校验子进程峰值 RSS 为 312384/72408 KiB；编排恢复未采集子进程 RSS，不补造数据。样本为零和末尾标记，不代表任意数据吞吐、备份文件内部续传或格式上限规模 |
| 实际旧包及原生宿主        | 独立 0.2.0 包双向恢复/分块引用一致性实际通过；Windows 屏蔽全局 Node 后的 --check/--install-check/--host-check 通过，原生宿主授权启动/停止成功。非交互验证不等于点击安装/托盘窗口                                                                                                                   |
| 运行包/许可证             | 最终 Windows 内置 Node 24.15.0 包 60 文件，SHA-256 白名单及真实加密/SQLite/救援/巡检/索引、可靠备份恢复、计划、归档和新密钥迁移冒烟全部通过，不只检查文件存在。Apache-2.0/NOTICE、Node 完整上游许可保留；不上传包，EXE 未签名                                                                      |
| 发布隐私                  | `moon package --list` 检查通过；源码/包无申报书、真实数据、密钥、私人报告、工具链和运行状态。使用 GitHub noreply 提交邮箱；不执行 moon publish                                                                                                                                                     |

复现：`node scripts/validate.mjs`，`node scripts/repeat.mjs 3 40`；浏览器先启动 ui-pilot，再运行 browser-qa SESSION；`node scripts/large-file.mjs --durable-restore` 为实际 >2 GiB 新恢复写入专项；`node scripts/package-desktop.mjs` 重建独立运行包并执行全部包内功能冒烟。所有夹具是合成资料。大文件本次原始控制台日志私有保留，临时夹具和夹具内报告已清理；脚本随后将运行状态限定在子进程临时目录，使后续私有汇总报告不会随夹具清理。

缺口明确保留：原生 VSS 请求器和分段 live manifest **未实现**；默认 PostgreSQL 命令不执行 SQL 恢复。真实云账户/独立硬件/跨主机/物理断电/长期生产/外部用户和人工托盘/安装交互未完成，不能由模拟或 CI 数据库替代。开发阶段仅源码/本地包，后续正式注册表发布状态单列 PUBLICATION，不将发布成功等同于填补功能或生产验证缺口。

真实 PostgreSQL CI 首次运行未通过，定位为 libpq 把空 PGSERVICE 当成“空名称服务”，而不是未配置；本机受控替身此前未捕获这项真实客户端语义。修复为删除继承的服务/路由选项，仅保留明确凭据/TLS 环境，再设置受限连接参数，新增环境回归；不输出原始客户端错误或密码。对应修复后 CI 状态见 PUBLICATION，不将首次失败掩盖为成功。

## 0.4.0 恢复优先升级（2026-10-17）

本机 Windows x64，moonc 0.10.15+943464bfa、moon 0.1.20261012，Node 24.15.0，项目私有 SDK；不改全局工具链。以下是本轮实际执行，不复用旧版结果。远端推送/CI 与注册表状态另见 PUBLICATION。

| 检查           | 实测结果和范围                                                                                                                                                                                                              |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 四目标         | 24 个不同核心用例在 JS/Wasm/Wasm-GC/Native 各通过一次，共 96 次执行；check/build/test、核心示例、fmt、deny-warn 通过                                                                                                        |
| Node/HTTP 全量 | 最后全量 94 项通过，0 失败/跳过，包含末次大索引修复；早期原工作台文件在基线并行跑失败一次，隔离复跑与后续全量均通过，没有跳过或放宽门禁。参数校验后恢复/HTTP 专项 14 项也单独通过                                           |
| 核心覆盖率     | 411/444，约 92.57%；新增 recovery 27/28。仅 core，不是全产品行/分支覆盖率                                                                                                                                                   |
| 救援与重建     | 严格只读操作拒绝、部分恢复、新目标抢占、写后磁盘篡改、源树不变、失效确认、主清单损坏、双边坏对象拒绝、不同密钥供体/新密钥重建、禁止加密降级                                                                                 |
| 持久巡检/索引  | 不完整周期不报全量通过、失败保留、过期/损坏状态拒绿、同路径仓库替换证据失效、超小/非法预算拒绝；索引变化失效/损坏拒绝、加密名称隐藏与密钥门禁                                                                               |
| SQLite         | 实际在线 WAL 源、已提交/未提交事务区分、恢复后 SQL 查询、无效源无快照、明文暂存清理、纯会话密码加密备份与报告不含密码                                                                                                       |
| S3 受控服务    | 官方独立 SigV4 向量、本机 HTTP 条件写/412 不覆盖、校验和、版本、保留返回不足拒绝、固定摘要下载、错误密钥/坏成员/路径穿越/预算/重定向/明文源拒绝；不是实际云商验证                                                           |
| 快照提供器     | 仅合成租约生命周期：writer 未就绪、挂载重叠、释放失败、取消后释放精确租约；不创建系统 VSS，不宣称应用一致性                                                                                                                 |
| 实际浏览器     | 实际 Edge + Playwright，原 0.3 全链路及新增救援明确接受/确认失效、恢复读回、健康完整周期、无密钥清单与重建确认失效；1440/390px 布局无横向溢出/页面错误、localStorage 无凭据。截图仅私有                                     |
| 长历史样本     | 500 文件 × 12 版本 = 6000 索引行；索引和逐版检索各得 12 条一致结果；500 文件分 5 批完成巡检。创建历史 185268 ms、索引 4505 ms、索引检索 276 ms、完整逐版检索 13748 ms、巡检 9279 ms；同时运行其他任务，非稳定吞吐或生产承诺 |
| >2 GiB 复测    | 实际 2147483649 字节，备份 137195 ms、校验 40569 ms、严格恢复 82623 ms，独立流式 SHA-256 读回一致。子进程峰值 RSS 分别 309068/68348/80692 KiB；不是新救援 writer 的 >2 GiB 实测，也不是 profile 上限规模                    |
| 重复恢复       | 3 轮，每轮 122 文件/3 版本，完整诊断、历史恢复读回和副本核验通过；40893/40141/37624 ms，非长期生产                                                                                                                          |
| 旧版兼容       | 实际独立 0.2.0 运行包与 0.4 双向内容恢复通过，分块引用一致；属性兼容不因此推断；压缩仍只是原型评估，未启用仓库压缩                                                                                                          |
| 本地包         | 普通包 46 文件、内置官方 Node 包 52 文件，SHA-256 白名单/许可证/独立 CLI 冒烟通过，包含新救援/巡检/索引/提供器入口；Windows 原生宿主在屏蔽全局 Node 后启动、授权访问及停止通过；末次说明更新后重新打包                      |
| 隐私与发布     | Mooncakes 包列表门禁通过；私人申报书/报告、数据、密钥、SDK/运行时缓存不在公开源码或发布清单。本轮只 GitHub、不执行 moon publish                                                                                             |

远端 f7453db 对应三平台 CI 38998994913 已全部成功，后续 CI action 运行时维护单列 PUBLICATION。最终包额外验证实际调用包内 SQLite worker、备份及恢复读回；不是只检查该文件存在。

最终边界复核另复现索引旧 Base64 正则在 8/16 MiB 合法载荷触发 RangeError；已改用有预算的解码与规范编码回比，并保留 SHA/认证校验。新增专门载荷解析回归（不是伪造 16 MiB 真实历史），覆盖 1/8/16 MiB、密文开销边界、超限/非规范 padding/非法字符。补丁后重新执行完整四目标及 94 项 Node/HTTP、三场景、411/444 core 覆盖率和包隐私门禁全部通过；重新生成 52 文件内置运行时包，包内 SQLite/救援/巡检/索引冒烟及无全局 Node 原生宿主检查通过。此前远端 93 项记录属于补丁前提交，最新精确提交以 Actions 结果为准。

复现入口：scripts/validate.mjs、scripts/repeat.mjs 3 120、scripts/history-scale.mjs、scripts/large-file.mjs、scripts/compatibility-qa.mjs OLD_0_2_BUNDLE、scripts/package.mjs、scripts/package-desktop.mjs、scripts/desktop-qa.mjs DESKTOP_BUNDLE。浏览器：另行安装 Playwright，先启动 scripts/ui-pilot.mjs，再运行 scripts/browser-qa.mjs SESSION_FILE；停止只清理本次合成夹具。各规模报告/密钥/原始日志不提交。

大文件样本为零和末尾标记，SHA-256 97439b504cb2e2c38a52cd601e1104151606a2b97d60e8ff3298b8c004fb1087；不代表任意随机数据去重率。真实 VSS 请求器、新编码、通用字节级续传尚未实现。真实 S3/IAM/Object Lock 保留期、独立介质/NAS/跨主机、硬件断电、长期生产、外部用户及原生托盘/安装窗口人工交互未验证；模拟不能替代。下面均是相应旧版本的历史记录。

## 0.3.1 未发布源码补丁

新增真实 Windows PowerShell UTF-8 JSON 传输回归，覆盖中文、引号与表达式样式数据，修复桌面提醒乱码。备份格式/分块/恢复算法未修改；0.3.0 的大文件、重复恢复和兼容性证据仍标注其实际版本，不冒充另跑了全套规模测试。补丁的完整回归与 CI 结果见 PUBLICATION；Mooncakes 0.3.1 未发布。

补丁本机结果：64 项 Node 测试通过、无失败/跳过，22 核心用例 × 四目标通过，core 覆盖率 384/416；三场景、包隐私门禁、40 文件桌面包及无全局 Node 的原生宿主检查通过。中文传输测试只回显合成数据，不伪称已确认 Windows 通知投递。

## 0.3.0 实用性维护验证（2026-10-16）

本机 Windows x64，moonc 0.10.15+943464bfa / moon 0.1.20261012，Node 24.15.0，仍使用项目私有 SDK。以下为本轮实际执行结果；远端与正式发布状态单独在 [PUBLICATION](PUBLICATION.md) 更新。

| 检查           | 结果与边界                                                                                                                                                                                                                                          |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 四目标完整验证 | 22 个不同核心用例在 JS/Wasm/Wasm-GC/Native 各通过一次（88 次执行）；检查、构建、示例、格式和 deny-warn 均通过                                                                                                                                       |
| Node 回归      | 最终完整回归 63 项通过、0 失败/0 跳过；其中新增专项 13 项，包含旧配置升级/回退及初始化成功反馈                                                                                                                                                      |
| 核心覆盖率     | 384/416，约 92.31%；仅 core，不代表整应用覆盖率                                                                                                                                                                                                     |
| 受控多版本     | 三轮各 122 文件/三版本，恢复读回、完整诊断和仓库副本均通过；约 37.58/37.19/37.56 秒，非性能承诺                                                                                                                                                     |
| 实际 >2 GiB    | 2,147,483,649 字节备份/校验/恢复/独立 SHA-256 读回通过；分别 146983/32208/66980 ms，子进程峰值 RSS 308220/81128/83888 KiB                                                                                                                           |
| 真实旧版兼容   | 独立 0.2.0 运行包与 0.3.0 双向内容恢复及分块引用一致性测试；旧版本忽略新属性，不等于属性兼容                                                                                                                                                        |
| 新功能专项     | 元数据/恶意属性、多选范围和确认绑定、旧配置精确回退副本、任务编辑暂停、离线重试、第二仓库独立校验、205 文件游标分页、文本哈希预览、协作取消清理、加密会话与独立密钥演练、自动执行显式授权、端口失败无遗留任务、并发忙状态保护                       |
| 本地桌面包     | 内置官方 Node 精确版本及完整上游许可，经官方 SHA-256 核对；原生非交互校验、安装预检、屏蔽全局 Node 后真实宿主启动/授权访问/停止；最终包与浏览器交互结果见发布记录                                                                                   |
| 真实浏览器     | 实际 Edge 操作原恢复链路及任务编辑/暂停/恢复、多选恢复/权限变更确认失效、文本预览、版本比较、跨历史搜索、加密创建/密钥导出/密码重包装/重新解锁/独立密钥演练，全部通过；1440px/390px 截图检查及移动端无横向溢出，无页面异常，localStorage 未保存凭据 |
| 压缩评估       | 随机二进制、可压缩文本和 gzip 样本的 Brotli 原型；没有启用仓库压缩，单次混合备份未证明整体加速                                                                                                                                                      |

大文件样本主要为零、末尾有标记，采用 1 MiB 分块，SHA-256 为 `97439b504cb2e2c38a52cd601e1104151606a2b97d60e8ff3298b8c004fb1087`。其去重特征不代表任意资料的吞吐或收益，64 GiB/1 TiB profile 上限仍未实测。

复现入口：`node scripts/validate.mjs`、`node scripts/repeat.mjs 3 120`、`node scripts/large-file.mjs`；实际旧包兼容：`node scripts/compatibility-qa.mjs PATH-TO-0.2-BUNDLE`；Windows 桌面非交互检查：`node scripts/desktop-qa.mjs PATH-TO-DESKTOP-BUNDLE`。浏览器测试先运行 `scripts/ui-pilot.mjs`，再用另行安装的 Playwright 执行 `scripts/browser-qa.mjs SESSION-FILE`；夹具只含合成资料，完成后输入 stop 清理本次夹具。

原生托盘菜单、安装确认、目录选择器的人工点击尚未验收；不把非交互宿主测试等同于全部原生 GUI 测试。VSS 仅只读准备检查，没有阴影副本或数据库热备份。独立介质、NAS、跨主机、断电、长期生产和外部用户仍未验证。取消不撤销已提交的完整快照；默认 30 分钟预算、三分钟无进度门禁及强制终止边界见 [PRACTICAL_0_3](PRACTICAL_0_3.md)。

以下 0.2/0.1 章节为历史记录，其中旧版时限/属性限制不用于描述当前版。

## 0.2.0 本轮维护验证（2026-10-16）

Windows x64；moon 0.1.20261012、moonc 0.10.15+943464bfa，Node v24.15.0。使用项目私有工具链，不修改全局 SDK。下面区分实际运行结果与尚未取得的真实环境证据。

| 检查                       | 已执行结果与范围                                                                                                                                                                            |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 核心检查、构建、示例和测试 | JS、Wasm、Wasm-GC、Native 均通过；18 个不同核心测试各执行四次，共 72 次执行；警告视为错误，格式门禁通过                                                                                     |
| Node 维护回归              | Windows 本机 50 项通过、0 失败、0 跳过；包含原有恢复/故障测试及加密、密钥、任务、容量、源变化、保留/隔离/回滚和 HTTP 安全回归                                                               |
| 核心单元覆盖率             | 清理覆盖率后测得 319/345，约 92.46%；只代表 core，不能代表 Node/系统适配或全产品覆盖率                                                                                                      |
| 受控应用场景               | 科研资料历史恢复、团队资产增量去重、批处理部分回滚三个场景均断言通过                                                                                                                        |
| 重复性                     | 最终工具链 3 轮 × 每轮 122 个文件 × 3 个历史版本，完整诊断、第一版恢复回读、仓库副本核验均通过；约 45.1/42.8/41.8 秒。同时运行其他测试，非性能基准                                          |
| 真实浏览器操作             | 实际安装的 Edge，经 Playwright 执行容量预检、保存任务、确认备份、选择版本/文件、恢复预览、失效预览禁用、实际恢复、完整诊断、恢复演练及保留预览；桌面与 390px 移动视口无横向溢出、无页面异常 |
| Windows 系统能力           | 当前用户 DPAPI 实际封装/解锁通过；临时计划任务实际注册、立即触发并完成备份与演练，随后删除本次自建任务。不是跨用户、无人登录或长期日历时刻验证                                              |
| 运行包                     | Windows 白名单 27 文件 SHA-256 清单校验通过；在复制的运行包中执行历史恢复示例及加密备份/报告/恢复回读，不依赖 MoonBit SDK；仍需另装 Node ≥22                                                |
| 发布隐私                   | Mooncakes 包列表检查通过，申报书、私有状态/报告、SDK、密钥、备份与恢复数据均排除；许可证与 NOTICE 保留                                                                                      |

测试入口为 `node scripts/validate.mjs`，重复演练 `node scripts/repeat.mjs 3 120`，浏览器夹具与操作分别为 `scripts/ui-pilot.mjs`、`scripts/browser-qa.mjs`。`scripts/scheduler-qa.mjs` 是显式创建并清理测试任务的 Windows 专项检查，不默认改动系统调度。可选浏览器工具不属于应用运行依赖。

新回归覆盖错误密码/密钥、认证密文损坏、配置篡改、源/目标加密隔离、副本中断、仓库状态变化、保护快照、保留时间桶、隔离中断回滚、七天清理门禁、分页/未知参数拒绝、工作台跨站/未授权请求及恢复确认防覆盖。模拟时间推进只检验清理规则，不是实际等待七天。

### 最终工具链的真实 >2 GiB 流式检查

`node scripts/large-file.mjs` 实际创建 2,147,483,649 字节合成文件，备份后校验，再恢复并通过独立 Node 流式读取比较 SHA-256：

```text
97439b504cb2e2c38a52cd601e1104151606a2b97d60e8ff3298b8c004fb1087
```

| 操作     |   单次用时 | 子进程峰值 RSS |
| -------- | ---------: | -------------: |
| 备份     | 119,351 ms |    307,780 KiB |
| 完整校验 |  36,549 ms |     68,228 KiB |
| 恢复     |  66,942 ms |     79,792 KiB |

该样本使用 1 MiB 固定上下界分块，内容主要为零并有末尾标记，去重特征明显；不代表任意数据的吞吐或空间收益。总 RSS 包含元数据与运行时，不能由 16 MiB 缓存上限推断“恒定总内存”。64 GiB 单文件、1 TiB 单快照是 profile 拒绝阈值，未在上限规模实测。

### 远端及未完成范围

本轮源码提交 `a4b60a9` 的 [三平台 CI](https://github.com/bzhangui/moonrestore/actions/runs/38866239121) 已全部通过。Windows Node 回归 50 项通过；Linux/macOS 各 47 项通过，3 项 Windows 专项跳过；三平台核心覆盖率均为 319/345。Mooncakes 0.2.0 已正式发布，独立消费者四目标各 2 个测试通过。完整包校验和与发布记录集中在 [PUBLICATION](PUBLICATION.md)。

真实独立介质、第二主机、NAS、断电、长期生产负载与外部用户仍未验证。同一机器的复制目录、合成用户和进程/磁盘故障注入不能替代这些证据。工作台/任务每个核心子进程有 10 分钟编排时限；直接核心 CLI 可用于经测量后更长的单步任务。源码实现与受控测试完成，不据此宣称生产可靠性已全部验收。

## 0.1.0 历史维护记录

以下各节为 2026-10-09 的旧版本记录，保留复核；其中“不支持”仅指 0.1.0，不能用来判断 0.2.0 功能或发布状态。

### 已执行的本地验证

日期：2026-10-09。系统：Windows x64；moon 0.1.20260920、moonc 0.10.14、Node v24.15.0。执行入口为 `npm run validate`，不是只检查文件是否存在。

| 检查                    | 结果与范围                                                                                         |
| ----------------------- | -------------------------------------------------------------------------------------------------- |
| 格式与静态检查          | `moon fmt --check`，四目标检查均通过，警告视为错误                                                 |
| 构建与核心测试          | JS、Wasm、Wasm-GC、Native 均通过；13 个核心测试各运行四次，共 52 次执行，不是 52 个不同用例        |
| 核心可运行样例          | 四目标均运行成功                                                                                   |
| Node 文件系统及交互测试 | 24 个测试通过，Windows 本机 0 跳过；包含 17 个集成、4 个平台、2 个 Windows 启动器及 1 个运行包测试 |
| 受控用户场景            | 科研资料历史恢复、团队资产增量去重、批处理部分回滚三个场景均由断言验证                             |
| 核心单元覆盖率          | 226/242，约 93.4%；仅为 core 单元测试覆盖率，不代表整个应用覆盖率                                  |
| 便携运行包              | 白名单打包、16 文件 SHA-256 清单验证、独立目录运行冒烟测试通过；用户另装 Node ≥ 22                 |

核心测试覆盖分块边界、哈希标准向量、配置与资源预算、清单编解码、严格整数、路径安全、大小/哈希不一致和快照差异。端到端测试覆盖八个历史版本恢复、九类恶意清单、缺失与损坏对象、分块重同步去重、排除项、并发锁、链接/硬链接拒绝、源变化、预算、进程中断、磁盘空间不足注入及提交时目标已出现的防覆盖行为。

启动器实际执行了空备注备份，确认不是仅打开菜单。`status` 检出缺失对象时返回非零退出码；统计输出明确声明不能替代完整校验。

## 受控性能探测

固定规模 8 MiB 合成文件，首次备份新增对象 8,388,608 字节；未修改再次备份新增对象 0 字节；恢复文件 SHA-256 与原文件一致。

| 操作           | 本次用时 | 子进程峰值 RSS |
| -------------- | -------: | -------------: |
| 首次备份       | 2,659 ms |     80,300 KiB |
| 未修改再次备份 | 1,771 ms |     77,348 KiB |
| 完整校验       | 1,422 ms |     53,084 KiB |
| 恢复           | 2,603 ms |     53,280 KiB |

这是一次本机小样本测量，不是吞吐承诺、长期生产压测或 NAS 性能结果。重跑 `node scripts/benchmark.mjs` 会记录新结果，硬件和文件系统不同可能变化。团队场景中对 1 MiB 文件插入 12 字节后复用 970,921/1,048,588 字节，约 92.6%；并非任意修改均有同等复用率。

## 远端 CI 验证

[CI 运行 37942722864](https://github.com/bzhangui/moonrestore/actions/runs/37942722864)，对应源码提交 `958404b831f7d30d243db2b7e28c28febc6a83a0`，Windows、Ubuntu、macOS 全部成功。三平台均执行四目标检查/构建/核心测试及示例，核心覆盖率一致；运行包 Windows 16 文件、Unix 17 文件（多一个 C 排他提交程序）校验成功。

Windows 文件系统与启动器 24 个测试均通过；Linux/macOS 各通过 22 个测试，两个仅适用 Windows PowerShell 启动器的测试明确跳过，不是跳过核心恢复验证。首轮 CI 暴露全新机器没有依赖索引的问题，已修复为构建前更新索引，并在全新三平台 runner 上通过。

## 证据边界和后续维护

- 当前远端结果证明所测平台和用例通过，不等于所有硬件/文件系统都兼容。
- Mooncakes 已正式发布，并在独立消费项目验证下载后的四目标检查、运行和测试；完整发布证据见 [PUBLICATION](PUBLICATION.md)。早先 dry run 本身不算发布证据。
- 故障演练采用进程终止和错误注入，不等于真实断电验证。
- 三个模拟用户场景不等于真实合作方试点。独立介质、NAS、长期运行和真实用户验证仍未完成。
- 0.1.0 不支持加密或历史垃圾回收；0.2.0 增加这两项的受限实现。两版仍不保留 ACL/时间戳/权限，也不提供数据库热备份，不能把未实现能力当作产品功能。
- 任何新增行为必须补回归测试；上游工具链变化需重新运行四目标检查及三平台 CI。
