给 Agent 配的 Phaser 检查工具箱,这一版把玩测内核补齐了。
expect-within 轮询断言
时序敏感的断言加 "within": 2000,毫秒窗口内轮询直到满足,超时才失败并报告实际等待时长。来历是真实失败,最早的示例剧本连栽三次,全是"按了键但状态没就绪";SwordIdle 的击杀递增断言前面 wait 4000 偶发假失败,换成 within 8000 后稳定。
store + {{变量}} 跨步骤对比
store(as, eval) 把页面内求值存进剧本变量,后续步骤字符串里 {{变量名}} 引用(替换为 JSON 字面量)。"推进一天后金币增加了"这类断言不再需要页面全局暂存的写法。store 同样支持 within,轮询到值非空再冻结,场景未就绪时不会把瞬态 null 固化成常量。
剧本驱动视觉回归
baseline / visual-test --script <剧本> --at-step N 先把游戏驱动到任意可达状态(第 4 天农田、战斗进行中),再采基线、做像素比对。视觉回归不再只能保护 URL 入口态的标题屏。真实项目实测,确定性状态同态 0.00%,战斗画面同态 0.68%(动画帧差,默认容差内)。
基线健康审计
两个试用项目里各躺着一组"三张基线",哈希一算其实是一张图复制三份,工具当时沉默。现在 visual-test 会点名所选基线的副本组,evidence 列出全部。
修复 Pi 扩展 script 参数丢失
pdeck_run 此前未暴露 script 字段且 buildArgs 无映射,经扩展调 playtest 时剧本路径被静默丢弃;pdeck_visual 同步补齐 script / atStep。
升级
git pull && npm install全局走 npm link 的无需动作,自动跟随仓库。装过 ~/.agents/skills 技能拷贝的,重拷一次 SKILL.md。
测试 76 项(70 CLI + 6 适配器),CI ubuntu/windows × Node 20/24 全绿。完整变更见 CHANGELOG.md。