41 lines
3.6 KiB
Markdown
41 lines
3.6 KiB
Markdown
# 外部开发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边界,且交付格式完整,供主会话独立终审。
|