Files
ft/CodexOutput/upserver/TODO.md

764 lines
73 KiB
Markdown
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.
# TODO:s101客户端迁移(4C2及P2-α-A/B/C/D限定关闭)
> **当前唯一有效状态(2026-09-28,B01批级方案已备妥,待独立方案审查)**:F01–F12已全部接受,流程文档按裁决修正;独立连续钓鱼/v4方案搁置。主会话已执行[批量迁移TodoList](B3BatchMigration/执行TodoList.md)的E0–E4:当前224处语法候选/81文件、旧223处完整映射、1处内部新增、1处方法提取;分类及理由落盘。首批[B01通知提示与已读状态方案](B3BatchMigration/B01-通知提示与已读状态批级方案-待评审.md)包含3处存档调用及必要上游、8个运行文件边界;[审查提示词](B3BatchMigration/B01-独立方案审查提示词.md)已准备。**下一步在独立方案审查侧**,通过后主会话核hash裁决并连续实施;本轮无生产代码修改、Unity运行或正式API请求。B01不开放正式KV,B→C依赖保持;原101/102限定闭环及药水修正保持关闭,整体4B3B/C、身份/迁移/稳定性/tickets/4D/G4仍开放。固定http://s101.local:18080/,Unity CLI Loop,不打包。
## 本轮待办:101完整业务包与最小修正
- [x] P2-α-A/B/C/D限定关闭,原101完整业务包方案已评审裁决。
- [x] 101真实登录与55键加载成功;当前手动接管登录配置已恢复。
- [x] 定位界面不可见、活动不可用但历史引导指针残留;用户不需要完成不存在入口的药水引导。
- [x] 排除只放宽钓鱼门方案:AddIndex(true)会误完成残留引导;完成源头延后恢复的两文件最小方案及19项hash。
- [x] 独立方案审查PASS;主会话19/19 hash及逐项裁决完成,两文件实施获批。
- [x] 原会话closed、许可退役;实际Init红测→两文件修正→约定回归与双编译全部通过。
- [x] 新进程55088/v3真实101登录;引导指针为空但原存档保持,092018Z动作前快照/cache及无待存核验完成。
- [x] 动作前快照→用户唯一一次抛竿/收鱼/收下→正常退出→新进程恢复55/55匹配;药水引导原存档保持。
- [x] 两许可归档、15claim保留,合并实施交付与复核提示词落盘。
- [x] 独立实施复核PASS→主会话120/120 hash/长度核对、七项及P3逐条裁决→本101业务包限定关闭。
- [x] 下一包候选完整方案与提示词、受审基线已准备:单账号连续普通钓鱼,7个运行文件边界,保留会话许可及重启式重登。
- [x] 流程续裁决完成,转向B/C批量迁移;调用分类及B01整批方案/提示词已准备。
- [ ] B01完整独立方案审查→主会话核hash裁决→整批实施/专项与回归/编译→一次实施复核;见[执行TodoList](B3BatchMigration/执行TodoList.md)。
- [ ] 全量迁移政策、26模块外键/5未定位键、4B3B/C、StorageError/L7、完整4C/4D/G4仍开放。
### 以下为历史检查点(以最上方为准)
> **当前唯一有效状态(2026-09-28,P2-α-B已正式关闭)**:独立实施复核接受,主会话1334/1334 hash一致,当前绿测DLL与交付hash/495616字节一致;八项已逐条裁决,唯一P3的VT/FF/NBSP负例已在原测试覆盖,无需补代码或重跑。见[关闭裁决](P2AlphaNullCompatibility/B5-实施复核裁决与关闭.md)。两类历史空态兼容已关闭,原101/102本地样本均Valid;不等于101真实启用或整体迁移完成。复核报告“先构建后复跑”的过程偏差已说明,原证据保持。**下一步在主会话侧,处理整体P2-α剩余范围与产品政策**,见[剩余迁移条件与下一步清单](P2-alpha剩余迁移条件与下一步清单-2026-09-28.md);不重复A/B复审,不自动导入101/覆盖102。4C2、P2-α-A/B均限定关闭;4B3B/C、完整P2-α/4C/4D/G4及最终平台验收仍未完成。本轮仅文档/hash,无Unity运行/正式接口/代码修改/打包。固定http://s101.local:18080/及Unity CLI Loop。
### 以下为历史检查点(以最上方为准)
> **2026-09-28运行准备更新**:第四次授权仍有效。69744因缺本地API覆盖配置,在登录前固定地址门停止,无扣费;用户明确要求修改登录地址,已仅设置EventApiURL=http://s101.local:18080/并核验。许可归档,9个claimed保留。新进程44848已加载完成,等待用户启动CLI Loop;最新备份024346Z与023420Z全部45键相同,付费次数仍为0。
> **当前最新(2026-09-28)**:用户已授权第四次真实运行,主会话已开始准备,不再等待运行授权。修复源码3项hash核对一致;新备份023420Z与第三次结束后的102全部45键相同(体力393、金币215288)。用户要求重启后,4948已正常退出,新Unity进程69744重新打开并加载中,待CLI连接;尚未创建许可/进入Play/扣费。目标:一次自然收鱼、收下返回主页、正常退出、新进程恢复;失败不自动重试。
### 以下为前次状态(以最上方为准)
> **当前最新(2026-09-24)**:第三次真实运行奖励服务器侧全链确认;面板点击穿透+监听缺失双缺陷已红绿修复。待用户授权第四次真实运行验证完整闭环。见[第三次尝试记录](阶段4C2第三次真实尝试与奖励确认记录-2026-09-24.md)、[面板修复裁决与实施记录](阶段4C2奖励面板点击穿透修复裁决与实施记录-2026-09-24.md)。
## 当前有效状态:奖励服务器侧闭环成功、面板UI已修复;待第四次真实运行(2026-09-24)
- [x] run 29520:门通过→扣费确认→ending段(controller修复生效)→confirmed→presented;对账鱼档/gold+1643/战令仅3键变化。
- [x] 面板双缺陷(P1监听未注册+点击穿透)独立审查裁决并红绿修复;45组171断言、双编译0错误、diff两处。
- [ ] **下一步(需用户授权)**:第四次真实运行完整闭环(抛竿→收线→收下→返回主页)+新进程恢复验证。
- [ ] 完整4C2验收、独立实施复核;4C/完整4C/G4未关闭。
### 以下为历史快照(以上方为准)
## 当前有效状态:收线取消缺陷已修复并验证;待用户授权真实收鱼闭环运行(2026-09-24)
- [x] 诊断补充实施(四项验收);第二次真实尝试(门通过、扣费确认、收线误取消实证)。
- [x] controller disabled缺陷修复:独立审查(10/10 hash、P2×1/P3×4采纳)→守卫一行+验证两组→红绿证据→45组171断言全绿→双编译0错误→diff最小。
- [ ] **下一步(需用户授权)**:新进程+新备份真实收鱼闭环(拉杆→收鱼→奖励保存→新进程恢复);不自动连续付费、不补发。
- [ ] 完整4C2验收、独立实施复核;4C/完整4C/G4未关闭。
### 以下为历史快照(以上方为准)
## 当前有效状态:第二次真实尝试门通过、扣费确认,收线18秒被controller disabled取消(2026-09-24)
新进程62216一次真实抛竿:合并门通过(上次拦截为随机鱼差异,诊断消息未触发)、扣费票据确认(413→403/112→122)、战斗18秒后 `FishingUpdateSys.OnDisable→CancelReward` 把瞬时禁用当取消退出。对账仅两键、无奖励、不补发;许可已退役。
- [x] 诊断补充审查裁决与限定实施(diff仅51c51、27断言、SERVICE_HOST exit0、Editor 0错误)。
- [x] 第二次真实尝试全流程(三备份/新进程/v3许可/precast/一次抛竿/对账归档)。
- [ ] **当前缺陷**:controller disabled误取消(禁用源未定位)——先方案评审(区分瞬时禁用与真实退出),裁决后编码回归。
- [ ] 修复验证后申请新真实运行授权;完成真实收鱼奖励闭环、新进程恢复、最终独立实施复核;4C2/完整4C/G4未关闭。
### 以下为历史快照(以上方为准)
## 当前有效状态:4C2扣费前诊断补充已实施,四项验收通过;待用户授权下一次真实运行(2026-09-24)
[独立审查](阶段4C2扣费前拦截诊断方案独立审查-2026-09-24.md)18/18 hash一致、无P1;[裁决与实施批准](阶段4C2扣费前拦截诊断审查裁决与实施批准-2026-09-24.md)逐条接受并实施完成。
- [x] 独立审查、主会话18/18 hash复核与逐条裁决(P2×2/P3×4全部采纳)。
- [x] 生产唯一改动FishingBehaviorB.cs:51补六字段(null显式"null");slice/shim同步(P2-2)。
- [x] 四项验收:raw diff仅51c51(混合行尾保留)、ConsumeControlTests 27断言、SERVICE_HOST exit0/0错误、uloop Editor编译0错误。证据KVFishingRewardTests/diagnostic-impl/。
- [ ] **下一步(需用户授权)**:新Unity进程+新备份+一次真实抛竿,读六字段判定七条件中哪项触发;不自动连续付费、不重导102、不删claimed。
- [ ] 诊断结果归因:自然命中→保留原门并归档;实现错误→另按已审范围评审修复。
- [ ] 真实收鱼奖励/新进程恢复及最终独立实施复核未完成;4C2/完整4C/G4未关闭。
本轮无正式服访问、无KV写、未动许可与claimed。保留PF域名解析错误、StorageError根因未定及默认非Editor历史编译错误。固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills、不打包。
### 以下为历史快照(以上方为准)
## 当前有效状态:4C2首次尝试扣费前被拦截,待最小诊断方案审查(2026-09-24)
[真实尝试记录](阶段4C2首次真实尝试与扣费前拦截记录-2026-09-24.md):新进程42620,用户只操作一次,在原“普通付费鱼”合并门停止,尚未进入新增奖励准入。动作前后102全部45键相同,体力393、energyRM112,未扣费/收鱼/发奖;不自动补跑。本轮未改生产源码。
- [x] 原方案及引导补充完整评审裁决、限定实施;奖励43组168、4C1本轮19组81离线通过。
- [x] 新进程登录、实时前置观察;登录跨日3键按原源码单独归因,动作前基线已冻结。
- [x] 一次真实操作、失败自动关闭、独立服务器对账;许可归档、6个claimed保留,playing=false/ready=false/无permit。
- [ ] 当前责任评审侧:审查[一处拒绝信息补充方案](阶段4C2扣费前拦截诊断最小方案-待评审-2026-09-24.md),使用[审查提示词](其他AI审查提示词-4C2扣费前拦截诊断-2026-09-24.md)。只拟补六字段,不改变准入;未编码。
- [ ] 主会话核hash并逐条裁决后,完成诊断再决定下一次运行范围。当前消息不足以判定具体条件,不称已定位根因。
- [ ] 真实收鱼奖励/新进程恢复及最终独立实施复核尚未完成;4C2/完整4C/G4未关闭。
本轮独立备份工具6登录+6Get、Set/Delete=0;游戏已有4次登录保存受理,不能称游戏只读。保留3条PF域名解析错误、此前StorageError根因未定及默认非Editor历史编译错误。固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills、不打包。
### 以下为历史快照(以上方为准)
## 当前有效状态:4C2已限定实施并补验;引导准入补充方案待评审(2026-09-24)
原4C2独立方案审查已完成319项hash核对、九结论与四P3逐条裁决,并按7旧文件+2新Editor源码实施。当前不是“原方案待评审”,也不是“4C2已完成”。详见[实施进展与准入阻塞](阶段4C2实施进展与准入阻塞-2026-09-24.md)。
- [x] v3一次费用+奖励接线,最终鱼档/主档保存、原票据确认后展示及重入/取消保护。
- [x] 奖励固定25组85断言、原公式四组对照、当前消费入口27/控制器9断言;既有4C1、4B2、B3A、装备、加载、退出回归通过。
- [x] Editor最终0错误269警告,SERVICE_HOST通过;默认非Editor历史_cheatingScore错误仍未解决。
- [ ] C1/C2仍有原展示红测、Map Schema、实景生命周期、完整准入/配置漂移补验;不宣称全部验收通过。
- [ ] **当前评审侧**:审查[引导准入最小补充方案](阶段4C2引导准入最小补充方案-待评审-2026-09-24.md),使用[独立评审提示词](其他AI审查提示词-4C2引导准入补充方案-2026-09-24.md)。原门要求11组引导全部完成,真实102缺7个特殊技能组,被实际预检拒绝。
- [ ] 主会话收到报告后核hash、逐条裁决,才改准入、完成补验并进入真实一次收鱼/保存/新进程恢复;C3/C4和最终实施复核未完成。
只读备份20260924T084836Z:101空、102仍45键,与上一轮逐值相同;本轮有登录/Get、无KV写、无游戏运行许可或新消费。Unity空闲、Enabled/Ready=false、5个claimed保留。File.Replace沙箱访问拒绝的离线回归经批准沙箱外通过;另一次Unity StorageError复跑通过但根因未定,见报告,不抹去首败。
固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills、不打包。不改存档完成引导、不重导102、不删claimed、不自动重试收费。4C1保持关闭,4C2/完整4C/G4未关闭。
### 以下为历史快照(以最上方当前状态为准)
## 当前有效状态:4C2方案审查已裁决,限定实施与固定测试进行中(2026-09-24)
独立方案审查九项结论和四条P3已逐条接受,编码前319/319受审hash一致,5项预期缺失核实,7旧源码快照保留。详见[裁决与实施记录](阶段4C2方案审查裁决与实施记录-2026-09-24.md)。当前责任在主会话。
- [x] C0:完整评审裁决、白名单及基线冻结。
- [x] C1已实现:v3独立奖励动作、三段同步票据捕获、鱼数量最终保存、主档最终保存、原票据确认后展示及取消保护。
- [x] 初轮固定验证:Unity 16组37断言通过;v3许可12项通过;未破纪录鱼漏存及面板重复OnShow红测已保存。
- [ ] C1/C2仍进行:真实数据公式/事件与实际控制流补验、重复面板修复绿测、既有回归及最终编译。初轮结果不代表全部验收。
- [ ] C3:新备份/真实运行准入、一次真实UI收鱼及奖励保存、新进程恢复,尚未执行。
- [ ] C4:完整交付与独立实施复核,尚未完成。4C2/完整4C/G4未关闭。
本轮尚未启用真实运行许可、未发生新真实消费。固定http://s101.local:18080/;Unity CLI Loop,不用UnitySkills,不打包。不重导102原45键,不删claimed,不自动重复扣费或补发。
### 以下为历史快照(以最上方当前状态为准)
## 当前有效状态:4C1已关闭;4C2最小方案完成,待独立方案评审(2026-09-24)
用户已要求准备拉杆收鱼及奖励保存的最小方案、完整评审后实施。[4C2完整方案](阶段4C2拉杆收鱼与奖励保存最小方案-待评审-2026-09-24.md)及[评审提示词](其他AI审查提示词-4C2拉杆收鱼与奖励保存方案-2026-09-24.md)已落盘。
- [x] 追踪真实拉杆→PerfectStrikeCount→FishEnd→奖励面板→次数/金币/鱼种/任务保存,确认未破纪录鱼数量可能漏存的现有缺口。
- [x] 最小方案:复用原公式,S1/S2/S3同步段记录,不跨await捕获;最终鱼种和主档保存;v3一次完整动作,旧许可不开放领奖。
- [x] 19条GetFishCount配置及历史102数据离线核查、明确活动/引导/额外奖励准入、7旧源码白名单、12项验收和C0~C4检查点、自审与受审hash。
- [ ] **当前评审侧**:新增《阶段4C2拉杆收鱼与奖励保存方案独立审查-2026-09-24.md》,核hash并回答提示词九项;不改共享文档。
- [ ] **随后主会话**:核hash→逐条裁决→通过后限定实施及真实一次新消费/奖励/重启恢复;若P1/P2或白名单变化先修订方案。
当前仅完成设计,未写4C2源码、未运行测试或Unity、未发正式请求、未启用许可。4C1不需再复审;4C2/完整4C/G4未完成。新run要用新备份和真实服务时间通过准入,不能把旧13次/393体力当作当前保证。
固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills,暂不打包;沿用101/102授权,不重导102原45键、不删claimed、不伪造鱼获或自动重复消费。
### 以下为历史快照(以最上方当前状态为准)
## 当前有效状态:限定4C1正式关闭,下一步由主会话准备后续方案(2026-09-24)
[独立实施复核](阶段4C1普通钓鱼消费确认实施独立复核-2026-09-24.md)接受交付;主会话172项受审hash全部一致,八项回答及四条P3已[逐条裁决并关闭](阶段4C1实施复核裁决与关闭-2026-09-24.md)。无阻塞项,无需再次复审本期。
- [x] 4C1完整方案评审、限定实施、19组81断言及实际入口27断言、既有回归和交付归档。
- [x] 102一次真实UI抛竿扣费403→393、累计消耗102→112,原最终票据确认后可拉杆;新进程新缓存恢复、正常退出Error=0、最终45键与消费后逐值相同。
- [x] 独立实施复核、主会话核hash、Q1~Q8及P3-1~4裁决,限定4C1正式关闭。
- [ ] **主会话下一步**:按最小改动优先准备拉杆收鱼/奖励保存的候选最小方案;完整评审和裁决后才实施,当前无下一期编码批准。
- [ ] 完整捕鱼奖励、转盘、连续消费、热换号、全B/C、P2-α、身份/外围、G4及最终包仍未完成。
保留边界:首跑退出有两条关联错误,单条件修复经实际OnDisable红绿回归接受,未第二次真实收费验证;Editor在游戏closed后被工具超时强杀,不算Editor优雅退出通过;默认非Editor既有_cheatingScore编译错误仍开放。恢复run未再次消费,但有正常登录同值保存受理,不能写游戏全程只读或总Set=0。
本次关闭无源码修改、无Unity重跑、无正式请求。许可保持归档、claimed保留、102原45键不重导。固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills,暂不打包。关闭仅覆盖一次扣费到可拉杆及重启恢复,不开放普通用户。
### 以下为历史快照(以最上方当前状态为准)
## 当前有效状态:4C1限定实施与真实恢复完成,待独立实施复核(2026-09-24)
[实施交付与验收](阶段4C1普通钓鱼消费确认实施交付与验收-2026-09-24.md)已落盘。仅普通收费抛竿到可拉杆:102体力403→393、累计消耗102→112;原主档/战令最终票据Confirmed。新进程41828、新缓存恢复393/112、消费成就112与两任务10,正常退出Error=0;最终45键与消费后逐值相同,101仍空。
- [x] C0:独立方案34hash一致,8结论及4P3逐项裁决,25源码快照。
- [x] C1/C2:4旧源码最小接线+固定测试host;最终19组81断言、实际消费入口27断言、许可和既有B2/B3A/Unity加载/装备/退出回归通过。
- [x] C3:一次真实UI消费→可拉杆(未拉杆发奖)→服务器两键对账→新进程恢复→正常退出→最终45键一致。许可归档,5个claimed保留,Unity空闲。
- [x] C4作者交付:代码自审、完整证据及[独立实施复核提示词](其他AI审查提示词-4C1实施独立复核-2026-09-24.md)、KVFishingConsumeTests/implementation-review-hashes.json。
- [ ] **当前评审侧**:实施独立复核;重点裁定首跑正常退出误触发Fault/重复Quit空引用的单条件修复证据,以及Editor进程退出工具自动强杀的限制。
- [ ] 主会话收到报告后核hash、逐项裁决,才能关闭4C1;当前不重复扣费、不先开下一消费分期。
必须保留的限制:首跑正常Quit出现两条关联错误,已通过实际OnDisable红绿回归修复(19组81通过),未第二次收费重跑;新进程恢复与正常退出零错误。旧Editor在游戏closed后被CLI正常关闭超时自动强杀,不算Editor优雅退出通过。默认非Editor编译的原有_cheatingScore错误前后相同,未越界修;Editor/SERVICE_HOST编译通过。详见交付报告§5。
正式地址http://s101.local:18080/;Unity CLI Loop,不用UnitySkills、未打包。102原45键不得重导;本轮只改两键、无鱼获奖励。R1保持关闭;完整4C/捕鱼奖励/转盘/热换号/G4/身份外围与最终包仍未完成。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:R1已关闭;4C1普通钓鱼消费确认方案待独立审查(2026-09-24)
本会话已完成[4C1完整方案](阶段4C1普通钓鱼消费确认方案-待评审-2026-09-24.md):一次普通收费抛竿扣体力、原动作最终存档确认、开放拉杆、正常退出与新进程恢复。首轮不点击拉杆结算鱼获,不开放转盘或热换号。范围选择沿用用户最小改动/真实游戏优先要求及本轮“本会话继续”的指令。
- [x] R1关闭复验56项核hash与9项裁决,保持关闭。
- [x] 4C1同步消费/恢复计时/任务事件写入矩阵、动作与生命周期合同、最终原票据规则、失败边界、方法白名单和10项验收设计完成。
- [x] 自审核对FishingUpdateSys.Start自动抛竿及CastBait的await/Tween继续点;补入方案,不把直接调用消费当真实UI验收。
- [x] [独立审查提示词](其他AI审查提示词-4C1普通钓鱼消费确认-2026-09-24.md)及KVFishingConsumeDesign/plan-review-hashes.json已准备。
- [ ] **当前评审侧**:独立审查4C1方案,重点同key中间替代/最终原票据、事件副作用、部分提交和真实run边界;新增指定报告,不修改共享文档。
- [ ] 主会话收到审查后核hash/逐条裁决;通过后才限定编码、合成回归和真实102消费验证。
当前没有4C1代码、真实消费或新的正式请求;没有启动Unity。原45键不能重导,claimed保留。全B/C、转盘、鱼获发奖、4C整体、G4、身份/外围和最终包保持未完成。固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills,暂不打包。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:R1关闭复验已裁决;进入4C1范围与方案准备(2026-09-24)
[R1关闭复验](阶段4R1关闭复验-2026-09-24.md)已读完,主会话重算原56项hash全部一致,9项意见已逐条接受,无新增P1/P2。R1保持关闭,不再重复实施或复审。详见[复验裁决与后续最小范围](阶段4R1复验裁决与后续最小范围-2026-09-24.md)。
- [x] R1复验报告核hash、逐项裁决及历史证据保留。
- [x] 下一步源码范围核查:捕鱼与转盘是两个立即保存调用方;捕鱼不等待确认且待发体力副本可能与newData冲突。
- [ ] 主会话完成4C1普通钓鱼最小消费方案:恢复计时/事件副作用写入矩阵、原动作票据、失败合同、精确白名单与测试矩阵。当前材料是范围核查,不是完整实施方案。
- [ ] 4C1完整方案独立评审→逐项裁决→限定实施。当前未批准编码,也未开放消费;无需评审侧再次检查R1。
候选优先普通钓鱼,沿用单账号/重启式重登/最少改动;已向用户提供范围选择,未收到新选择时按此候选准备。全B/C热换号、转盘、4C整体、P2-α、身份/外围、G4和最终包仍未完成。本轮无游戏代码修改、无服务器请求、未启动Unity。正式地址http://s101.local:18080/,Unity CLI Loop,不用UnitySkills,暂不打包。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:R1正式关闭,两处运行报错修复并验证(2026-09-24)
[独立实施复核](阶段4最小真实玩法闭环R1实施独立复核-2026-09-24.md)的210项基线一致,五项回答及P2-1/P3-1/P3-2已逐条裁决;见[修复验收与关闭裁决](阶段4R1报错修复验收与关闭裁决-2026-09-24.md)。
- [x] 建筑缺键默认恢复为字符串0;原getter正常读取,不新增服务器键。
- [x] Editor KV测试模式正常退出不再自动重进;排水Ready后自动停止Play,保留claimed。普通退出行为保持。
- [x] 4B2全量75组、B3A全量13组、真实QuitAct条件测试、Unity M01/B2-20/装备链及许可均通过;编译0错误。
- [x] 新Unity101820真实登录102,建筑数据/等级0、装备30003与主要货币一致,正常退出自动结束Play,无原两类错误。
- [x] 前后只读对账:101仍空、102原45键逐值完全相同;许可归档,三个claimed保留,Unity已正常退出。
- [x] R1最小单账号真实存档闭环关闭;不必再重复上一轮R1实施复核。
- [ ] 整体4B3/G4、完整B/C热换号、4C、P2-α存量档专项、身份/外围及最终包仍未完成;下一步先依当前“最小改动、先跑起来”目标收敛后续范围,完整方案评审后编码。
本轮生产修复只有Schema一个默认值及QuitAct一个Editor模式分支。建筑修订有独立批准,退出补充由主会话编码前完整评审,二者审批来源有区别。签到关闭回调测试辅助边界保留。退出CLI await超时和一次不支持命令的工具错误已如实记录;闭环成功依赖独立事件/状态/对账证据,不把工具异常抹去。
固定http://s101.local:18080/;Unity CLI Loop、不用UnitySkills、未打包。无活动permit,102禁止重复导入,下次运行必须新进程。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:102真实装备与新进程恢复通过;R1待实施复核(2026-09-24)
[102兼容独立审查](阶段4最小真实玩法闭环102数据与cdTime兼容独立审查-2026-09-24.md)已完成92项hash核对及[逐条裁决](阶段4最小真实玩法闭环102兼容审查裁决与实施批准-2026-09-24.md)。本轮业务源码仅Advert单字段解码兼容;102原45键导入及真实核心闭环通过,未改原数据、排行榜或经济算法。
- [x] cdTime显式null兼容;专项16、4B2离线75组、Unity M04/B2-20/B3A、装备链9组及许可测试通过。
- [x] 102原档45键一次Set初始化,导入前空基线/真实服务器时间Schema/导入后逐键矩阵通过。禁止再次运行导入。
- [x] 真实登录→鱼竿界面装备20001至30003→原票据Confirmed→服务器Get确认→正常QuitStage关闭。
- [x] 正常退出Unity54200→新进程120896、新缓存(登录前不存在)恢复30003→再次正常关闭。最终服务器值与首次装备后完全一致,101仍空。
- [ ] **当前评审侧**:依据[102真实运行记录及末尾提示词](阶段4最小真实玩法闭环102真实运行记录-2026-09-24.md)开展R1实施复核,同时裁定建筑字段缺键默认值的单方法最小修订建议。该修订尚未编码。
- [ ] 主会话收到复核后核hash/逐条裁决,修复已批准问题并验证,再正式关闭R1;整体4B3/G4、4C、热换号和P2-α仍未完成。
真实运行发现排行榜在缺InfiniteBuildingData时遇到null,已定位Schema默认值与旧业务默认0不一致;不能因装备闭环通过忽略。签到弹窗通过已有关闭回调移除、未领奖;鱼竿操作使用实际UI点击。详细限制和首次失败证据均保留。
最终playing=false、Ready=false,permit已归档,两个进程claimed保留;不再有活动运行许可。服务器仍45键,实际变化3键,主要货币未变。CLI重启连接问题已经解决,无需用户再操作服务。固定http://s101.local:18080/;Unity CLI Loop,不用UnitySkills,未打包。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:R1最小接线已编写与初验,真实闭环未完成(2026-09-24)
R1原方案已完整审查并逐条裁决,见[实施批准](阶段4最小真实玩法闭环方案审查裁决与实施批准-2026-09-24.md)。本轮已编写白名单接线:10个旧源码增加152行/删除2行,新增3源码及meta;不是全量业务重构。B3A四入口保持原始字节。
**实际阻塞:101/102现有KV均为空,且M24对象缺登录期注册。** 用户已允许沿用两账号;已只读备份,没有KV写入、自动PF迁移或造档。M24最小注册补丁尚未执行,具体补丁和独立审查提示词见[实施进度与最小补充审查](阶段4最小真实玩法闭环-实施进度与最小补充审查-2026-09-24.md)。
- [x] R1-Review/C0:70项hash核对、九合同及2P2/3P3裁决、源码快照、账号授权、现有KV备份。
- [x] R1-C1/C2已做部分:白名单接线、许可15断言、默认服务双条件各8组73断言、4A/4B1/4B2/4B3A离线回归及Unity既有固定用例通过。
- [ ] R1-C1/C2剩余:M24最小注册差异独立审查→主会话裁决/实施;新装备链专用验证仍缺(动态脚本被CLI Restricted拦截,未执行,不绕过)。
- [ ] R1-数据来源:101/102 KV均0键;等待完整KV备份来源,或用户选择先只读检查同账号PF档,再列实际导入key/摘要/恢复范围。账号许可无需重复询问。
- [ ] R1-C3:真实UI装备、全部原票据Confirmed、Unity重启/新缓存恢复、独立实施复核及关闭,均未完成。
最终Unity编译0错误、270警告(完整原输出保留,新R1文件无警告);未启用运行许可、未PlayMode、不打包。成功正式请求仅2登录+2Get,Set/Delete=0。责任:评审侧审M24具体差异;数据来源等待用户选择;主会话负责裁决、实施和后续验证。4B1/4B2/4B3A已关闭;整体4B3/G4、4C、热换号及P2-α真实迁移仍未完成。正式地址http://s101.local:18080/,Unity CLI Loop,不用UnitySkills。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:4B3A已关闭;最小真实玩法闭环R1方案待独立审查(2026-09-24)
4B3A独立复核接受、无P1/P2;主会话320项hash一致,19项验收及三条P3均已裁决,见[关闭裁决](阶段4B3A实施复核裁决与关闭-2026-09-24.md)。无需再复审A,历史证据保留。
用户已确认优先真实游戏内单账号闭环,重启游戏后重登,游戏内换号留后续。已完成[最小接入R1方案](阶段4最小真实玩法闭环方案-待评审-2026-09-24.md),评审提示词在该文件§7;[源码核查](阶段4最小真实玩法闭环-范围与接线核查-2026-09-24.md)保留设计依据。代表操作为装备已拥有鱼竿,实际保存整个NewPlayerDataDic;复用正常UserService API会话、4A Bridge及4B2 Schema/Transaction,暂不改B2验证工厂或全面改写81文件。
### 当前todoItem与责任
- [x] B3A-19:独立复核、核hash、逐条裁决与正式关闭。
- [x] R1-D0:用户目标及单账号重启限制确认,真实装备/启动/加载/退出调用链核查。
- [x] R1-D1:一次合并接入方案、精确白名单、8项验收、限定自审及受审hash;同文§7含独立评审提示词。
- [ ] **当前外部评审侧**:审R1范围调整和白名单实施合同,新增《阶段4最小真实玩法闭环方案独立审查-2026-09-24.md》;随后主会话核hash逐条裁决。
- [ ] R1实施/真实Unity闭环;编码须评审通过,真实写之前须确认专用账号、全档fixture及备份/恢复范围。没有这些信息仍可先审方案。
- [ ] 原B/C完整热换号/业务隔离、4C、P2-α、身份、tickets、4D/G4、外围和最终包保持未完成。KVSync/3C间歇问题保持开放。
4B1/4B2/4B3A已关闭,4B3整体及G4未通过。R1是待审设计,未编码,未启动真实游戏/正式请求。正式地址http://s101.local:18080/;Unity CLI Loop,不用UnitySkills,暂不打包。新开发依据完整方案评审结果;无需评审的检查点自动推进。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:4B3A已关闭;最小真实玩法闭环方案准备(2026-09-24)
[独立实施复核](阶段4B3A独立实施复核-2026-09-24.md)接受交付、无P1/P2;主会话重算320项hash全部一致,逐条裁决B3A-01~19及三条新P3,见[关闭裁决](阶段4B3A实施复核裁决与关闭-2026-09-24.md)。PlayFabMgr精确剥离新增块后与原始快照字节完全一致,不归一换行。A无需再复审;历史测试与审查证据保留。
用户最新优先级:真实游戏先跑通一条“登录→加载→修改→保存→重登恢复”链路,最小改动、少改业务逻辑。已开始[范围与接线核查](阶段4最小真实玩法闭环-范围与接线核查-2026-09-24.md),代表操作建议装备已拥有鱼竿;实际保存整个NewPlayerDataDic,不能当成独立key替换。原B/C先做范围收敛,不默认逐业务全面重构;新完整接入方案尚未评审,不能直接开kv开关。
### 当前todoItem与责任
- [x] 4B3A-C0~C4:设计裁决、实现、自验、独立实施复核、320项hash及关闭裁决。
- [x] B3A-19:正式关闭;三P3裁决为分析.cs避开工程扫描树、原始快照不归一换行、最终包补链接证据。
- [x] 最小路径准备:用户明确真实游戏闭环;已追踪装备入口→核心数据→统一facade及受控加载限制。
- [ ] **主会话继续完整接入设计**:启动顺序与真实31对象加载、固定句柄发布与统一保存、退出/重登及测试数据边界;用户已确认单账号运行、重启式重登,游戏内换号留后续。
- [ ] 合并方案独立评审→主会话裁决→限定实现与真实游戏验收;B/C当前不获编码批准。
- [ ] KVSync StorageError、3C L7根因定位;P2-α真实档专项与产品确认;4C、身份、tickets、4D/G4及外围迁移与最终包。
4B1/4B2/4B3A已关闭,4B3整体与G4未完成。真实玩法KV尚未接通。正式地址http://s101.local:18080/,Unity CLI Loop,不用UnitySkills,暂不打包。本轮仅核查与文档裁决,无生产代码变更或正式服访问;不因关闭流程重复开发/回归A。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:4B3A实现与自验完成,待独立实施复核(2026-09-24)
4B3分期与A方案独立审查双PASS,主会话已核对39项材料+2101项源码hash,逐条裁决九项合同和四条P3并[批准限定A实施](阶段4B3分期与4B3A方案审查裁决与实施批准-2026-09-24.md)。检查点0~3及检查点4主会话交付部分已完成,见[交付矩阵](阶段4B3A交付与验收矩阵-2026-09-24.md)、[限定自审](阶段4B3A限定代码自审-2026-09-24.md)与[实施记录](阶段4B3A实施记录-2026-09-24.md)。
改动内容:PlayFabMgr新增固定句柄Read/Write/Flush/Wait四入口,新增键读取三态结果及两个Editor验证文件。2101项原源码仅PlayFabMgr变化,去掉新增块后旧PF字节完全一致;31业务模块、User/Agg/Context/Owner/Guard、旧工程和场景未改。其余新增文件是测试、验证日志与审查文档;没有接通普通玩法保存。
验证:新入口三个条件各13组544断言;Unity新入口34断言、B2-20真实31对象双epoch83断言,均恢复成功,编译0错误0警告;4B2离线75组1713断言、关闭故障21断言、服务双条件各8组73断言,4A/4B1及旧核心回归最终通过。**KVSync首轮85/86、重跑86/86,根因未定;旧3C L7历史问题仍开放。** NetworkTransport沿用旧依赖targets仅构建通过,未运行正式代理。
### 当前todoItem与责任
- [x] B3-Review:设计受审hash核对、逐条裁决及A实施批准。
- [x] B3A-C0~C3:四入口/键结果/限定Editor宿主、故障竞争测试、Unity及全量回归。
- [x] B3A-C4作者部分:范围/hash、限定自审、交付矩阵、送审提示词、每检查点日志。
- [ ] **B3A-19:外部独立实施复核→主会话核hash/逐条裁决→必要修复→A正式关闭。** 当前待办在外部评审侧,按[实施复核提示词](其他AI审查提示词-4B3A实施-2026-09-24.md)落盘报告;审核者不修改共享状态。
- [ ] B3B/B3C各自完整方案及独立评审,未批准编码。A关闭且无需复审后自动进入B完整方案准备,不再询问是否继续。
- [ ] KVSync StorageError、3C L7根因定位;P2-α真实档专项独立审查与用户产品确认;4C、身份、tickets有界历史、4D/G4启用门。
**4B1/4B2已关闭;4B3A已实现但未关闭,整个4B3/4B/G4未通过。** 正式地址固定http://s101.local:18080/;本轮正式请求0,Unity仅CLI Loop,不用UnitySkills,无PlayMode、打包或Git提交。封板见[交付hash](KVSaveRouteTests/checkpoint4-delivery-hashes.json),机器状态见[当前todoItem](阶段4B3当前TodoItem-2026-09-24.json)。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:4B2已关闭;4B3分期+4B3A方案待独立审查(2026-09-24)
4B2主会话221项hash核对、B2逐条裁决和关闭已完成,见[关闭裁决](阶段4B2实施复核裁决与关闭-2026-09-24.md),无需重做。现在交付[4B3分期+4B3A完整方案](阶段4B3分期与4B3A固定存档入口方案-待评审-2026-09-24.md)、[调用事实附件](阶段4B3调用事实与分期附件-2026-09-24.md)、[受审基线](阶段4B3方案受审基线-2026-09-24.json)和[外部审查提示词](其他AI审查提示词-4B3分期与4B3A方案-2026-09-24.md)。
拟分期:A=既有PlayFabMgr显式固定句柄入口和结构化键读取;B=逐业务回调/可变内存归属;C=加载权限发布与生命周期。**本次只申请分期和A的独立审查,B/C尚未完成各自完整设计,不把它们当获批实施。** A预计只改PlayFabMgr新增块,不重写31模块、不开新会话框架、不改旧PF区域或B2私有权限。223个语法调用/81文件是事实台账,名称匹配上游仍是候选,不能称全业务隔离完成。
### 下一步责任与自动推进
当前待办在外部评审侧:按上述提示词将《阶段4B3分期与4B3A方案独立审查-2026-09-24.md》落盘,分别结论A(分期)/B(A完整方案)。随后主会话核对39项受审材料、2101项源hash、7项应不存在路径,逐条裁决,再按结果推进。审核者不修改共享状态。
用户最新授权:**当前工作完成且无需复审时,主会话直接进入下一步,不再询问是否继续。** 必要设计/差异评审与独立实施复核仍保留;先把完整可审材料准备好再交接,不凭“继续”跳过未完成的方案评审。
### 当前todoItem
- [x] 4B2独立实施复核及主会话关闭,历史受审材料保留。
- [x] B3-D0/D1:上下文、五种条件语法盘点、关键副作用链核查与源hash。
- [x] B3-D2/D3:分期+4B3A完整合同、精确白名单、19组验收、作者自审、提示词及受审封板。
- [ ] B3-Review:外部独立审查分期和A→主会话核hash/逐条裁决。
- [ ] B3A-C0~C4:裁决后才可实施、验证、独立实施复核并关闭;目前没有新增生产/测试实现。
- [ ] B3B/B3C:各自完整方案、独立评审、裁决和实施;全部关闭才称4B3完成。
- [ ] KVSync StorageError、3C L7:两项间歇失败根因未定,首败及重跑均保留。
- [ ] P2-α真实档专项独立审查+用户产品确认;4C、tickets有界历史、身份及4D正式启用门。
**4B1/4B2已关闭;4B3未编码、未关闭;整个4B/G4未通过。** 本轮只改文档和只读源码分析工具,没有游戏代码变更、正式服访问、PlayMode、打包、Git提交。正式地址固定http://s101.local:18080/;Unity操作仅Unity CLI Loop,不用UnitySkills。过程见[设计检查点](阶段4B3设计检查点记录-2026-09-24.md),机器状态见[当前todoItem](阶段4B3当前TodoItem-2026-09-24.json)。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:4B2正式关闭,4B3方案准备(2026-09-24)
[独立实施复核](阶段4B2独立实施复核-2026-09-24.md)接受交付、无P1/P2;主会话重算221项hash全部一致,已逐条裁决B2-01~22、四项已知事项及三条P3,见[关闭裁决](阶段4B2实施复核裁决与关闭-2026-09-24.md)。B2-22完成,4B2正式关闭。
完成范围:31模块严格解码、全量Reset/Replace、受控登录/拒写/401/退出隔离。独立离线75组/1715断言,服务宿主两个平台条件各8组73断言,Unity完整31对象/双epoch/83断言及编译0错误;作者原1713与Unity总995证据保留。主会话确认离线+2来自并发发行用例的条件分支,本轮没有重跑全套测试或修改生产/测试代码。
**4B1、4B2已关闭;4B3仅方案准备,尚未批准编码;整个4B/G4未通过。** KVSync StorageError和3C L7间歇失败分别保留首败/重跑证据,根因未定;不将审查者“负载相关”的判断当确定结论。P2-α真实档专项独立审查与用户产品确认、消费/身份/tickets/场景启用门保持。
### 当前todoItem
- [x] B2-C0~C4:设计裁决、Lease/Registry、31模块、受控服务和验证交付。
- [x] B2-22:独立实施复核+主会话221项hash复核+逐条裁决+4B2关闭。
- [ ] B3-D0:已完成[设计准备与候选扫描](阶段4B3设计准备与边界-2026-09-24.md)(234行/84文件含注释及定义);继续逐调用追踪、归属与失败合同,完整4B3方案尚未形成。
- [ ] B3-D1:外部完整方案审查→主会话核hash/逐条裁决→才可限定编码。
- [ ] KVSync-StorageError:85/86→86/86,根因未定,待独立定位。
- [ ] Stage3C-L7:7/8→8/8,复合失败断言根因未定,待独立定位。
- [ ] P2-α:真实存量档兼容/迁移/备份/失败退出/人工恢复专项与用户产品确认。
- [ ] 4C、tickets有界历史、身份专项、4D及G4:尚未通过,不启用正式玩法。
正式地址固定http://s101.local:18080/;本轮无正式服访问、无PlayMode、无打包、无Git提交。Unity操作仅用Unity CLI Loop,不使用UnitySkills。每检查点更新开发日志;审核者无需修改共享文档。机器可读状态见[当前todoItem](阶段4B2当前TodoItem-2026-09-24.json)。
### 以下为历史快照(当前以本节为准)
## 当前有效状态:4B2实现与自验完成,待独立实施复核(2026-09-23)
D1–D5方案审查均已裁决。检查点2的31组模块、检查点3的受控服务编排/拒写门/退出接线已实现,检查点4主会话验证完成。见[交付与验收矩阵](阶段4B2交付与验收矩阵-2026-09-23.md)、[限定自审](阶段4B2限定代码自审-2026-09-23.md)及[实施记录](阶段4B2实施记录-2026-09-23.md)。
证据:4B2离线75组/1713断言;关闭故障独立进程3组21断言;两个平台条件的真实服务源码宿主各8组73断言;Unity19局部用例+完整31对象事务共995断言,最终83条B2-20通过且恢复全局;Unity0错误/新KV0警告。原4B1全23组等回归最终通过。**原KVSync首次85/86、重跑86/86,根因未定仍待查;旧NetworkTransport只构建,未启动正式服转发代理。**
下一步交外部AI按[实施复核提示词](其他AI审查提示词-4B2实施-2026-09-23.md)独立复核;随后主会话核对最终hash、逐条裁决与关闭。当前没有新的4B2独立实施复核报告,不把设计审查或作者自验当作关闭依据。
**4B1已关闭;4B2未关闭;4B3未启动;G4未通过。** P2-α真实存量档兼容/迁移专项与用户产品确认仍是正式启用硬前置。正式地址固定http://s101.local:18080/;本次无正式服请求,使用Unity CLI Loop,不用UnitySkills,暂不打包。
### 当前todoItem
- [x] 核对D4/D5受审23项hash、逐项裁决并合入正式版3;保留原受审材料。
- [x] 检查点1:Lease/Registry先行、4B1全量回归。
- [x] 检查点2:31/31模块codec、全字段空态与深复制;D1–D5专项验证;全部Reset后Replace事务。
- [x] 检查点3:User/Agg受控入口、PF默认与拒写隔离、当前/迟到401、退出与十秒/五秒观察、失败错误保留。
- [x] 检查点4主会话部分:真实模块Unity验证、离线/服务替身回归、范围/hash、自审和送审提示词。
- [ ] 外部独立实施复核→主会话核hash/逐条裁决→必要修复→4B2正式关闭(B2-22)。
- [ ] 原KVSync间歇StorageError根因定位;失败证据已保留,不在本轮擅改3A禁改源码。
- [ ] P2-α正式启用门:真实档兼容/迁移/备份/失败退出/人工恢复专项独立审查与用户产品确认。
- [ ] 4B2关闭后再推进4B3方案评审;当前不编码4B3、不启动玩法、不打包。
### 以下为历史快照(当前以本节为准)
## 历史过程待办(当前状态以顶部todoItem为准)
- [x] 2026-09-23接手检查点4:当时未找到4A复核报告,10项hash一致并保持待复核;该历史状态现由检查点5关闭裁决覆盖。
- [x] 读取外部3C最终验收报告,对相同源码版本复核并记录R1–R5。
- [x] 更正主会话过早PASS报告;保留历史测试与外部审查原文。
- [x] 完成存档调用盘点、阶段4分期、4A设计和待审实施任务书。
- [x] 生成《其他AI审查提示词-3C补验收与4A方案-2026-09-23.md》。
- [x] 用户指定外部AI分别复裁3C R1–R5和审查4A设计,A/B均通过。
- [x] 主会话核对四份基线hash、采纳六项P3并落盘裁决;批准限定3C修复,4A编码仍等待前置。
- [x] 主会话实施3C R1–R5限定修复、故障替身补测及限定源码自审。
- [x] 最终离线8/8、正式正常路径/清理通过、42/86/29回归、Unity编译、hash边界与脱敏验证;逐行证据已落盘。
- [x] 用户指定外部AI接受3C补修复;主会话核对hash并逐条裁决,3C/G3通过。
- [x] 4A开工依赖核对:发现3个旧测试csproj需添加独立结果类型Compile引用,最小差异方案及提示词已落盘。
- [x] 外部AI补审PASS,主会话已裁决并批准4A实施;采纳KVLiveTests仅构建验证。
- [x] 实施Owner安全读取接口和会话桥接,18组合成测试、A1–A12本轮验证及限定自审完成。
- [x] 42/86/29、Review、3C离线8/8、KVLiveTests仅构建、Unity 0错误/0警告;hash、边界、脱敏证据落盘。
- [x] 用户指定外部AI复核4A实现;主会话核对10项交付及14项范围hash,逐条裁决A1–A12/P3,4A关闭。见《阶段4A实施复核裁决与关闭-2026-09-23.md》。
- [x] 编制《阶段4B分期与4B1登录存档准备方案-待评审-2026-09-23.md》、外部审查提示词和受审基线;该初稿现已独立审查并裁决实施,原受审正文保留。
- [x] 外部AI独立评审4B分期与4B1方案双PASS;18项受审hash一致,主会话逐条裁决P3-A/B/C并批准白名单内4B1。
- [x] 新增LoginContext/PrepareResult及meta、新离线测试宿主;23组合成测试及B1-01~B1-16技术矩阵完成。
- [x] 4A18、42/86/29、Review、3C离线8、KVLiveTests仅构建、Unity0错误/新模块0警告;68项既有hash未变、限定自审及脱敏证据落盘。
- [x] 用户指定外部AI独立复核4B1实施;主会话核对6项交付及68项范围hash、逐条裁决三条P3和B1-01~B1-16,4B1正式关闭。见《阶段4B1实施复核裁决与关闭-2026-09-23.md》。
- [x] 读取已落盘4B2方案初稿及外部审查提示词,记录当前方案SHA256;用户澄清当前需要审查提示词,并非通知4B2评审完成。
- [x] 取得原初稿作者自审性质报告,两项受审hash一致;主会话逐条裁决5P1/5P2/5P3,接受退回,不批准实施。
- [x] 完成4B2修订2主方案、字段与31组模块合同、精确文件边界、受控入口/单会话借用/关闭/副作用方案及新提示词,原初稿和审查保留。
- [x] 将4B1实施复核P3-1'发布顺序、P3-2'CleanupFailed/OriginalError双检查及关闭失败屏障纳入修订2及验收;P3-3'保留历史失败证据,无修复项。
- [x] 修订2外部审查通过;主会话123项hash核对一致,逐条裁决2P2/5P3,落盘限定实施批准。P2-α设为正式启用硬前置。
- [x] 实施检查点1:Lease/Registry与关闭竞争先行;新增19组、原4B1全23组、Unity编译与KVLive仅build通过,证据见《阶段4B2实施记录》。
- [x] 保存P2-β ClubService开工副本/hash;检查点2发现AD格式及FootPrint位宽合同差异,完成具体补审方案/提示词/基线。
- [x] 外部差异审查D1/D2均通过、无P1/P2;主会话14项hash一致,逐项裁决D1/D2与三条P3,见《阶段4B2检查点2字段差异审查裁决》。
- [x] 按P3-3生成合并D1/D2的《阶段4B2字段与模块加载合同-正式版》,保留原受审附件及hash;实施记录追加前同hash存档。
- [ ] 按正式附件继续检查点2全部字段codec/31模块空态与测试,再执行检查点3编排/guard/Quit、检查点4真实模块Unity验证/完整回归/独立实施复核;D1/D2已批准,无需重复送审,不重做检查点1。
- [x] D2显式unchecked及注释、完整ulong字段和双字段Reset已实现;Unity真实对象覆盖2^31/2^32/UInt64.MaxValue及同对象高位→缺失归零。仅此局部验证,不等于4B2验收。
- [x] 检查点2首批:19槽核心codec、有界诊断、D1/D2模块纯入口;30组离线、原4B1全23组、Unity真实M08/M23 28断言及编译通过,见《阶段4B2检查点2首批实现与证据》。
- [ ] D3:M21/M22/M24非Nullable struct与null空态冲突,外部按《阶段4B2检查点2值类型空态差异补审方案》审查后主会话逐条裁决;不修改这些模块来代替评审,不重审D1/D2。
- [ ] P2-α正式启用前置:真实PF存量档兼容性盘点及迁移/备份/失败退出/人工恢复方案另行独立审查、用户产品确认;显式纳入旧AD被PF静默跳过的坏槽条目(P3-1),不得把本次受控实施授权当作真实拒档/迁移授权。
- [ ] P3-1:后续完整保留测试输出/退出码;KVSyncTests偶发失败再现时保留首轮失败并独立定位,根因当前未定。
- [ ] 后续4B2业务加载/初始化副作用及4B3普通存档/延后回调捕获分别详审;禁止把4B1准备成功当作游戏启用门。
- [ ] 后续分别评审4B加载与普通存档、4C消费流程、身份专项和Unity场景验收。
下方阶段门保留为目标和历史;3C补修复、4A及4B1已正式闭环,4B2检查点1完成、检查点2首批已验证而D3空态差异待补审,4B3未启动;各子阶段通过不能代替完整G4。
## 阶段4门(G4:涂游登录与玩法存档切换)
- [x] 阶段3C最终验收通过,G3关闭([最终验收](阶段3C最终验收-2026-09-23.md):复跑离线7/7、回归42/86/29、hash一致、Unity 0错误、正式run双账号清理无Unknown)。
- [ ] 主会话编制阶段4方案:UserService/Owner生产桥接、await登录→Get→初始化→Done、失败不进游戏不写空档、退出/换号/授权过期时序、PlayFabMgr入口替换、非AGG/编辑器路径、hex假设盘点、立即同步true兼容适配。
- [ ] 其他AI独立方案审查;用户裁决后实施。
- [ ] G4验收:专用账号正常进入游戏且存档读写走自建KV;改进度重登可恢复;失败不报Done不写空档;立即写失败无重复消费;编译与登录回归通过。
- [ ] 遗留专项(不阻塞阶段4启动):人工解锁/强制恢复独立评审;4xx降级差异裁决(证据已有);tickets有界历史评估;真机/最终包验收留最后。
阶段4评审通过前不得直接改游戏入口。
## 历史:阶段3C通过(2026-09-23)
## 当前3C文档门(已完成)
- [x] 本会话完成3C组合/限定联调/诊断导出方案。
- [x] 落盘实施任务书、验收矩阵、方案审查清单和其他AI审查提示词。
- [x] 用户将方案交给其他AI,生成`阶段3C独立方案审查-2026-09-23.md`。
- [x] 本会话裁决全部审查发现;无P1/P2,F1–F6全部采纳。
- [x] 实施任务书已改为“已批准实施”,由本会话开发3C。
- [x] 完成独立测试宿主的离线、安全、正式服、回归和Unity验收。
- [x] 完成阶段3C限定范围代码审查和证据归档。
- [ ] 阶段4游戏接线开始前完成独立方案评审与开发边界裁决。
阶段3C限定技术验收已通过;正式fixture已清理,无Unknown遗留。下一步不得直接改游戏入口。
## 历史:3B终审闭环与当时下一步(2026-09-22)
- [x] 用户另开的外部开发AI读取接手提示词,独立核对并保留候选实现。
- [x] 外部开发AI重新完成29/42/86、Unity验证和任务书§7正式交付。
- [x] 本会话完成文档终审;8项交付哈希一致,阶段3B正式验收通过。
- [x] 本会话已编制3C方案、验收矩阵和实施边界;后续实施分工由2026-09-23顶部清单覆盖。
说明:此前内部子Agent形成候选修复的流程纠错仍保留;最终通过依据是外部开发AI检查点8的独立核对、重新取证和正式交付。
## 最新裁决:3B审查闭环(2026-09-22)
- [x] 主会话逐文件审查和关键交错复跑;R1排队Refresh关闭异常已交开发AI修复并独立复核。
- [x] 3B 29/29、3A 86/86、阶段2 42/42、Unity编译0错误;最终hash一致。
- [x] 按已评审范围实施3C限定正式服联调与诊断导出,不接游戏存档入口。
- [ ] 3C后另行评审游戏接线、PlayFab读写替换、SDK删除、真机和最终包。
证据见[阶段3B主会话代码审查](阶段3B主会话代码审查-2026-09-22.md)。
## 历史待审清单:3B曾待发布任务者审查(现已完成)
- [x] 3B实施交付(含主会话接手检查点6收尾修复与全量复验:28/42/86测试、Unity强制重编0错误、hash更新),见[实施记录](阶段3B实施记录-2026-09-22.md)。
- [x] 发布任务者按[审查清单](阶段3B审查清单-2026-09-22.md)完成终审;阶段3B已通过,3C仍须先做方案评审。
- [x] 服务端4xx只读核查([核查报告](服务端4xx写入可能性核查-2026-09-22.md)):当前版本4xx均在写入前产生;客户端本批不改动,非200仍保守MayHaveCommitted;如据证据降级4xx须另立差异裁决。
- [x] 3C纳入诊断导出:只读导出身份、序号、状态和摘要,不导出Cookie或真实值。
- [ ] 3C之后独立恢复专项评审:人工解锁/强制恢复不与诊断导出绑定、不提供简单“继续写入”按钮,须明确操作者、备份、远端核对和风险确认。
- [x] 用户裁决(2026-09-22):①两条收紧策略正式追认、定性“用户后续确认”;②授权仅事实一致性文档修复;③3B交付后统一审查;④4xx核查/诊断导出/恢复专项排布如上。全文见[接手入口](接手入口.md)顶部。
## 历史进度:阶段3A已验收、当时下一步3B(2026-09-22)
两条收紧策略属**用户后续确认**:方案评审后用户明确继续,2026-09-22正式追认。**3A缓存状态与磁盘层已实现并通过验收**:主测试86项、独立13组/127断言通过,C盘Unity编译0错误/274已有警告,新增模块0警告。独立审查路径P2已修复闭环,无剩余确认阻塞。先读[3A验收报告](阶段3A缓存状态与磁盘验收-2026-09-22.md)和[独立代码审查](阶段3A独立代码审查-2026-09-22.md)。
整个阶段3尚未完成。下一步按已批准方案实现**3B固定会话owner与串行网络同步器**,再验收3C;无需重复索取同一方案或101/102授权。本批3A无正式服访问,不改游戏存档入口或SDK,未打包。正式API仍为 **http://s101.local:18080/**。HTTP/票据/异步Close/真实Cookie测试留3B,游戏存档切换留阶段4。
下方“待用户确认”“方案尚未编码”等为先前时点;本条和开发日志末尾为当前状态。阶段2证据继续有效,最小登录平台/人工/最终包待验收保留。
## 最新阶段结论:阶段2独立KV适配已验收(2026-09-22)
先读[阶段2验收报告](阶段2独立KV验收-2026-09-22.md)及[独立代码审查与补充终审](阶段2独立KV代码审查-2026-09-22.md)。独立Get/Set/Delete已实现,42项契约测试、正式s101的16项联调检查通过,101/102专用测试key均已删除并读回确认,原业务KV前后相同。Unity编译0错误/274已有警告。JSON沿用Json.NET扩展语法的兼容边界已明确裁决,非标准JSON严格校验;本批无剩余确认阻塞。
正式API固定 **http://s101.local:18080/**。当前Editor已Stop Play;联调是生产源码.NET宿主,不冒充Unity游戏存档/真机通过。下一步是**阶段3缓存与可靠同步的完整方案评审**,尚未编码;游戏存档仍走PlayFab,生产会话桥接、存档切换、俱乐部扩展和SDK删除未放行,打包留最后。最小登录平台/UI网络、主动推送、人工玩法/完整存档及最终包待验收继续保留。
本条覆盖下方历史“阶段2尚未实现”“KV全部暂停”“最后PlayMode”等当前状态说法;历史证据保留。实施前边界见[阶段2启动裁决](阶段确认与阶段2启动裁决-2026-09-22.md),每步见开发日志。
### 阶段2已完成任务
- [x] 核对最小登录阻塞项及当前审查源码一致性。
- [x] 复核服务端Get/Set/Delete契约,完成固定测试会话与错误处理方案评审。
- [x] 实现独立PlayerKVModels / PlayerKVClient,42项KVContractTests通过。
- [x] 101/102专用key写读删、覆盖、隔离、重新登录持久化及清理验收,16项联调通过。
- [x] Unity编译0错误/274警告、限定独立review及阶段2验收记录。
### 阶段3设计与小阶段验收
- [x] 完整方案已明确固定会话桥接合同、每账号/环境缓存隔离、读取失败禁止建空档;尚未实现。
- [x] 完成dirty版本/单通道写入、401/退出/换号和未知结果保留的方案自审及限定独立复审。
- [x] 落盘完整设计、3A/3B/3C文件边界和验收门。
- [x] 独立方案评审R1–R4闭环;备份措辞修正。
- [x] 用户确认两条收紧策略和完整方案,已执行3A;定性“用户后续确认”,2026-09-22正式追认。
- [x] 3A:三个纯状态/磁盘模块、86测试、独立127断言及Unity编译通过;路径P2闭环。
- [ ] 3B:固定账号owner、串行HTTP、立即票据、取消及Close准入,按已批准方案编码和验收。
- [x] 3B工作方式切换:主会话已完成实施任务书和审查清单;由另一AI实现/自测,主会话最终审查。
- [ ] 实施AI按《阶段3B实施任务书-2026-09-22.md》交付,不得自行进入3C。
- [ ] 主会话按《阶段3B审查清单-2026-09-22.md》逐项复核并给出3B裁决。
- [ ] 3C:组合故障/重启及限定专用key联调、独立review后才标记整个G3通过。
### 最小登录已完成和保留验收(历史证据继续有效)
最新证据:[本轮执行结果](最小登录收尾执行结果-2026-09-22.md)。独立复审、P2修复和可执行自动化通过;平台/UI网络、人工玩法及最终包仍有专项待验收,先补验收,不重复开发。
- [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] 9月21日前轮四文件方案/编译0错误271警告/自审证据保留;9月22日最新修复编译、独立复审与运行证据见本轮执行结果。
- [x] 真实HTTP401/连接中断/15秒超时及恢复:生产源码外部宿主通过;见《网络故障验收结果-2026-09-22.md》。
- [ ] Unity完整登录UI的真实HTTP故障恢复:Restricted禁止动态创建网络对象,外部宿主结果不能替代。
- [x] 真实WebSocket断流自动重连:生产RTService+项目SignalR DLL宿主通过,重连前后Test=OK、negotiate=0、释放后连接0。
- [ ] Unity/最终平台实际自动重连与服务器业务推送;外部宿主及Test RPC不替代。
- [ ] 最终统一打包后验收:真实渠道SDK迟到回调/退出/换号及真机。按用户最新安排延后,不作为当前Editor验收的阻塞项;现在不打包、不索要APK。
- [ ] 必要钓鱼玩法、完整游戏存档隔离与用户进度核对;核心字段抽查不能替代全部存档。
- [x] 新独立复审已完成:九文件逐项核对,发现两处现存P2;见《最小登录独立复审-2026-09-22.md》。
- [x] P2整改收尾:GetUI旧续体、声音Init/Release交错及实际Stage已Stop窗口完成最小修复;58项定向测试、修复后独立复审、Unity最终三轮错误0/Hub Test=OK。
当前只放行独立KV适配;暂停完整俱乐部迁移、游戏存档切换、删除PlayFab SDK。外围未提交改动保留,未经逐差异评审不整批回退;不自动提交或发布。
---
# 历史客户端迁移 TODO:PlayFab → KV 读写适配
## 用户最新范围裁决:先完成最小登录
当前只推进最小登录、Cookie、失败/退出换号、SignalR必要生命周期和首页自动GetSelfClub最小兼容。俱乐部完整业务与KV实现移至后续,不能继续作为本阶段自动扩展项。已有外围代码保留为待单独归档/评审改动,尚未从工作区剥离,不整批回退。
执行范围以[当前阶段范围裁决-仅最小登录](当前阶段范围裁决-仅最小登录.md)为准;下方历史进度保留,但不代表当前继续开发授权范围。
## 最新执行结果:F1/F2/F3整改(覆盖下方历史待办)
- [x] F3退出入口先注销再等待Hub,非注销保持;4组实际QuitAct+替身依赖测试通过。
- [x] F1列明11个俱乐部本人请求、创建缓存及成员UI身份修正;目标ID保留并验证。
- [x] F2创建/退出失败保留状态、过期响应无副作用;创建code1不当新建成功扣费。
- [x] Review整改:批量拒绝code4、签到在途/日期防重与UI等待刷新。
- [x] ClubRegression31项、认证31项、RT生命周期测试、2079源码编译及独立复审通过。
- [ ] Unity场景、真实渠道SDK、实际网络时序组合验收。
- [ ] 继续A剩余:体力捐赠donateId、聊天及SocialClubJoined其他旧身份逐项分类迁移。
- [ ] B独立KV适配及生产桥接专项评审;C/D保持前置验收门。
## 项目补充审查原始待办(历史,整改结果见顶部)
- [x] 对照当前源码确认项目补充审查F1/F2/F3。
- [ ] F3/P1:先评审注销时身份失效时点,再修复等待Hub释放前仍可登录/处理HTTP的窗口,保留非注销退出语义。
- [ ] F3验收:阻塞Stop期间旧HTTP200/401、API登录、渠道回调无副作用;释放异常可完成必要清理。
- [ ] F1/P1:ClubService剩余11个本人ID与缓存映射分类并修正,目标ID单独溯源。
- [ ] F2/P1:CreateClub/QuitClub失败和旧响应不得清空本地状态或发布成功事件。
- [ ] 上述修复完成后独立review及专项验收;当前完整退出安全/业务隔离不通过,C/D不放行。
更新:2026-09-21。当前接手先读《接手入口.md》《开发状态.md》《后续实现方案.md》《审查记录.md》。登录优先已落实;接口身份修正与独立KV适配可并行准备,集成仍按阶段验收。
## 最新执行调整:先完成最小登录
用户随后要求“优先完成最小登陆的逻辑,后续可以一步一步替换”,以此为当前优先级。下方KV阶段保留作后续队列,不继续越过当前目标实施。
- [x] 完成独立最小登录方案评审,见《最小登录实施裁决.md》。
- [x] 新增S101AccountSession:十进制涂游ID、严格登录响应、独立Cookie与账号切换隔离。
- [x] 新增Unity菜单 Tools/Debug/S101 Minimal Login,可输入101/102验证。
- [x] 22项本地合约测试通过;新增运行/编辑器脚本使用Unity2022.3引用与netstandard2.1编译通过。
- [x] 101/102实际登录成功,Cookie授权的playerdata/Get均返回200;没有写入或删除KV。
- [ ] 在Unity界面实际打开窗口验证交互;全项目导入/编译未作为本次通过项。
- [x] 主登录入口等待涂游 ID 的 API 认证;HTTP 与 SignalR 共用 Cookie,API 失败返回 Api。
- [x] 25 项合约/会话绑定测试;HotUpdate 2079 个源文件使用现有 Unity 引用编译通过;101/102 实际 manager 授权 GET 通过。
- [x] 用户于2026-09-17确认Unity实际可登录。
- [ ] API失败重试、退出换号及SignalR首连/重连专项验收。
- [x] 登录后礼包/战令异常与GetSelfClub身份修复代码及隔离回归通过。
- [ ] 用户复测上述报错修复。
- [ ] 后续接入 KV 初始化,再逐步替换剩余 PlayFab 功能。
范围说明:主流程的 API 认证已接入,PlayFab 存档初始化仍保留;完整游戏登录与 SignalR 运行验收待执行。新增验收见《主流程最小认证验收.md》。
本清单取代此前“认证与SignalR优先”的顺序。技术细节见[详细修改方案](客户端迁移详细修改方案.md)、[KV复核](KV更新复核.md)。已核查基线为客户端f40a816cc、服务端858fe7c/KV提交a3d3faa,实施前重新检查版本。
## 最小登录收尾补充(2026-09-21)
- [x] 31项认证/HTTP自动测试、RT生命周期模拟测试、活动回归及2079源码编译通过。
- [x] 101/102正式服直连WebSocket握手及Test=OK,无negotiate。
- [x] 独立代码review初审问题修复,详见最小登录收尾代码审查.md。
- [ ] Unity首页/钓鱼场景复测、真实SDK换号、实际断网重连专项验收。
## 阶段与验收规则
- 状态:待开始 → 进行中 → 待验收 → 验收通过;阻塞需记录具体缺口。
- 每阶段修改前完整评审并记录裁决和开发边界;本清单不表示尚未确认的存档策略已获批准。
- 前一阶段验收通过才进入下一阶段;代码完成不等于验收通过。
- KV需要Cookie:独立联调使用专用测试账号执行最小account/Login取得会话,无需先重构完整游戏登录。
- 最终目标仍包含涂游登录、游戏KV、SignalR及完整SDK移除。
## 并行任务A:接口身份与会话生命周期
状态:已完成登录/GetSelfClub局部修正及独立审查;其余实现待开始。对应《后续实现方案.md》A及审查P1。
- [x] 新登录与GetSelfClub使用ApiPlayerId。
- [x] 独立agent审查、状态/方案/验证入口落盘。
- [ ] 盘点全部本人/目标玩家ID、缓存映射、聊天载荷及十六进制假设。
- [ ] 完成具体文件边界与身份/生命周期方案评审。
- [ ] 修正ClubService及其他新API剩余身份混用;保留旧PlayFab调用身份。
- [x] HTTP manager旧响应/旧401按版本过滤;GetSelfClub调用者同步保护。其他业务调用者仍需逐项审计。
- [ ] 明确HttpClient/Cookie所有权、换号取消与退出释放,供KV生产绑定使用。
- [x] 修正SignalR首连绑定、订阅释放和可等待的旧连接停止;源码与替身Hub测试通过,Unity场景验收仍待执行。
- [ ] 本人/目标玩家/未授权/101切102/迟到响应及实时消息专项验收。
## 阶段1:确认 PlayFab 存档到 KV 的映射(最高优先级)
状态:历史G1评审通过(2026-09-16,见《阶段1验收.md》);接手时仍需复核最新契约/工作区。
- [x] 确认Get/Set/Delete源码、DTO、MySQL表及Cookie身份来源。
- [x] 确认身份使用涂游ID、正式地址为http://s101.local:18080/。
- [x] 检查最新版本与工作区差异,固定评审基线。
- [x] 列出全部UserData调用及key来源,区分固定/动态key、JSON字符串值。
- [x] 映射登录InfoResultPayload.UserData到Get全量读取;本人GetUserData到Get指定keys。
- [x] 映射UpdateUserData及SyncDataImmidiate到Set;核实删除调用,存在则映射Delete。
- [x] 单列他人Public UserData读取,不能迁入本人KV接口。
- [x] 核对key/value格式、128字符键限制、remoteStore=false与旧缓存处理。
- [x] 对无LastUpdated时的恢复规则、冲突处理和有限并发保证记录明确裁决;不能伪造远端时间。
- [x] 确认Set/Delete空HTTP200为成功,Get失败不能当空存档。
- [x] 记录精确开发边界:适配层、兼容入口、必要调用修正;暂不删除整个SDK。
### 验收门 G1
- [x] 每个存档调用明确归属本人KV、他人资料、仅本地或其他能力,无遗漏。
- [x] 接口/模型/错误/缓存/身份差异均有明确处理规则。
- [x] 存档策略与并发保证已有评审裁决;未决项阻止对应实现。
- [x] 阶段验收记录通过,解锁阶段2。
## 阶段2:独立 KV 读写适配层
状态:生产适配未实现;已有未完成测试骨架。前置G1已通过,继续开发前处理独立审查结论。
- [ ] 新增无PlayFab依赖的DTO与KV客户端,支持Get/Set/Delete。
- [ ] 明确API基址与Cookie会话,区分HTTP、授权、网络、解析错误。
- [ ] 测试宿主以专用涂游测试ID取得Cookie,保留现有正式玩法入口。
- [ ] 确认部署包含KV接口且MySQL迁移生效;不自动执行生产迁移。
- [ ] 补充响应解析、空正文成功、缺失key与失败分类测试。
### 验收门 G2
- [ ] 新增→读→覆盖→读→删除→读通过,仅操作独立测试key。
- [ ] 全量读、指定key、不存在key、空字典、空字符串符合契约。
- [ ] 无Cookie不能访问;两个测试账号同名key互不影响。
- [ ] 重新登录后仍可从服务器读到已写数据,排除本地内存假阳性。
- [ ] Unity编译及测试通过,真实持久化结果留证,并清理本次测试key。
## 阶段3:缓存与同步可靠性
状态:3A已验收;3B/3C未实现。G2已通过,整个G3尚未通过。
- [ ] 按环境+涂游ID持久化云端基线及待写记录,排除旧PlayFab缓存混用。
- [ ] 替换固定缓冲桶,串行发送独立快照;成功按序号确认、失败保留。
- [ ] 普通同步、立即同步和删除共用顺序规则。
- [ ] 实现G1裁决的恢复/冲突策略及暂停恢复、退出保存、换号隔离。
- [ ] 先用测试宿主验证,不提前切换生产登录链路。
### 验收门 G3
- [ ] 发送v1期间产生v2,v2不丢;51个以上key无静默丢失。
- [ ] 断网重启、超时未知结果按规则恢复,冲突不自动覆盖。
- [ ] remoteStore=false不上传,空值/缺失/删除可区分。
- [ ] 旧账号迟到回调不修改新账号,不同服务器缓存隔离。
- [ ] 缓存损坏/写失败明确报错或恢复,不当作新存档。
- [ ] 验收记录明确跨设备并发和延迟提交的保证边界。
## 阶段4:涂游登录与玩法存档切换
状态:待开始。前置:G3通过,资料来源及调用者变更方案完整评审。
- [ ] 涂游ID直接作为UserId/playerId,替换PlayFab身份转换。
- [ ] 确定昵称/头像/历史时间等来源,不用未恢复默认值覆盖服务器。
- [ ] await业务登录→Get→初始化玩法→Done;失败不继续进入游戏。
- [ ] 同批切换PlayFabMgr内部与登录数据类型,保留MonoBehaviour/meta及业务兼容入口。
- [ ] 捕鱼/转盘立即写失败不报成功,重试不重复扣减。
- [ ] 核对非AGG/编辑器入口及邀请码、问卷、随机种子的hex假设。
- [ ] 完成退出/换号/授权过期/事件时序;不得让未迁移功能拿新ID调用旧PlayFab。
### 验收门 G4
- [ ] 专用账号正常进入游戏,代表性存档读写走自建KV。
- [ ] 修改进度后重登可恢复,排除本地缓存影响。
- [ ] 登录/KV失败不报Done、不写空默认档。
- [ ] 捕鱼/转盘失败恢复无重复消费、无虚假成功。
- [ ] 支持的渠道与编辑器路径编译及登录回归通过。
## 阶段5:SignalR 与外围功能迁移
状态:待开始,直连选项子集已修改。前置:G4通过,各替代接口已确认。
- [x] RTService加入SkipNegotiation=true和WebSockets,保留Cookie及自动重连。
- [x] 实际DLL属性检查通过;尚不代表Unity编译或运行验收。
- [ ] 实测Hub直连、消息、重连;修正首连订阅及重复登录订阅问题。
- [ ] 迁移好友/玩家资料,明确缺失字段处理。
- [ ] 为普通/地区榜、公告、票据匹配确认替代契约并实现。
- [ ] 清理EntityKey、他人Public UserData及工具中的旧身份依赖。
### 验收门 G5
- [ ] 无negotiate、Test返回OK,首次及重连消息无遗漏/重复。
- [ ] 每项保留功能有实际替代且回归通过,不用空结果或静默禁用过关。
- [ ] 全部SDK运行调用已有可核查的替代/移除结果。
## 阶段6:删除 SDK 与最终验收
状态:待开始。前置:G5通过。
- [ ] 删除SDK和异步包,清理manifest/lock、asmdef、裁剪和热更新引用。
- [ ] 由Unity重新生成项目及派生构建产物。
- [ ] 区分兼容字段名/MonoBehaviour类名与真正SDK依赖。
- [ ] 执行脚本编译、相关测试、热更新构建和完整联调。
### 验收门 G6
- [ ] 无PlayFab运行/编译依赖。
- [ ] 涂游登录、KV持久化、SignalR及保留玩法端到端通过。
- [ ] 差异、结果、环境及剩余限制完整记录。
## 每阶段验收记录
保存为本目录“阶段N验收.md”,包含:评审裁决与边界、源码版本与环境、脱敏测试账号、修改文件、用例操作/预期/实际/证据、失败与阻塞、测试数据清理结果、最终验收结论。
**当前下一步:G1历史验收已通过;依据独立审查,并行推进A接口身份盘点/方案及阶段2独立KV协议适配。生产会话绑定先完成专项评审;阶段3/4集成须先通过前置验收。**
- [x] D3受审10项hash/逐条裁决及M21/M22/M24实现和125条真实对象验证。
- [ ] 完成剩余检查点2模块、全量事务验证,再按顺序推进3/4。