test(upserver): 归档存档迁移与玩法闭环回归工具

This commit is contained in:
Liubing\LB
2026-09-28 18:16:14 +08:00
parent c4ae02def9
commit a6f5e107f8
232 changed files with 12903 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
from pathlib import Path
p=Path('CodexOutput/upserver')
notice='''## 最新结论:第二轮验收收尾(2026-09-21 21:40)
先读[第二轮验收结果](最小登录收尾-第二轮验收结果.md)及[本轮限定自审](最小登录第二轮-限定代码审查.md)。本轮补齐真实Unity登录等待中退出、旧重试按钮、成功延迟中退出;快速101→102→101三轮错误0,Cookie/旧Hub释放通过,最终实际Hub Test=OK。测试发现问题后仅修复SoundService、FishingAct、FishingBehaviorB、FishingStage四文件,实施前均有方案裁决。编译0错误/271警告;新补丁只有主会话自审,尚无新独立复审。
101抽查的等级/金币/钻石/鱼竿前后相同,已打开战令预览及社交页;真实SDK/真机、HTTP故障、真实断网与业务推送、必要钓鱼玩法及完整存档仍待验收。正式API **http://s101.local:18080/**;Editor最后取证为PlayMode、101/FishingStage。下一步补验收条件,发现问题再评审编码;KV/俱乐部扩展/SDK删除暂停。下方较早状态均为历史,不能覆盖本条。
'''
for name in ['开发状态.md','仅最小登录-最终验收.md','README.md','接手入口.md','TODO-快照-2026-09-21-受控验收阶段.md','UnityCliLoop最小登录验收-2026-09-21.md','开发进度存档-2026-09-21-最小登录交接.md']:
f=p/name
old=f.read_text(encoding='utf-8-sig')
first,rest=old.split('\n',1)
f.write_text(first+'\n\n'+notice+rest.lstrip('\n'),encoding='utf-8')
f=p/'TODO.md'
s=f.read_text(encoding='utf-8-sig')
history=s[s.index('# 历史客户端迁移 TODO'):]
head='''# 当前TODO:仅最小登录(2026-09-21 21:40)
最新证据:[第二轮验收结果](最小登录收尾-第二轮验收结果.md)。本轮真实Unity可执行项收尾通过,整个阶段仍有专项待验收;先补验收,不重复开发。
- [x] 正式API固定 http://s101.local:18080/;现有数字身份、Cookie与SignalR直连实现核对。
- [x] 正常101登录、非法ID失败后更正重试、同号重登,前轮真实Unity通过。
- [x] 真实QuitStage退出及101→102→101,旧身份清空、Cookie轮换/清空、旧Hub释放。
- [x] S4实际登录等待中退出、旧重试按钮、成功延迟中退出,均无旧身份/场景回流。
- [x] 初始化未完成时快速101→102→101,修复后最终三轮错误0。
- [x] Unity实际Hub首连、Test=OK和释放;raw探测/替身证据另列。
- [x] 首页战令预览与社交页打开;101核心字段前后相同,原已报告活动/战令阻塞异常未复现。
- [x] 本轮四文件修复方案、实施前裁决、定向测试、Unity编译0错误/271警告、限定主会话自审、证据与开发日志落盘。
- [ ] 真实HTTP401/超时及失败恢复:需要可控且限定客户端的故障环境。
- [ ] 真实断网自动重连及服务器业务推送;不能用主动Disconnect/Connect代替。
- [ ] 真实渠道SDK迟到回调/退出/换号和真机:PDHM00已连接,缺匹配本轮代码的测试APK。
- [ ] 必要钓鱼玩法、完整游戏存档隔离与用户进度核对;核心字段抽查不能替代全部存档。
- [ ] 新独立复审:前轮五文件和本轮四文件的新补丁不能沿用旧R1独立审查结论。
暂停:完整俱乐部迁移、KV适配/存档切换、删除PlayFab SDK。外围未提交改动保留,未经逐差异评审不整批回退;不自动提交或发布。
---
'''
f.write_text(head+history,encoding='utf-8')
(p/'其他AI接手提示词-最小登录.md').write_text('''# 其他AI接手提示词:最小登录验收收尾
复制以下内容给可访问当前未提交工作区的AI:
```text
请接手 C:\\projects\\ft 的最小登录验收收尾,先核对现状,发现问题才编码修复。
先按顺序读 CodexOutput/upserver/ 下:
1. 当前阶段范围裁决-仅最小登录.md
2. 最小登录收尾-第二轮验收结果.md(2026-09-21 21:40,最新)
3. 最小登录收尾-第二轮验收方案.md
4. 登录提前退出声音释放-修复方案与评审.md
5. 最小登录第二轮-限定代码审查.md
6. TODO.md、开发日志.md末尾;前轮证据见UnityCliLoop最小登录验收-2026-09-21.md。
最新实测:正常/非法输入纠错/同号重登已有通过证据;本轮补齐真实Unity登录等待中退出、旧重试事件、成功延迟中退出,以及快速101→102→101。最终三轮错误0、旧身份/Cookie/Hub释放通过,实际Hub Test=OK,101等级/金币/钻石/鱼竿前后相同。已打开战令预览和社交页,尚未完整玩法/存档验收。
本轮发现问题后改了SoundService.Release、FishingAct初始化、FishingBehaviorB迟到资源与缺鱼竿清理、FishingStage旧初始化退出四文件。框架先卸载旧场景再启动QuitAct/Logout,故对象销毁和原LoginLifetime取消均需检查。base.StartAsync只在旧对象销毁或令牌取消时捕获异常;活着且未取消时仍抛出。最新Unity编译0错误/271警告,SoundExitTests/MapExitTests通过。新补丁仅主会话限定自审,无新独立复审;不要沿用旧R1审查结论。
下一步是补剩余验收条件:
- 真实HTTP401/超时恢复、真实断网自动重连与业务推送(须限定C盘客户端,不影响整机/D盘项目)。
- 真实渠道SDK退出/换号/迟到回调、真机。PDHM00已枚举,尚未取得匹配本轮改动的APK;用户询问已发,未操作未知版本应用。
- 必要钓鱼玩法及完整存档隔离/进度核对;禁止重置存档或改资产制造测试。
- 需要时另行安排独立代码审查,不声称已发生。
固定约束:
- 正式API http://s101.local:18080/,account/Login、gamehub;SkipNegotiation+WebSockets。不得改成192.168.9.101或101.local。
- Unity目标 C:/projects/ft/Client;全部uloop显式--project-path;工具Unity CLI Loop 2.2.0,先读UnityCliLoop操作入口.md。不再使用UnitySkills;动态代码保持Restricted,先compile-only。
- Editor最后取证是PlayMode、101/FishingStage(21:40);先查实时状态,不依赖历史进程号,不操作D盘实例。
- UserId仍为PlayFab存档ID,CustomId为输入/涂游ID,ApiPlayerId为认证数字ID,InternalId为服务端内部编号;禁止全局替换。
- 范围仅最小登录、会话/Cookie/重试/退出、SignalR必要生命周期、首页GetSelfClub及已报告异常的最小保护。暂停KV、俱乐部扩展和SDK删除。
- 每次代码修改前完整评审具体方案并记录裁决/文件边界;每个小步骤或最多15分钟更新开发日志。
- 当前feat/upserver,基线f40a816cc,大量未提交改动;勿reset/clean/批量回退,勿擅自提交、推送、发布。历史外围改动逐差异处理。
- 测试账号101/102获授权,日志不输出Cookie/Token,不做会员/奖励/资产操作或清档。
- 离线替身、raw探测、Unity集成、真实SDK真机分别记载;无法执行项明确待验收。
```
''',encoding='utf-8')
print('Updated state, TODO, acceptance entries and handoff prompt.')