Files
MoonBridge/docs/records/2026-09-26-validation-log.md
T
Claude 4def198cc0 docs: 修正 CI 引用、拆出历史验证记录并统一中文文档
- CLAUDE.md、testing.md、publishing.md 的 .gitea 路径改为实际的 .github/workflows;
  说明 verify.yml 在 PR 上运行 check
- testing.md 中带日期的逐轮结果迁到 docs/records/
- README 精简为简介、快速开始和入口;配置与迁移细节只保留在 operations.md
- channel-messaging-v2.md 更名为 channel-messaging-contract.md,与 transfer-coordination.md 一起译为中文
- benchmarks/results 中两个记录改为日期前缀命名
- 新增 compileBenchmarks 并挂到 check,防止 benchmarks/ 静默失效
- .gitignore 删除不存在的 deployment/ 条目

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GGL9BudzWm4dUQgBsQw4Qr
2026-10-20 21:06:01 +00:00

4.6 KiB

2026-09-26 验证记录

本文件从 验证方法 迁出,保留当时的结果原文;数字与结论只对应记录注明的实现和日期。

玩家操作与服务器列表验证记录(2026-09-26)

完成玩家操作设计的首批实现后,运行 ./gradlew.bat check --offline 通过。最终报告共 194 项测试(API 7、核心 174、DNS 6、Agent 7),失败、错误和跳过均为 0;安装包帮助、版本和配置校验通过。

本轮新增或扩展的验证包括:完整连接身份校验;PLAY 消息与普通包连续转发;未就绪、连接不可写及 64 条未完成消息上限;消息排空后主动断开;重复断开与调用方取消;准入/选服等待期间的 LOGIN 断开;Login Success 写入未完成时的 PLAY 包顺序;断开写入失败或停滞时的有界清理;转服暂停期间断开的候选后端与索引释放。在线协议测试用实际 RSA/AES 链路核对加密消息与断开,身份验证器仍为注入实现。

服务器列表测试核对默认/自定义 MOTD、展示人数与实时在线人数、非 BMP 字符、JSON 转义、完整响应长度、PNG 文件/尺寸/路径校验,以及经真实 TCP 管线的 STATUS 与 Ping/Pong。插件宿主关闭时先终止事件派发再撤销订阅,避免排队准入链跳过已撤销策略而返回允许。文档相对链接检查通过。

本轮没有使用真实 Mojang 登录会话、目标整合包或生产负载;没有进行性能对比。远端 CI 的执行结果单独记录在 PR 中,本地通过不表示 Runner 或部署环境已验收。

统一事件模型验证记录(2026-09-26)

统一为 Event<R> / EventListener<E,R> 后运行 ./gradlew.bat check --offline。最终报告共 178 项测试(API 7、核心 158、DNS 6、Agent 7),失败、错误和跳过均为 0;安装包帮助、版本和配置校验通过。

本轮覆盖统一订阅的类型推断、准入的允许/拒绝/空结果/异常/超时/过载、异步通知按监听器和事件顺序完成、通知超时后的队列推进、空通知 stage 的异常隔离,以及取消后停止监听器链、取消回调离开调用线程、宿主关闭后迟到 stage 的取消。既有合成 TCP 登录、身份验证顺序、转服提交/断线通知、命令与普通 PLAY 转发回归通过。文档相对链接检查通过。

本轮没有运行目标整合包、真实 Mojang 在线服务或事件吞吐基准。测试中的在线身份验证器为注入实现;这些结果验证功能与并发边界,不能推出性能收益、零开销或生产容量。

历史类型化事件验证记录(2026-09-26)

以下结果针对当时的事件 API 与派发实现。运行 ./gradlew.bat check --offline 的报告共 174 项测试(API 7、核心 154、DNS 6、Agent 7),失败、错误和跳过均为 0;安装包帮助、版本和配置校验通过。这些数字只对应当时的实现;当前统一 Event<R> / EventListener<E,R> 模型的验证见上一节。

当时的覆盖包括认证前/认证后拒绝、加密断开消息、异步等待与取消、超时和容量上限,启动阶段注册与冻结、异步准入期间注销订阅、通知顺序/异常隔离/有界队列、启动失败时撤销订阅。合成 TCP 流程还核对首次进入后端、转服提交与断线通知,以及失败/同服转服和重复关闭不会多发通知。普通 PLAY 聊天与代理命令回归通过。

这轮旧模型验证没有运行吞吐对比或目标整合包测试;在线认证测试使用注入的会话验证器。它不能推出统一事件系统无开销或已达到生产容量。

历史访问检查验证记录(2026-09-26)

以下记录验证的是 2026-09-26 当时基于专用访问钩子的实现。它是历史结果;类型化事件 API 的验证见上一节。

新增访问检查时先运行 ./gradlew.bat check --offline --rerun-tasks;最后的并发清理修正后,再运行 ./gradlew.bat check --offline,重新执行受影响的核心测试与发行包烟测。最终报告共 167 项测试(API 6、核心 148、DNS 6、Agent 7),失败、错误和跳过均为 0;安装包帮助、版本与核心配置校验通过。

新增覆盖包括协议解析前的 IP 拒绝、身份建立后的玩家拒绝、异步等待期间的数据回放、加密登录断开消息、断线取消、超时、异常、工作队列与未决 stage 容量上限,以及进入 PLAY 后不重复调用访问检查。在线身份测试使用注入的会话验证器,未连接真实 Mojang 服务。本次未测量接入吞吐或真实数据库延迟;以下基准均保留各自的历史版本与验证范围。