Files
ft/CodexOutput/upserver/update_round2_docs.py

79 lines
6.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.')