CtrlK
BlogDocsLog inGet started
Tessl Logo

grave-poi-death-test

通过真实游戏模拟验证角色死亡、墓碑 POI 创建、地图渲染和点击详情。用于需要测试寿元死亡或其他游戏内死亡流程、墓碑 POI,且不得直接调用 handle_death 的任务。

80

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

墓碑死亡验证

以独立数据目录启动测试局,绝不污染用户当前存档或设置。死亡必须由 Simulator.step() 的正常结算路径产生,不能为了测试直接调用 handle_death()、手工注册墓碑或伪造死亡事件。

流程

  1. 阅读 docs/specs/external-control-api.md,通过 /api/v1/command/* 创建或配置测试角色,不直接改 game_instance
  2. 为测试角色设置一个会自然到达的死亡条件。寿元死亡最稳定:创建高龄 avatar,再运行完整月度模拟步骤,直到死亡结算完成。
  3. 如果完整模拟依赖 LLM,使用仅限本次测试的本地 OpenAI 兼容 stub;其数据目录、监听端口和进程名必须与正常开发服务隔离。
  4. 通过 API 核对完整因果链:
    • 角色 detail 中 is_dead 为真,并包含 death_info
    • world/mappoiskind: "grave",位置与死者死亡位置一致。
    • 墓碑摘要含 deceased_avatar_id,用作前端进入角色详情的关联。
  5. 在实际前端地图中确认图标已加载、尺寸接近头像且可点击。点击墓碑应选中 avatar 并打开死者现有的角色详情,不应打开独立墓碑详情面板。

最小验证

pytest tests/test_death.py
cd web
npm run type-check
npm run test -- src/__tests__/composables/useTextures.test.ts

UI 验证优先使用可用的浏览器控制工具;不可用时才以本地 Playwright 打开隔离的前端服务。不要用直接调用死亡处理函数来替代端到端验证。

清理

测试结束后先暂停测试局,再停止本次启动的前端、后端和 LLM stub 进程。删除本次专用的数据目录、stub、日志和截图;仅保留仓库内的正式实现与回归测试。清理前核对所有目标都位于仓库 tmp/web/tmp/,不得触碰用户的常规数据目录或正在使用的服务。

Repository
4thfever/cultivation-world-simulator
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.