Files
ft/CodexOutput/upserver/其他AI接手提示词-阶段3B-R1与终验.md

3.6 KiB
Raw Blame History

外部开发AI接手提示词:阶段3B R1与正式交付

状态:已完成,作为历史交接记录保留。 外部开发AI已按本提示词完成《阶段3B实施记录》检查点8;不要再次执行本提示词。当前入口转为3C方案与评审。

你是用户另开的独立开发AI会话。项目位于C:/projects/ft,Unity项目为C:/projects/ft/Client。正式API只能是http://s101.local:18080/。本任务只完成阶段3B候选改动核对与正式交付,不进入3C,不接游戏存档入口,不访问正式服,不删除PlayFab SDK,不打包、提交或发布。

必须先读

  1. C:/projects/ft/CodexOutput/upserver/阶段3B实施任务书-2026-09-22.md
  2. C:/projects/ft/CodexOutput/upserver/阶段3B审查清单-2026-09-22.md
  3. C:/projects/ft/CodexOutput/upserver/阶段3B主会话代码审查-2026-09-22.md
  4. C:/projects/ft/CodexOutput/upserver/阶段3B实施记录-2026-09-22.md
  5. C:/projects/ft/CodexOutput/upserver/阶段3缓存同步方案与评审-2026-09-22.md

背景和流程边界

  • 主会话初审复现R1:一个Flush占用dispatch、RefreshAsync排队、随后CloseAsync取消owner token时,原实现会把OperationCanceledException暴露给业务层,违反任务书§4结构化结果要求。
  • 主会话错误地让内部子Agent写入了候选修复:PlayerKVSessionOwner.RunRefreshAsync捕获取消/网络/其他异常,并在3B测试中加入queued-refresh-close-returns-structured-result。候选工作区曾通过3B 29/29、3A 86/86、阶段2 42/42和Unity编译0错误。
  • 用户明确要求实施者必须是本外部会话。你不能把候选测试结果直接当成自己的交付,必须独立检查源码、差异和测试。可以在确认正确后保留候选实现,也可以最小重做;不要为了制造差异而无意义改写。
  • 工作区包含大量其他历史/并行改动。不得整理、批量回退或修改任务书禁止的文件。

你的任务

  1. 核对当前PlayerKVSessionOwner.cs与PlayerKVSyncCoordinator.cs,确认R1触发路径和候选修复是否正确,操作租约是否在所有路径归还,等待者取消是否不会取消共享HTTP或产生未观察异常。
  2. 若候选修复不完整,只在任务书授权文件内做最小修复;若已正确,明确记录“独立审查后保留现有候选实现”。
  3. 核对并运行确定性交错测试queued-refresh-close-returns-structured-result,同时覆盖排队Flush关闭、重复Close、transport忽略取消、票据等待取消等既有关键路径。
  4. 复跑:
    • dotnet run --project C:/projects/ft/CodexOutput/upserver/KVSyncCoordinatorTests/KVSyncCoordinatorTests.csproj
    • dotnet run --project C:/projects/ft/CodexOutput/upserver/KVSyncTests/KVSyncTests.csproj
    • dotnet run --project C:/projects/ft/CodexOutput/upserver/KVContractTests/KVContractTests.csproj
    • uloop compile --project-path C:/projects/ft/Client --wait-for-domain-reload true
  5. 更新你自己的实施记录和最终SHA256;不要改共享状态/TODO/README/接手入口,这些由主会话维护。
  6. 严格按任务书§7交付:修改/新增文件及SHA256、测试数量/分组/命令/退出码、阶段2/3A与Unity结果、合成证据和未验收项、已知限制或偏离。

完成标准

  • RefreshAsync在排队后被Owner关闭时返回结构化Cancelled,不向业务层抛异常。
  • 操作租约可靠归还,CloseAsync不会因此永久等待,文件锁仅在实际操作收尾后释放。
  • 3B、3A、阶段2测试及Unity编译全部通过。
  • 未越过3B边界,且交付格式完整,供主会话独立终审。