闭环测试结论
闭环测试结论
已新增 test/story-task-closed-loop.test.ts,用真实 API + 舰队落地结算(prepareLoadedGameSnapshot)跑通任务链,全项目 125 项测试均通过。新手任务(按职业)任务 ID军人商人工匠验证方式intro-briefing✓✓✓POST /api/story/chapter职业前置 3 项✓✓✓真实/模拟建筑resource-line✓——五系资源建筑housing-academy✓——民宅 + 学院first-research✓——POST /api/researches/startsoldier-first-deploy✓——真实 POST /api/world/fleet/deploy + 落地结算merchant-first-order—✓—市场挂单artisan-first-production——✓生产队列city-hall-2✓——大厅 Lv.2map-scout✓——章节旗标onboarding-complete 里程碑✓——全部 done军人路线是逐步操作 + 每步 story/overview 校验的完整闭环。
第二章「异常回声」真实顺序已跑通:
- 建学院 → 结算完成
- 启动研究 → 结算完成
- 打开/阅读学院档案
- 挂市场单 → tradeRouteOpened
- 部署舰队 → fleetCommissioned
- 生成引导异常坐标 → 派遣并落地结算
- POST /api/world/tile/action(story-contact)
- anomalyInvestigated === true,storyEncounter.resolvedAt 有值
- 第三~十二章:自动推进节点与补给发放
- NPC 区:进入 → 战斗 → 装货 → 返航(npc-zone-actions.test.ts)
- 离线舰队落地:offline-fleet-settlement.test.ts
- 初始机库无侦查机:需先生产或领第二章增援,部署前要在测试里 grantAirships。
- 异常空域出现条件:需 academyRestored + archiveDecoded + tradeRouteOpened + fleetCommissioned 都满足后才会生成坐标。
- 落地结算时间:部署用真实 Date.now() 写 arrivalAt,读档结算也要用「当前/未来」时间,不能用固定的历史 startAt。

