Files
noname-shuying/docs/comet/archive/2026-10-13-mengsan-lifecycle-fixes/verification.md
T

6.7 KiB
Raw Blame History

generated_from_state_version
generated_from_state_version
11

Verification

Current result

  • Result: Archived
  • Verification status: Checks completed; result confirmed
  • Goal cycle: 1
  • Iteration: 1
  • Verifier attempt: 1
  • Completed: 2026-10-13T02:32:58.872Z
  • Summary: 独立只读验收A1-A6全部通过;当前候选正式回归46/46与语法检查通过,未发现本次范围内实质失败。PC/安卓整局未实测。

Acceptance

ID Result Source Criterion Reason
A1 passed brief.md 装备八卦等只登记于装备/已初始化技能来源的角色整局退出后,该旧角色的 initedSkills 和对应触发登记清除;连续退出多局不累积这些登记。 skill-teardown.js:125-130、142-150、184-216 清点 initedSkills 与装备技能,按角色使用原生 removeEquipTrigger/removeSkillTrigger。test_battle_lifecycle.mjs:108-140 使用本地1.11.5.2原生方法验证连续三局八卦旧角色登记归零、仅初始化来源和另一角色登记保留;Runtime regressions 第1-2行通过。
A2 passed brief.md 需要执行的装备卸载回调及其子事件在整角色销毁之前完成;回调失败可向外部传播并记录,已执行的释放回调不会因重试再次运行。 skill-teardown.js:148-182 包装本次装备卸载产生的已编译事件及后代内容,排空后记录并抛出原始失败;93-117 正常退出释放根事件,131-133、223 缓存操作避免重放。battle-flow.js:52-60 在session.dispose前等待释放;test_battle_lifecycle.mjs:143-171、241-254 验证回调/子事件顺序、两种ignore_error失败传播、一次执行及栈排空,Runtime第3-5、9-10行通过。
A3 passed brief.md 既有受保护技能策略保持:纯元数据标记可以保留在退场对象上,活动技能正确释放,局内单技能保护继续有效;其他角色持有的共享全局技能登记保持有效。 skill-teardown.js:5-15、184-197 保留纯元数据受保护标记,10-90 区分活动技能整角色卸载与局内保护。test_skill_teardown.mjs:40-119及121-158的9项回归通过;test_battle_lifecycle.mjs:127-140 以原生globalmap确认另一角色共享全局登记保留;未清空公共hook/skill或修改Player原型。
A4 passed brief.md 战斗准备抛出异常时,无论引擎 ignore_error 为 true 或 false,外部控制器都能收到原始异常并结束等待,进入已有战斗异常退出路径,不继续战斗或进入奖励结算。 mode.js:900-919 在prepareBattle内容内保存原始错误、requestStop,root.start排空后唤醒外层;920-930 异常提示及模式选择分支绕过结算。与原生gameEvent.js:196-257吞错/栈弹出逻辑一致;test_battle_lifecycle.mjs:208-227 两种ignore_error在2秒内退出、Error身份一致、栈为空,Runtime第6-7行通过。
A5 passed brief.md 准备失败生成梦三诊断记录并保留原始错误上下文;该失败路径不提交胜负结果、不改变上次成功存档、不发放奖励;正常准备和正常结算路径继续有效。 mode.js:900-906记录原始Error与sessionId/runId/nodeId;失败分支928返回,不进入930结算。mode-storage.js:11-16、125-126读取存档副本,准备期间不提交新结果;test_battle_lifecycle.mjs:208-239、256-280 验证失败存档基线不变、提交0次、实际临时诊断JSON含原栈/节点和正常提交1次。结算后清理失败不重发奖励及相关诊断/事务回归通过。
A6 passed brief.md 提供可重复执行的装备登记与原生事件异常回归,相关受保护技能/结算/诊断回归通过;独立只读验证报告明确列出未实测的 PC 和安卓整局限制。 完整brief和Spec的A1-A6均独立核查。Runtime state.json:5-8、25-70 当前候选绑定和工作区正确,regressions 46 tests/46 pass/0 fail/skip;syntax exitCode=0。关键回归抽取本地1.11.5.2原生GameEvent、ArrayCompiler、Player与全局登记卸载源码;README.md:60-62提供重复入口及PC/安卓限制。复用有效检查,无重复整套运行。

Checks

Check Command Working directory Status Exit Duration
relevant-regressions -NoProfile -Command $env:NONAME_ROOT = 'D:\Work\noname\resources\app'; & 'C:\Program Files\nodejs\node.exe' --experimental-vm-modules --test tools/test_battle_lifecycle.mjs tools/test_skill_teardown.mjs tools/test_diagnostics.mjs tools/test_mobile_memory.mjs tools/test_intent.mjs tools/test_event_compilation.mjs; exit $LASTEXITCODE . passed 0 763 ms
syntax-and-whitespace -NoProfile -Command & 'C:\Program Files\nodejs\node.exe' --check mengsan/battle/skill-teardown.js; if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }; & 'C:\Program Files\nodejs\node.exe' --check mengsan/mode.js; if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }; git diff --check; exit $LASTEXITCODE . passed 0 461 ms

Builder-reported evidence

These are Builder reports, not Runtime check receipts or independent verification results.

  • targeted lifecycle and protected teardown: passed — 20/20;后续仅格式调整后生命周期11/11再次通过。
  • diff whitespace: passed — git diff --check 通过;正式候选需复核最终修改。
  • Known limitation: 未执行PC或安卓客户端整局;本地引擎证据为无名1.11.5.2的原生事件/编译器和登记卸载函数,外围服务为最小依赖桩。
  • Known limitation: 未修改其他扩展或无名引擎;不承诺所有外部扩展及所有客户端版本兼容。
  • Known limitation: 旧审查的16个旧夹具失败未全面改造,本次仅相关有效回归。
  • Known limitation: 实现位于独立工作目录;尚未提交合并推送发布。
  • Known limitation: codebase-memory技能已读取,但本会话未暴露图谱工具,结构证据以源码核对为准。

Blockers

None.

Risks and skipped work

  • 未执行PC或安卓客户端完整对局;验收依据为源码核查和自动化回归,不能视为实机证明。
  • 原生事件/编译器/登记卸载方法由本地无名1.11.5.2源码抽取,事件管理器、界面、外围服务和结算入口有最小依赖桩;不承诺其他客户端版本或所有外部扩展改写兼容。

Previous iterations

Goal cycle Iteration Attempt Outcome Unresolved Summary Completed
1 1 1 pass — 独立只读验收A1-A6全部通过;当前候选正式回归46/46与语法检查通过,未发现本次范围内实质失败。PC/安卓整局未实测。 2026-10-13T02:32:58.872Z

Conclusion

独立只读验收A1-A6全部通过;当前候选正式回归46/46与语法检查通过,未发现本次范围内实质失败。PC/安卓整局未实测。