Files
ft/CodexOutput/upserver/接手入口.md
Liubing\LB 6813da149a feat(upserver): 保存M2客户端KV迁移至本人统计写检查点
保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。
保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。

验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。
包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
2026-09-30 19:19:05 +08:00

655 lines
101 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.
# 接手入口:s101客户端迁移
> **2026-09-30 当前:C3e本人统计写已按原C3c第六轮许可实施并验证。** [裁决、实施记录及服务端统计合同](B3BatchMigration/M2/M2-C3e本人统计写裁决与实施记录-2026-09-30.md)。唯一生产SetLeadboardData的KV分支写本人LevelB/地区LevelB,原公式、SetLvData、调度及PF/AGG分支保持;最终双条件各33组646断言,CLI Loop编译0错269警告、非Play。原R2-S写入挂起已解除并完成,不再等待这项审核;榜读/好友/远端普通等级/公告/匹配、双闸及完整通关仍待后续。同批正常验证不另送审;未操作服务器、正式账号或打包。下方旧待R2-S裁决状态为历史。
> **2026-09-30 当前:客户端剩余项核查完成,本人统计写独立实施并入原C3c待裁决。** 见[本轮核查与R2-S裁决材料](B3BatchMigration/M2/M2-C3c客户端剩余项核查与本人统计独立实施待裁决-2026-09-30.md)。C3d交付13/13一致,已完成部分不重审;剩余共用业务8处直接SDK调用、GetPlayLv远端等级及开发冻结已分项定位。本人KV写能力已有,但第四/第五轮挂起限制尚未解除;本轮仅列具体文件/方法/测试与失败、多键、Flush差异供原报告一次裁决,未编码。旧暂存方案不恢复,原PF/AGG有效分支保留。此条覆盖下方历史状态。
> **2026-09-30 15:55:客户端暂存的可执行方案已补齐,进入同一次 C3c 裁决。** 先读[本人统计KV暂存实施增量](B3BatchMigration/M2/M2-C3c本人统计KV暂存实施增量-2026-09-30.md)及其增量hash:生产候选仅 LeadboardData 两方法,已有登录时间不改;明确原PF失败为log后正常完成、KV一次Flush的范围及非事务限制、完整真实类测试范围。原C3c 31/31、Client基线2122/2122一致,独立报告仍未落盘,未新增生产代码。原报告收到后核两份hash,逐项裁决后连续编码,不拆新一轮审核。
> **2026-09-30最新用户方向**:允许先在KV暂存对应数据、优先客户端移植,真正服务端联调时再确定最终接口。见[阶段移植方案](B3BatchMigration/M2/M2-先存KV后联调的阶段移植方案-2026-09-30.md)。LevelB暂存候选+已有LastLoginTimeUtc复用,未完成跨玩家查询仍登记;最终恢复临时路径、清理闲置实现。本轮仅文档,未写生产或正式KV。原C3c补充本增量后集中裁决,不另开逐项审核。
> **2026-09-30 15:36新事实**:用户已授权互加好友并允许必要时103–110。101/102互加实测完成、双向关系保留,非空friends字符串项取得;4字段PlayFabId/DisplayName/AvatarUrl/Level,Level均1,对照KV实际62/60,LastLogin和建筑等级未返回。详见[M2-C3c正式互加结果](B3BatchMigration/M2/M2-C3c正式互加好友结果与字段差异-2026-09-30.md)。不用再等非空样例,尚需同批裁决准确资料/时间投影;本次不改生产/服务器。
> **2026-09-30 15:09好友接口线上核实**:101/102登录已有账号后,正式friend/GetFriendsList均HTTP200/code=1/friends=[]。路由已确认可用,非空单项字段尚无证据,不得宣称服务器不支持。见[M2-C3c线上事实补充](B3BatchMigration/M2/M2-C3c好友列表线上事实补充-2026-09-30.md)。本次成功正式请求4次,无KV/好友写入,原受审hash不变。
> **2026-09-30 C3c:已到必要集中差异审查点。** 客户端核实历史GetFriendsList/现有SearchFriend候选;发现Level与LevelB不可直接映射、缺LastLogin可令伙伴邀请出错,公告补入范围。下一步审查[M2-C3c待审方案](B3BatchMigration/M2/M2-C3c剩余SDK接线集中差异与待审方案-2026-09-30.md)及同目录受审hash,逐条补映射后连续实施。尚未产生该独立审查报告,不改本增量生产代码;C2d/C3b已审工作不重审。本轮2122项Client与C3b证据均未漂移。
> **C3d已按用户澄清实施并验证,getter边界不再阻塞。** [实施记录](B3BatchMigration/M2/M2-C3d资料缓存用户澄清与实施记录-2026-09-30.md):唯一生产KVUserService恢复原缓存默认值/同一资料对象/本人事件,他人昵称头像接既有SearchFriend;GetPlayLv最小解耦且原对外行为不变、未接远端等级。双条件各24组491断言通过,CLI Loop最终C#编译错误0、非Play;开工2120项源码仅两既有文件改变+一个测试新增。四项服务端能力、双闸及真实最终通关仍未完成;下方旧“第五轮尚未编码/待澄清”是历史状态,不再重复送审。
> **第五轮审核更新已确认,尚未编码。** 见[状态核验与边界](B3BatchMigration/M2/M2-C3c第五轮状态核验与缓存联动边界-2026-09-30.md):审核侧范围性批准唯一KVUserService文件的缓存及SearchFriend昵称/头像接线,四项服务端能力继续挂起;28/28、31/31、交付13/13 hash一致。发现GetPlayerLv默认1会经直接调用改变GetPlayLv未加载失败语义,与“后者不动”冲突,须在同一裁决澄清最小解耦边界,不能机械改值。C3ProfileCacheTests未建;首场景双闸与最终通关仍未关闭。本轮仅状态核验,不把审核通过等同实施完成。
> **当前服务端交付材料已完整汇总:** [四项PlayFab能力迁移对接文档](B3BatchMigration/M2/M2-四项PlayFab能力迁移-服务端开发对接文档-2026-09-30.md)包含等级榜、好友/公开资料、公告、匹配的原调用、输入输出、拟接口与JSON、原业务边界及联合验收。公告与匹配四步提案已补齐,旧清单“尚未设计”不再是当前文档状态;已有等价服务优先复用。LevelB只做原样存储平移。下一步服务端对照实际实现反馈,合入C3c完整审核后客户端接线。本轮无生产/服务器代码修改、无线上请求。
> **当前待设计事项统一以[待设计与接线清单](B3BatchMigration/M2/M2-C3c当前待设计与接线清单-2026-09-30.md)为准。** 仅补等级榜读取、好友/公开资料、公告、匹配的KV替代合同;已有等价入口直接复用,字段不足最小补字段,确无入口才补接口。LevelB公式/名称/更新时机、本人KV保存方向和LastLoginTimeUtc均已定,不再作为新设计。榜单原客户端入口保留,拟leaderboard/GetLeaderboard不是必须新增URL。C3c仍须整批审核后编码;旧条目保留历史,不能恢复已撤回提议。本轮仅文档更新。
> **最新用户纠正:只设计等级榜读取接口,LevelB不重新设计。** 原客户端计算、统计名称、数值、更新时机全部沿用,原PF统计写仅平移为本人KV写;当前源码仍调用PF,不能声称已存KV。此前把统计键列为新增设计/待决策项的表述撤回,见[范围纠正](B3BatchMigration/M2/M2-等级榜设计范围纠正-LevelB沿用原逻辑-2026-09-30.md)。C3c完整审核门槛保持,不单独增加LevelB审核。本轮仅文档,无代码/线上变更。
> **2026-09-30 当前:用户授权的等级榜读取与本人统计键设计已落盘。** 见[等级榜接口设计](B3BatchMigration/M2/M2-等级榜读取与本人统计键接口设计-待完整审核-2026-09-30.md):本人沿原LevelB/地区LevelB键写同一复合分数,拟由leaderboard/GetLeaderboard返回前50排名及公开资料。与好友接口纳入同一C3c完整审查;新接口是提案,不是线上事实。原统计配置对照与两键写具体调用仍须审清,整体未批准编码;下方旧“暂存+通用Flush/报告未落盘”等条目仅为历史,不能作为执行许可。本轮只更新文档,未改客户端、测试或服务器,未发正式请求。
> **用户已授权设计好友服务端接口**:已完成[好友KV资料接口设计](B3BatchMigration/M2/M2-好友KV资料服务端接口设计-待完整审核-2026-09-30.md)及6项受审hash。拟扩展原GetFriendsList,在原好友项增加Profile投影KV名字/头像/LevelB/LastLoginTimeUtc,保留字符串数组及原消费逻辑;缺值/失败/旧协议区别已写清。由服务端开发实施服务器部分,客户端不改服务器;当前是待完整审核合同,不再仅等待他方给字段名,也未声称部署或编码通过。
> **用户已明确本人存储裁决**:本人的LevelB和LastLogin可以存KV。LevelB沿原计算/触发点;登录时间沿已有LastLoginTimeUtc及原每日刷新顺序,不新加同义键。是否允许本人存储不再是未决项;好友/榜单返回及完整合同仍需审核,未局部开工。见[用户裁决](B3BatchMigration/M2/M2-本人LevelB与登录时间KV存储用户裁决-2026-09-30.md)。
> **第四轮已复核,下一步输入已整理**:审核确认方向/隔离/原消费边界准确,仍明确整体不可编码。四项具体协议事实已写为[服务端接口事实确认单](B3BatchMigration/M2/M2-C3c服务端接口事实确认单-2026-09-30.md),可直接转给现有接口负责侧填写;不再重问迁移方向或已测路由。原28/28、31/31一致,前8项增量仅审核报告因新增第四轮变化,已记录;本轮无代码修改或线上请求。
> **第三轮审核材料已更新**:本人KV无需目标玩家ID,现有客户端不需要删除参数;跨玩家走服务端公开资料/好友投影,原业务目标ID仍保留。LevelB本人KV统计写的方向已纳入,具体完成/失败合同仍待完整审查。统一读[隔离边界复审确认](B3BatchMigration/M2/M2-C3c隔离边界修订与复审确认-2026-09-30.md)及8项增量hash;待确定事项已去除过时重复问题。原28/28、31/31一致,本轮只更新文档,无新请求或编码。
> **KV跨账号读取已按用户要求实测**:101请求102、102请求101,各试JSON的playerId/playFabId/userId及URL的playerId,8/8 HTTP200但始终返回认证本人数据,摘要与本人基线相同;非403拒绝。14次登录/读取请求,无KV或好友写。具体结论见[跨账号实测](B3BatchMigration/M2/M2-C3c-KV跨账号读取实测结论-2026-09-30.md),不能再以SearchFriend成功声称KV可读他人,也不扩大为服务器无任何公开资料能力。
> **第二轮裁决已核;SearchFriend正式证据已补**:最新报告仍未整批PASS。按既有授权实测101/102四次自查/互查均HTTP200/code=1、返回正确目标UserID;等级均1,对照本人KV62/60,昵称/头像为空,无LevelB/LastLogin。现有ID场景不再列为只做过离线测试;不存在/失败场景和资料等价性仍未证实。本轮8次登录/读取请求,无KV/好友/资料写入,无生产测试源码修改。见[本轮记录](B3BatchMigration/M2/M2-C3c第二轮裁决核验与SearchFriend实测-2026-09-30.md)。
> **既有决定复核纠正**:登录时间已有先按KV保存、最终查询留联调的阶段方向,撤回重复要求用户选择DB/KV的问题。用户确认服务器相关接口未变,已测登录/KV读取/互加/好友列表和C3b离线兼容证据继续有效,不重复索要路由或样例。具体未返回的LastLogin/LevelB与其他SDK替代映射仍须核清。见[证据复核](B3BatchMigration/M2/M2-C3c既有裁决与接口证据复核-2026-09-30.md),完整审核通过后编码的门槛不变。
> **最新审核更新已复核:仍未整体通过。** 原ZCode新增修正与状态补充,采纳Nullable异常类型及缺时间不能扩大过滤的纠正,确认局部许可已撤回;未批准新接线。主会话再核统一28/28、原C3c 31/31一致。继续等待用户确定好友时间来源及统计/榜单、好友字段、公告、匹配的准确接口证据;禁止局部先编码。
> **当前硬门槛:C3c相关内容须全部审核通过后编码。** 用户已否定局部先行实施;主会话资料缓存开工裁决撤回,未改生产/测试代码,28/28基线一致。先按[待确定事项](B3BatchMigration/M2/M2-C3c完整审核前待确定事项-2026-09-30.md)与用户明确未定方向及补齐接口事实,再交审核端;不以局部可实施建议开工。
> **当前交审入口已完成**:用户将交AI审查,请统一使用[纯平移审查入口](B3BatchMigration/M2/M2-C3c纯平移统一审查入口-2026-09-30.md)和[28项受审基线](B3BatchMigration/M2/M2-C3c纯平移统一审查基线.json)。已列原调用链、撤回项、真实接口证据、R1–R6裁决问题和实施/测试边界;查询时重算LevelB也不默认批准。28/28及原C3c 31/31核验一致,报告仍统一交付M2-C3c剩余SDK接线独立差异审查-2026-09-30.md。当前无新编码许可,未改生产/服务器或运行线上测试。
> **最新用户纠正:LevelB保持PlayFab原方案,只平移到KV。** 已撤回上一条本人统计临时快照实施候选,不再等待其批准或继续送审。原计算、统计更新时点、排行榜/好友读取语义和业务流程均保持;KV承接原能力。见[当前裁决](B3BatchMigration/M2/M2-LevelB保持PlayFab原语义裁决-2026-09-30.md)。原暂存提议及hash仅为历史证据,未实施,无生产代码需要回滚;后续按原统计链完成等价接线核查,不擅自引入临时副本或新Flush流程。
> **2026-09-30 C3b身份兼容已验证**:按用户批准的“原字段名+新UserID”执行,现有普通游戏服接线已符合;新增真实好友服务测试,两种宿主条件各21组380断言通过。覆盖101/102本人/对方、PF兼容、邀请码、原返回错误及身份撤销。生产代码未重复修改,未发正式请求;直接PF SDK替代和真实全链仍未完成。见[C3b执行记录](B3BatchMigration/M2/M2-C3b-UserID兼容接线裁决与执行记录-2026-09-30.md)。
> **当前进度统一入口(2026-09-30)**:以[M2当前开发进度与执行TODO](B3BatchMigration/M2/M2-当前开发进度与执行TODO-2026-09-30.md)为准:C2d已实施、C3a离线通过;剩余SDK→KV接线、真实集成、冻结清理与C4未完成。最新防跑偏审核已核实当前代码符合纯平移;不等同最终验收。下方保留历史检查点,不据旧状态重复送审或重新询问需求。
> **2026-09-30 工作归属纠偏**:KV承接原PlayFab相关功能是既定迁移目标,等级榜等属于原功能。撤回“当前主要工作直接转服务端”的表述;当前先由客户端与审核侧集中核对剩余SDK→KV映射,不能因客户端KVMgr未包装就认定线上能力不存在。已审同合同替换不重复送审。见[M2范围重申与集中核查](B3BatchMigration/M2/M2-KV替代范围重申与剩余SDK接线集中核查-2026-09-30.md)。
> **2026-09-30 C3a验证更新**:完整离线加载90组2006断言、装备链9组28断言、原退出回调10组35断言及非Editor工厂探针通过;原工程两处编译输入问题与临时参数已完整记录。C2d代码和证据hash未变。首场景等级榜/好友仍有明确PF调用,不能解除两闸;详见[B3BatchMigration/M2/M2-C3a验证边界与执行记录-2026-09-30.md](B3BatchMigration/M2/M2-C3a验证边界与执行记录-2026-09-30.md)。本轮不改生产代码。
> **2026-09-30 C2d 当前状态**:已按用户“审核完毕,继续”完成本轮纯平移核减及两个旧验证宿主的必要注入;当前以《M2-纯平移主会话裁决与C2d实施记录-2026-09-30.md》和《M2-合批-C2d检查点与交付hash.json》为准。下方“尚未恢复”“等待本轮差异报告”等是历史状态,不再阻断本批。HomePanel与原基线一致;全迁移只做必要存储/身份接线,额外业务修正和重构等整体移植后另行授权。debugconfig的EventApiURL已按用户要求恢复为`http://s101.local:18080/`,其他字段未变。M2尚未全链通关,真实首场景、外部能力及最终冻结清理继续列为未完成。
> **2026-09-30 最新用户裁决:整个迁移流程所有阶段只做平移,不夹带原业务逻辑修复或流程强化。** 原调用顺序、同步/异步方式、返回与异常处理、奖励/扣费及UI流程均按迁移前逻辑保留。此前新增确认等待、防重入及旧缺陷修复须整批核减;当前尚未恢复。唯一约束与核减来源见《M2-纯平移范围纠偏与既有改动核减清单-2026-09-30.md》。覆盖此前扩展提议,旧hash保留追溯;后续改进另行决定。
> **2026-09-30 补单方案最新修订:保留原同步业务处理、后台异步存档,撤回 HomePanel 增加 await 的提议,HomePanel 零修改。** 白名单增量收缩为两个离线 KVFishing 验证宿主;与补单沿用原存档时序的边界合并同一次差异审查。见《M2-C2c补单保留原异步存档流程修订-2026-09-30.md》。旧“三文件/补单确认后继续”叙述仅为历史;本次未改生产代码,未把该修订扩展到其他奖励或即时消耗链。
> **2026-09-30 用户硬约束:迁移必须保留原主要业务逻辑和工作流程。** 存储提供方与身份替换不能顺带改变奖励数量、扣费次数、订单/补单语义、活动触发条件、业务事件先后及登录退出流程。已审保存确认等待和旧缺陷修复必须逐项记录前后差异、验证连带影响;不把它们当任意改业务的许可。已改代码也须对照迁移前客户端基线,不能仅凭编译或合成用例通过称无回归。任何开发性冻结/忽略均须最终恢复或清理;不能用跳过功能或生产空值兜底隐藏失败。此约束与原三文件范围差异一起供审查侧核对,原受审方案和 hash 不重写。
> **最新 C2c:连续开发已推进至 198/202 业务共用存档 + 2 个即时消耗等待链;没有逐模块送审。** 另 3 项已有固定 KV 提示路线,1 项无调用者待清理。奖励动作收集、Survey/邀请/邮件/商店主链/签到、Chat 生命周期已编码;尚不等于全部奖励与真实场景通关。ServiceHost 两条件各 20 组/262 断言,CLI Loop 0 错/272 警告,真实模块 31 个/83 断言与纯模块 28 断言、旧装备 9 组/28 断言通过。**旧消耗和旧奖励验证实测失败,原因是白名单外隔离宿主未注入新 store;另有 HomePanel 补单 await 范围缺口。** 已集中成一份三文件最小差异方案;只这些越界修复待裁决,原批准范围无需重审。累计 110 项交付,原基线其余 2067 项不变,组合 2177 项全核通过,hash `8AA47B90E292CF39A0ED7D5304B57516AFE3B0378A2B96A27E494FA9A1202AB9`。详情见 M2-合批-C2c实施记录-2026-09-29.md、M2-合批-C2c集中边界差异与后续连续开发方案-2026-09-29.md。双闸保留、生产 runtimeVerified 全 false;服务器未读改、未 Play/正式请求/付费/打包。检查点通过后直接推进,不再要求用户逐小段“继续”。以下 C2b 及以前均为历史。
> **最新:C2b已实施,继续同批C2开发,无需等待审核。** 新迁42处,累计64/202业务存档调用;活动代币拒写不改余额,活动JSON坏档不再视为空档,FishingEventData主体及分部已接固定store。剩余138业务+2即时消耗、奖励动作/实际UI、Chat/RT及真实首场景。宿主两条件17组235断言通过,CLI Loop Editor0错272警告,正式请求0。累计47项交付hash `8F027C0677BE42099CFA7EA3ED53D86497DF55C9A7627C29006526CE7B7C0729`,原基线其余2130项不变;详见M2-合批-C2b实施记录-2026-09-29.md。全生产runtimeVerified仍false、双闸保留、M2未通关;未读改服务器、未Play/打包。以下C2a及此前状态为历史。
> **最新:C2a已实施,工作仍在开发侧,直接继续同批C2。** 共用KV/PF固定会话存档、资料/40秒调度、22项业务调用、首场景初始化后的登录时间保存已编码;跨日异常会阻止推进时间。ServiceHost两条件各16组215断言、加载90组2008断言通过,CLI Loop Editor编译0错。累计33项交付hash `7DF87736B6204DFD1689606BF40514E9299FB86F8D7ED5B13B3572537370EFBE`,原基线其它2144项不变;详见 `M2-合批-C2a实施记录-2026-09-29.md` 与 `M2-合批-C2调用迁移进度.json`。仍待180项业务调用+2项即时消耗、奖励/Chat/RT及真实首场景;两阶段闸保留,全部业务runtimeVerified仍false。未Play/正式请求/打包,不读改服务器,不新增送审。以下C1及等待审查叙述为历史。
> **2026-09-29 当前:合批正式前审已通过,已开始编码**。[正式裁决](B3BatchMigration/M2/M2-合批正式审查主会话裁决与实施记录-2026-09-29.md)已核2165/2165;C1独立KV用户服务、DI/模块31/身份/退出核心接线已实现并验证。下一步直接继续同批C2存档入口与业务调用迁移,**不再等待前审或送C1小审**。[C1检查点与交付hash](B3BatchMigration/M2/M2-合批-C1检查点与交付hash.json)记录当前20项变更/新增;原基线相应漂移为已批准实施,核对时联合使用。首场景双闸保持,M2未关闭。以下为历史。
> **2026-09-29 合批正式前审入口**:已核证修订版复核并[逐项裁决](B3BatchMigration/M2/M2-合批修订复核裁决与正式前审边界-2026-09-29.md),其中CustomId接口已有setter的结论与源码不符,已记录反证。开发侧已完成[正式方案和一次性前审包](B3BatchMigration/M2/M2-合批原ZCode一次性正式前审提示词-2026-09-29.md):2165项基线、110现存文件/12新增候选、224项台账和动态配置投影。下一步读取正式报告,核hash后整批裁决并连续编码;不再做工作稿预审。本批生产/测试未改,旧工作树保留;下方为历史状态。
> **2026-09-29 当前入口**:原ZCode合批工作稿预审已由主会话[核证并逐项裁决](B3BatchMigration/M2/M2-合批预审主会话裁决-2026-09-29.md);旧DP1基线18/18一致,预审本身无受审hash清单且明确不构成正式前审。继续完善[同一合批方案](B3BatchMigration/M2/M2-合批实施方案工作稿-2026-09-29.md)的动态存档/奖励链和精确白名单,未批准生产编码;不再向用户追问KV替代PF的存储方向。以下为历史记录,以本条与最新日志为准。
> **2026-09-29 M2 CP3A-D0 当前入口**:CP2A补审后的[20项交付hash](B3BatchMigration/M2/M2-CP2A-C15补审后交付hash.json)已核20/20,真实Player仍未验、CP2A未关闭。提速改为一次批级前审:[CP3A原句柄交付+B01两提示键方案](B3BatchMigration/M2/M2-CP3A原句柄正式业务发布与B01提示接线完整方案-待独立审查.md)、[18项受审基线](B3BatchMigration/M2/M2-CP3A-受审基线.json)、[一次性审查提示词](B3BatchMigration/M2/M2-CP3A原ZCode一次性批级方案审查提示词.md)已备;独立报告未落盘,**无CP3A生产编码批准**。单编码端,FishingStage门保持;保留工作树,不Play/正式请求/打包。
> **2026-09-29 总进度入口**:[当前总开发进度与TodoList](总开发进度与TodoList-2026-09-29.md)汇总已限定关闭范围、M2 CP2A现状和T01–T12依赖顺序;M2细节仍以下方C12/C11及[最新开发日志](开发日志.md)为准。
> **2026-09-29 M2 CP2A-C12 最新实施(覆盖下方旧状态)**:按[已审补充边界](B3BatchMigration/M2/M2-CP2A独立实施预复核主会话裁决-2026-09-29.md)仅修 `FishingChallengeManager.ResetForKVLoad` 的 Editor 条件字段赋值;[核验记录](B3BatchMigration/M2/M2-CP2A-Player条件编译补审实施与核验-2026-09-29.md)中合成89组1962断言、ServiceHost双条件各9组86断言通过,Unity CLI Loop Editor 0错误/269警告。CLI Loop 动态 Player 编译被 Restricted 安全规则在执行前拒绝,真实 Player **未验**,CP2A 未关闭。当前确定只用一个编码端;另一端若存在,只读准备 CP2B/CP3 完整方案,不得依据评审侧加速/双端提案直接编码。保留工作树,不 Play/正式请求/打包。
> **2026-09-29 M2 CP2A-C11 主会话最新裁决(覆盖下方加速/双端指令)**:已[只读审查加速与双Agent方案](B3BatchMigration/M2/M2-加速与双Agent并行方案主会话可行性裁决-2026-09-29.md)。接受提速目标,但 CP2B/CP3/CP4+5 未完成编码前完整评审、精确白名单与裁决,不能按新方案直接生产编码;双端文件归属冲突,当前仅允许另一端只读准备方案。CP2A [独立预复核](B3BatchMigration/M2/M2-CP2A独立实施预复核主会话裁决-2026-09-29.md)受审 hash 19/19+4/4 一致、有条件通过;Player 单文件补审边界获主会话批准但尚未实施,CP2A 未关闭。保留工作树;固定地址、Unity CLI Loop、不打包约束不变。下方“已启动/已生效”是评审侧提案状态,**不是此裁决下的编码授权**。
> **⚡⚡ 双Agent并行模式已启动(2026-09-29)**:用户决定两开发会话并行——**Agent A(主会话)**继续CP2A实施,**Agent B(新开会话)**做CP3约200调用批量迁移。文件隔离与Agent B启动指令见[双Agent并行分工方案](双Agent并行分工方案-2026-09-29.md)。两Agent各自完成后跑全部回归+Unity编译,交独立评审侧做**一次终点全量复核**。预计1–2天完成。加速模式安全保障保持。
> **2026-09-29 M2 CP2A-C9 实施中**:正式启动分流、仅101/102已有KV档加载、原handle内部交接及登录阶段双闸已按[裁决白名单](B3BatchMigration/M2/M2-CP2A独立方案审查主会话裁决与实施边界-2026-09-29.md)接入;合成89组1962断言、ServiceHost 9组86断言通过,Unity CLI Loop Editor编译0错误/269警告。真实 Player 编译与原ZCode批末实施复核待完成;既有 `_cheatingScore` 修复在白名单外,须另审。[最新接手卡](B3BatchMigration/M2/M2-新主会话接手卡-2026-09-29.md)。未Play、未操作正式账号、未打包;CP2A未关闭。
> **⚡ 加速模式已生效(2026-09-29)**:用户裁决[加速模式](加速模式裁决-2026-09-29.md)——CP2A+B合并实施、CP3约200调用一次大批、CP4+5合并清理,**终点一次全量独立复核**,不再逐步出方案/审查/裁决文档。开发侧按加速节奏自主推进,仅需更新简要开发日志。安全保障保持:回归套件(42/86/29等)每批必跑、白名单外漂移即停、真实服务器写入仍需授权。如遇架构级阻塞(Owner/Coordinator/协议/Guard核心变更),停下补审。固定 `http://s101.local:18080/`,Unity仅CLI Loop,不用UnitySkills,暂不打包。
> **2026-09-29 M2 CP2A-C0**:原ZCode [CP2A独立方案审查](B3BatchMigration/M2/M2-CP2A独立方案审查.md)通过,主会话核37/37 hash并[逐条裁决、收窄12文件白名单](B3BatchMigration/M2/M2-CP2A独立方案审查主会话裁决与实施边界-2026-09-29.md)。当前可按白名单做合成红测与实施,但尚无CP2A生产改动;首批只101/102已有KV档,登录交接后阻止进入首场景。固定 `http://s101.local:18080/`,Unity仅CLI Loop,不用UnitySkills,暂不打包。
> **2026-09-29 M2 CP2-D2**:用户确认首批仅101/102已有KV档,首段正式登录/原handle交接并停在首场景前。[CP2A完整候选方案](B3BatchMigration/M2/M2-CP2A正式登录与原句柄交接完整方案-待独立审查.md)、[原ZCode审查提示词](B3BatchMigration/M2/M2-CP2A原ZCode独立方案审查提示词.md)和[37项受审基线](B3BatchMigration/M2/M2-CP2A受审基线.json)已备,等待独立审查与主会话裁决;CP2A未获生产编码批准。固定 `http://s101.local:18080/`,Unity仅CLI Loop,不用UnitySkills,暂不打包。
> **2026-09-29 M2 CP2-D1**:[设计输入与新增阻断](B3BatchMigration/M2/M2-CP2正式接线设计输入与新增阻断-2026-09-29.md)已落盘。首批仅限已核准且已有 KV 档账号;首场景还有 Survey/Leaderboard 旧 PF 依赖,CP2 须完整评审后才能定白名单并编码。CP1 已限定关闭,CP2 未获生产编码批准;固定 `http://s101.local:18080/`,Unity 仅 CLI Loop,不用 UnitySkills,暂不打包。
> **2026-09-29 M2 CP1限定关闭**:原ZCode独立实施复核报告已落盘,主会话重核交付95/95 hash一致,并[逐项裁决](B3BatchMigration/M2/M2-CP1独立实施复核主会话裁决与限定关闭-2026-09-29.md);独立复跑120组2733断言0失败,P3两项按证据限定接受。CP2正式接线仍待完整设计、独立审查及主会话裁决,未获批编码;最终闲置实现清理、旧Mgr停用和流程图未完成。固定http://s101.local:18080/,Unity仅CLI Loop,不用UnitySkills,暂不打包。
### 以下为历史检查点(以上方为准)
> **2026-09-29 M2 CP1-2最新状态**:修订2原ZCode报告已核19/19 hash并逐项裁决;CP1两源码限定实施及合成回归完成,待原ZCode批末独立实施复核,尚未关闭。加载84组1911断言、Context 23组279断言、B02完整13组544断言、隔离清理失败3进程5/8/8断言,均0失败。CLI Loop编译报告0错误/272警告,Success=null;前后非Play/非编译,接口反射探针受Restricted规则拒绝并保留限制说明。已有19份Client改动hash全部保留;CP2仍待完整设计审查,CP3–CP5及最终闲置代码清理未完成。 [CP1交付](B3BatchMigration/M2/M2-CP1实施交付与CP2输入-2026-09-29.md) · [原ZCode复核提示词](B3BatchMigration/M2/M2-CP1原ZCode独立实施复核提示词.md)。固定http://s101.local:18080/;不用UnitySkills,暂不打包。
### 以下为历史检查点(以上方为准)
> **2026-09-29 M2 CP1-1当前状态**:原ZCode修订2复审已核19/19 hash并逐项裁决,CP1已限定实施(Context+Coordinator共用加载、成功释放Guard后交接原handle、同步撤销);加载宿主首轮绿测84组1911断言,已记录红测及测试编译首败。正在补完并发/回归与Unity CLI Loop编译,尚未批末独立复核,CP1未关闭;CP2仅通过五类依赖盘点,仍待完整方案审查。见[主会话裁决](B3BatchMigration/M2/M2-修订2独立复审主会话裁决与CP1实施边界-2026-09-29.md)。正式地址http://s101.local:18080/,不用UnitySkills,暂不打包。
### 以下为历史检查点(以上方为准)
> **新主会话快速接手**:[M2接手卡(2026-09-29)](B3BatchMigration/M2/M2-新主会话接手卡-2026-09-29.md)。本会话已完成修订1审查裁决和修订2补审材料,待原ZCode修订2独立复审;当前没有M2生产代码批准。
> **2026-09-29 M2最新状态:修订1审查已裁决,修订2正式接线依赖待原ZCode补审。** 主会话重算修订1受审文件15/15 hash一致;接受“先移植后优化”总路线,但修订1的CP1–CP2条件不足,**未批准生产代码**。源码另核实普通启动仍创建并唤醒PlayFabMgr、`kv`配置及普通登录未接通、账号租约仅放行验证路由、31模块Bindings仅Editor编译。[逐项裁决](B3BatchMigration/M2/M2-修订1独立审查主会话裁决与新增阻断-2026-09-29.md) · [修订2补审方案](B3BatchMigration/M2/M2-正式接线依赖补审方案-修订2-待评审.md) · [给原ZCode的提示词](B3BatchMigration/M2/M2-正式接线依赖补审提示词-修订2.md) · [19项受审基线](B3BatchMigration/M2/M2-正式接线依赖受审基线-修订2.json)(主会话复算19/19一致)。下一步由原ZCode判定CP1能否独立实施、CP2前置设计是否完整;主会话收报告后再核hash和逐条裁决。CP1若会成为弃用代码,须合并进CP2重审。最终迁移完成时清除无用代码,形成最终流程图。正式地址`http://s101.local:18080/`;Unity CLI Loop;不用UnitySkills;暂不打包。
> **2026-09-29 M2新检查点:修订1完整方案已形成,待原ZCode独立方案审查。** [方案](B3BatchMigration/M2/M2-先移植后优化完整方案-修订1-待独立审查.md) · [审查提示词](B3BatchMigration/M2/M2-先移植后优化独立方案审查提示词-修订1.md) · [15项受审基线](B3BatchMigration/M2/M2-先移植后优化受审基线-修订1.json)。关键新增事实:正式受控加载成功后仍持Guard,四个KVMgr入口会继续拒绝;正式可写路径必须在Apply成功后释放Guard再发布原handle,验证路径保留原行为,具体实现须审查裁决。当前没有M2生产代码批准;未改源码/未进Play/未访问正式服。
> **2026-09-29 最新用户纠偏及历史核证**:9月15日前PlayFabMgr没有Guard;9月28日upserver提交`0eb43b2b4`才加入,B02后续原样搬迁四KV入口。它不是旧Mgr固有逻辑。现阶段不修改/移动/删除Guard,不同时做架构优化;先写可对照的旧存档能力与调用方迁移完整方案,审查裁决后实施;迁移稳定后再以证据评估Guard是否仍有必要。此前“先归位KVMgr并同批处理Guard”的顺序已撤回。见[来源与策略](B3BatchMigration/M2/M2-管理器同生态位替代策略-2026-09-29.md)。无M2生产代码批准。
> 流程依据:[F01–F12审查侧裁决](流程修正主会话意见-审查侧裁决-2026-09-28.md)全部接受;每批一次完整方案审查与一次批末实施复核,合同内实现错误直接修复回归,合同/范围/架构变化才补审。
> **当前唯一有效状态(2026-09-29,B02修订2四入口限定关闭,M2合并设计底稿进行中)**:原ZCode独立实施复核PASS;主会话重算44/44交付hash一致,逐条裁决六项和唯一P3,澄清审核者独立复跑实际38组497断言,见[关闭裁决](B3BatchMigration/B02/B02-四入口实施复核裁决与限定关闭.md)。KVMgr已接管原四个固定handle KV入口;旧PF方法、Instance/自动生命周期、其余业务调用、正式默认KV、直接SDK仍未迁移。M2当前只读重扫224候选/81文件,并形成[调用矩阵](B3BatchMigration/M2/M2-当前调用矩阵-待核证.json)和[设计底稿](B3BatchMigration/M2/M2-旧方法与调用方合并设计底稿.md);发现正式固定句柄交接与31模块Player绑定尚缺。**下一步在主会话侧**:补全业务上游、Owner交接和白名单,完成一份合并方案送原ZCode评审;未获批前不改下一段生产代码。固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills、不打包。
> **M2架构纠偏(2026-09-29)**:用户指出KVMgr作为底层存档入口不应反向依赖外部Service。源码确认其四入口未直接调用UserService,但`Core/KVMgr.cs`直接依赖`Services/PlayerData`中由加载协调器控制的guard。B02仅做行为等价复核,不覆盖此层级。详见[纠偏意见](B3BatchMigration/M2/M2-KVMgr层级依赖纠偏意见-待审.md);M2完整方案必须改为业务/Service→KVMgr→存储,并让加载编排通过存储准入契约控制阶段。尚未改生产代码或批准实施。
> **最新复审裁决与下一步**:原ZCode接受纠偏方向、明确底稿尚不可编码。主会话[逐项裁决、绘制当前/目标依赖图并重排R0–R6](B3BatchMigration/M2/M2-架构复审裁决与修复顺序-2026-09-29.md):guard自身不调用上层Service,先归位KVMgr并保持单一guard语义,避免新造状态。当前主会话负责R1完整方案(原handle交接+复用B01代表业务),交审裁决后才编码;B02封存44/44未变。
> **同生态位澄清**:KVMgr最终接管PlayFabMgr全部**对外存档能力**,但不逐字复制PF合档、SDK发送、定时器或MonoBehaviour生命周期;[成员映射与替换顺序](B3BatchMigration/M2/M2-管理器同生态位替代策略-2026-09-29.md)已纳入R1。最低会话/错误保护与调用替换同步,长期恢复等正式默认启用前完成。
### 以下为历史检查点(以最上方为准)
> **当前唯一有效状态(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)**:第三次真实运行(进程29520)服务器侧奖励全链确认落库;"收下"按钮双缺陷(点击穿透+KV模式监听未注册)已独立审查裁决并红绿修复(45组171断言、双编译0错误)。**待用户授权第四次真实运行验证完整闭环(收下点击→返回主页→新进程恢复)**。见[第三次尝试记录](阶段4C2第三次真实尝试与奖励确认记录-2026-09-24.md)、[面板修复裁决与实施记录](阶段4C2奖励面板点击穿透修复裁决与实施记录-2026-09-24.md)。
## 当前有效状态:奖励服务器侧闭环成功、面板UI已修复;待第四次真实运行(2026-09-24)
- [x] run 29520:合并门通过、扣费票据确认、ending段通过(controller修复生效)、鱼档/主档/任务写入、fishing-reward-confirmed→presented;对账仅NewPlayerDataDic/Map_5_102/BattlePassRecordTask三键变化(新鱼10221、gold+1643、energy403→393),无二次扣费。
- [x] 面板修复:FishingRewardPanel.cs两处(展示回调恢复alpha/blocksRaycasts/interactable+OnClickInHome监听移出KV守卫——审查P1);红绿证据、45组171断言无回归、Editor/SERVICE_HOST双编译0错误、diff仅两处、最终hash 3C39458B…(59049字节)。
- [ ] **待办(需用户授权)**:第四次真实运行完整闭环+新进程恢复验证。4C2/完整4C/G4未关闭。
固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills、不打包。
### 以下为历史快照(以上方为准)
## 当前有效状态:收线取消缺陷已修复并验证;待用户授权真实收鱼闭环(2026-09-24)
- [x] 第二次真实尝试实证缺陷(用户堆栈:FishEndCore→DestroyUI→OnDisable→CancelReward误判完成路径自拆除)。
- [x] 修复:独立审查([报告](阶段4C2收线取消缺陷修复方案独立审查-2026-09-24.md),10/10 hash、无P1)→[裁决](阶段4C2收线取消缺陷修复审查裁决与实施批准-2026-09-24.md)→实施。CancelReward一行守卫+Validation两组新用例(含Ending=false对照组);红绿证据、45组171断言、Editor/SERVICE_HOST双编译、其余8项文件字节不变,全部落盘。
- [ ] **待办(需用户授权)**:新进程+新备份真实收鱼闭环(拉杆→收鱼→奖励保存→新进程恢复);run 62216消耗的10点体力不补发。4C2/完整4C/G4未关闭。
固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills、不打包。
### 以下为历史快照(以上方为准)
## 当前有效状态:第二次真实尝试门通过、扣费确认,收线被controller disabled取消(2026-09-24)
- [x] 诊断补充实施与四项验收([实施记录](阶段4C2扣费前拦截诊断实施记录-2026-09-24.md));第二次真实尝试全流程(三备份/新进程62216/v3许可/precast一致/一次手动抛竿/对账)。
- [x] 关键结论:上次门拦截为随机鱼差异(本次普通鱼通过,诊断消息未触发);扣费 413→403、energyRM 112→122 票据确认;战斗18秒、4次技能检查通过后被取消。对账仅NewPlayerDataDic/BattlePassRecordTask两键,无奖励、不补发;许可退役permit-retired-62216.json。
- [ ] **待办**:controller disabled误取消缺陷——先完整评审修复方案(区分瞬时禁用与真实退出/定位禁用源),主会话裁决后编码回归,再申请新真实运行授权。4C2/完整4C/G4未关闭。
固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills、不打包。
### 以下为历史快照(以上方为准)
## 当前有效状态:4C2扣费前诊断补充已实施,四项验收通过;待用户授权下一次真实运行(2026-09-24)
独立审查(《阶段4C2扣费前拦截诊断方案独立审查-2026-09-24.md》,18/18 hash一致、无P1)+主会话复核裁决(《阶段4C2扣费前拦截诊断审查裁决与实施批准-2026-09-24.md》)后,按条件完成限定实施(《阶段4C2扣费前拦截诊断实施记录-2026-09-24.md》)。
- [x] 生产唯一改动:FishingBehaviorB.cs:51拒绝消息补六字段(fishItem.ID/SubType、curFishData.ID、IsFree/IsRetry/IsDuel;null显式"null",C#9拼接实现);谓词/Stop顺序/其余门不动;ConsumeControl slice与shim同步。
- [x] 四项验收通过:raw diff仅51c51(混合行尾保留)、ConsumeControlTests 27断言、SERVICE_HOST exit0/0错误、uloop Editor编译0错误。证据在KVFishingRewardTests/diagnostic-impl/(含implementation-hashes.json,改动后FishingBehaviorB.cs=6581E2EF…/99384字节)。
- [ ] **下一步需用户授权**:新Unity进程(或经核对可复用进程)+新备份+一次真实抛竿;读六字段判定七条件中哪项触发;不自动连续付费、不重导102、不删claimed。
- [ ] 诊断≠根因修复;真实收鱼奖励/新进程恢复/最终独立实施复核未完成,4C2/完整4C/G4未关闭。
本轮无正式服访问、无KV写、未动许可与claimed。固定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、不启动玩法、不打包。
### 以下为历史快照(当前以本节为准)
## 最新状态:4B2检查点2首批代码完成验证,值类型空态D3待补审(2026-09-23)
D1/D2已按正式合同落地M08/M23纯入口,并实现19核心字段codec及有界诊断:30组离线、原4B1全23组通过;Unity编译0错误、本轮文件0警告,真实M08/M23同对象验证28条断言通过。范围及证据见[检查点2首批记录](阶段4B2检查点2首批实现与证据-2026-09-23.md),并非31模块或B2-20整体通过。
其余模块类型核查发现M21/M22/M24实际为非Nullable struct,原附件null空态不可直接实现。已集中形成[D3补审方案](阶段4B2检查点2值类型空态差异补审方案-2026-09-23.md)及[提示词](其他AI审查提示词-4B2值类型空态差异-2026-09-23.md),三模块尚未修改。下一步只审D3→主会话裁决→继续剩余检查点2,再按顺序3/4;不重审D1/D2、不重做检查点1。4B2未关闭、4B3未启动、G4未通过,P2-α启用门和固定地址/Unity CLI Loop/不用UnitySkills/暂不打包约束保持。
## 历史状态:D1/D2差异审查已裁决,批准继续实施
外部差异报告D1/D2均通过、无P1/P2;主会话14项受审hash全部匹配,已[逐条裁决两项差异及三条P3](阶段4B2检查点2字段差异审查裁决-2026-09-23.md)。旧AD按三槽字符串字典严格解码;FootPrint保留完整ulong并显式unchecked投影低32位;历史PF静默跳过的坏槽条目纳入P2-α迁移盘点。
后续实施首读[字段与模块加载合同正式版](阶段4B2字段与模块加载合同-正式版-2026-09-23.md),已将两处修订合入正文,原受审附件及hash保留。**D1/D2待审门已解除,下一步继续检查点2全部31组,再按顺序推进3/4;检查点1不重做。** 本轮仅确认裁决和更新文档,尚未新增业务代码或重跑测试;4B2未关闭、4B3未启动、G4未通过。正式地址、Unity CLI Loop、不使用UnitySkills、暂不打包约束保持。
## 历史状态:检查点1完成、检查点2两项差异当时待补审
修订2外部审查已通过,主会话开工前123项hash全部一致,P2-α/β及5条P3已[逐项裁决并批准](阶段4B2修订2审查裁决与实施批准-2026-09-23.md)。P2-α明确真实存量档兼容/迁移方案、独立评审及用户产品确认是正式启用硬前置,此次只授权合成受控验证。
[实施记录](阶段4B2实施记录-2026-09-23.md):检查点1 Lease/Registry新增19组通过、原4B1完整23组通过、Unity CLI Loop编译0错误/新模块0警告,KVLive仅构建通过。检查点2源码映射发现旧AD格式和FootPrint 64/32位承载冲突,已完成[差异补审方案](阶段4B2检查点2字段差异补审方案-2026-09-23.md),使用[评审提示词](其他AI审查提示词-4B2检查点2字段差异-2026-09-23.md)仅补审D1/D2。当前待外部报告落盘,再由主会话核对新基线并逐项裁决,继续检查点2–4;不重做检查点1,不把局部测试当整阶段通过。
**4B1保持关闭;4B2实施中、未关闭;4B3未启动、G4未通过。** 受审方案及原审查不修改,共享状态由主会话维护。固定地址`http://s101.local:18080/`,Unity CLI Loop,不使用UnitySkills,暂不打包;没有本轮正式服请求或玩法启用。
## 历史状态:4B2初稿退回已裁决,修订2设计包当时待独立评审(已被顶部覆盖)
用户要求完善设计后送审,期间原初稿审查已更新:两项受审hash匹配,结论退回补全。报告披露作者与审查者同一会话,按作者自审采纳,不计为独立通过。主会话已逐条裁决5项P1、5项P2、5项P3,见[裁决与修订说明](阶段4B2初稿审查裁决与修订说明-2026-09-23.md)。
当前送审主体为[修订2主方案](阶段4B2游戏加载与内存隔离方案-修订2-待评审-2026-09-23.md)+[字段及模块合同](阶段4B2字段与模块加载合同-2026-09-23.md),按[新提示词](其他AI审查提示词-4B2修订2方案-2026-09-23.md)和[受审基线](阶段4B2方案受审基线-修订2-2026-09-23.json)独立复审。扩展4B1借用接口、扩大必要白名单和受控成功不返回Done均是待审调整,不是已批准变更。**4B1保持关闭;4B2未编码,4B3未启动,4B/G4未通过。** 地址、Unity CLI Loop、不使用UnitySkills及暂不打包约束保持。
### 历史交接:初稿待审(现由修订2替代)
用户随后澄清本轮需要确认4B2方案并取得审查提示词;不再按“4B2评审已完成、仅缺报告路径”处理。当前交付为[方案初稿](阶段4B2游戏加载与内存隔离方案-待评审-2026-09-23.md)和[可转交的审查提示词](其他AI审查提示词-4B2方案-2026-09-23.md)。初稿将完整主档键清单、逐模块重置规则等留到实施检查点,尚不能据此认定设计细节完整或批准编码;外部应明确审查这些缺口,必要时退回补全。评审后由主会话核对hash并逐条裁决,开发边界明确后才实施。
### 本轮早先的交接核查(已由上述澄清覆盖)
用户已通知“评审完毕,继续”。主会话已读取[4B2方案](阶段4B2游戏加载与内存隔离方案-待评审-2026-09-23.md)及[审查提示词](其他AI审查提示词-4B2方案-2026-09-23.md),更正此前“方案待开始”的状态。17:47 +08:00工作区检索尚未找到提示词约定的《阶段4B2方案独立审查-2026-09-23.md》或其他4B2审查报告;已向用户询问实际保存路径。这是报告获取状态,不否定用户已完成评审的通知。
当前方案SHA256:`8992B17D8B1DEAAA99D7DFDCC76AE2D21112FC259C675F6EDEB9205643C9803C`。该值只记录当前文件,尚不能认定与受审版本一致。取得报告后先核对受审hash、逐条裁决并记录实施边界,再按结论推进。4B1仍正式关闭,4B2尚未批准编码,4B3未启动;正式地址、Unity CLI Loop、不使用UnitySkills及暂不打包约束保持。
## 历史状态:4B1正式关闭,下一步4B2完整方案评审(2026-09-23)
外部4B1独立实施复核接受、无P1/P2;主会话已重算6项交付hash及68项范围hash全部匹配,逐条裁决实施复核三条P3和B1-01~B1-16,见[关闭裁决](阶段4B1实施复核裁决与关闭-2026-09-23.md)。独立23组全过,报告273+5=278断言;与原交付279的差异仅来自并发组合法执行顺序,已核对记录。
**4B1正式关闭;4B2/4B3尚未启动,整个4B/G4未通过。** 下一步先编制4B2业务档校验、初始化副作用、内存隔离和401/退出接线完整方案,再独立审查并裁决后编码。P3发布顺序与CleanupFailed/OriginalError检查要求带入后续方案。审核者无需修改共享文档,主会话已完成状态更新。正式地址 `http://s101.local:18080/`,Unity CLI Loop,不使用UnitySkills,暂不打包。
## 历史状态:4B1技术交付完成,待独立实施复核(现已关闭)
4B分期及4B1方案双PASS后已逐条裁决并实施限定准备内核:认证session所有权、认证→Get→安全快照、异步关闭后才Dispose session。23组合成测试、4A18组、42/86/29、Review、3C离线8、KVLiveTests仅构建均通过;Unity编译0错误/274其他文件警告,新模块0警告;68项既有文件hash未变。
先读[4B1交付矩阵](阶段4B1交付与验收矩阵-2026-09-23.md)和[限定自审](阶段4B1限定代码自审-2026-09-23.md),下一步使用[外部实施复核提示词](其他AI审查提示词-4B1实施-2026-09-23.md)。**4B1待用户指定外部AI复核并由主会话逐条裁决后关闭;4B2/4B3未启动,游戏存档仍未切换,G4未通过。** 正式地址固定 `http://s101.local:18080/`,Unity CLI Loop,不使用UnitySkills,暂不打包;继续先完整评审后编码、每检查点更新日志。本轮未访问正式服、未进入PlayMode。
## 历史状态:4A已关闭,4B分期与4B1方案待独立评审(现已完成方案裁决)
4A独立实施复核接受本轮交付、无P1/P2;主会话重算10项交付hash和14项范围hash全部匹配,A1–A12及三条P3已逐条裁决,见[4A关闭裁决](阶段4A实施复核裁决与关闭-2026-09-23.md)。KVSyncTests偶发失败根因未定位,仍列待查。
下一步交外部AI审查[4B分期与4B1方案](阶段4B分期与4B1登录存档准备方案-待评审-2026-09-23.md),使用[审查提示词](其他AI审查提示词-4B分期与4B1方案-2026-09-23.md)。推荐先做认证/session所有权与KV读取准备,再分审游戏加载和普通存档路由;此分期尚待裁决。**4B仅方案准备,未编码;游戏存档未切换,G4未通过。** 继续方案完整评审后编码、每检查点更新日志;正式地址 `http://s101.local:18080/`,Unity CLI Loop,不使用UnitySkills,暂不打包。
## 历史状态:4A技术验证完成,待外部实施复核(已由顶部关闭裁决覆盖)
接手核查(2026-09-23 16:13 +08:00):未找到《阶段4A独立实施复核-2026-09-23.md》或其他4A独立实施复核报告;现有方案审查、构建依赖补审及限定自审不替代该报告。交付清单10项文件SHA256全部匹配,4A继续待复核,4B未启动。此条仅记录交接核查,不新增验收通过项;详见《开发日志.md》检查点4。正式地址固定为 `http://s101.local:18080/`;Unity操作沿用Unity CLI Loop,不使用UnitySkills,暂不打包。
3C/G3已关闭;4A原设计及构建依赖补审均通过,主会话已完成安全读取接口、固定句柄与串行会话桥接。18组合成测试、42/86/29回归、3B独立Review、3C离线8/8、KVLiveTests仅构建及Unity编译均通过。见[4A交付与逐项矩阵](阶段4A交付与验收矩阵-2026-09-23.md)。**4A待用户指定外部AI实施复核,4B未启动。** 使用[外部复核提示词](其他AI审查提示词-4A实施-2026-09-23.md)。本轮没有访问正式服,没有打包。
## 历史入口:外部终验判定G3关闭(新增发现待复裁)
阶段3C经终验AI独立复验后**最终验收通过,阶段3(G3)整体关闭**:见[阶段3C最终验收](阶段3C最终验收-2026-09-23.md)。核心证据:正式run双账号清理确认、无Unknown遗留;审查者复跑离线7/7、回归42/86/29全过、生产hash与既有基线一致、Unity 0错误;G3各验收门经3A/3B/3C证据映射闭合。遗留边界(真机/最终包、人工恢复专项、4xx降级差异裁决、tickets有界历史)单列于最终验收文档,不随阶段关闭消失。
**下一步=阶段4(涂游登录与玩法存档切换)方案评审**:主会话编制方案(UserService/Owner生产桥接、登录→Get→初始化→Done、失败不进游戏不写空档、退出/换号/授权过期时序、PlayFabMgr入口替换、hex假设盘点、立即同步true适配)→ 其他AI独立审查 → 用户裁决 → 实施。方案评审通过前不改游戏入口、不替换PlayFab存档、不删SDK。
## 历史入口:阶段3C已通过,下一步先评审阶段4(2026-09-23,已被顶部覆盖)
阶段3C已经完成并通过限定技术验收。先读[实施记录](阶段3C实施记录-2026-09-23.md)和[代码审查](阶段3C限定范围代码审查-2026-09-23.md)。正式fixture已双会话确认清理,无Unknown遗留,生产源码未修改。下一步是阶段4游戏接线方案评审;不得直接替换PlayFab存档或删除SDK。
## 历史入口:阶段3B正式验收通过、当时准备3C(2026-09-22)
先读[阶段3B文档终审](阶段3B文档终审-2026-09-22.md)和[阶段3B实施记录检查点8](阶段3B实施记录-2026-09-22.md)。外部开发AI已完成3B正式交付,主会话已终审确认。该段实施分工已由2026-09-23顶部3C入口覆盖。
## 历史流程更正:3B曾等待外部开发AI(现已完成)
本会话只负责文档与最终审查,不能再调用子Agent实现业务代码。此前子Agent已经把R1候选修复写入工作区;不要盲目回退,也不要把它当成正式交付。外部开发AI应先读[阶段3B R1与终验接手提示词](其他AI接手提示词-阶段3B-R1与终验.md),独立检查候选差异,决定保留或重做,并按《阶段3B实施任务书》§7交付。正式API固定`http://s101.local:18080/`,当前不得进入3C。
## 历史记录:原3B通过入口已由顶部流程更正撤回(2026-09-22)
先读[阶段3B主会话代码审查](阶段3B主会话代码审查-2026-09-22.md)和[阶段3B实施记录](阶段3B实施记录-2026-09-22.md)。初审R1已由开发AI修复并由主会话独立复核;最终证据为3B 29/29、3A 86/86、阶段2 42/42、Unity编译0错误。正式API仍是`http://s101.local:18080/`。下一步只进入3C限定正式服联调与诊断导出;尚未接游戏、未替换PlayFab存档、未删SDK、未做真机或最终包。
## 历史交付记录:3B曾待发布任务者审查(现已完成)
3B实施已交付:原实施AI完成检查点1–5,主会话(ZCode)按用户指令接手完成检查点6(FlushAsync租约作用域健壮性修复+全量复验),详见[实施记录](阶段3B实施记录-2026-09-22.md)。证据:KVSyncCoordinatorTests 28/0、KVContractTests 42/0、KVSyncTests 86/0、Unity强制全量重编0错误且PlayerData新模块0警告、最终源码hash已更新(`KVSyncCoordinatorTests/final-source-hashes.json`)。待发布任务者按[审查清单](阶段3B审查清单-2026-09-22.md)审查并裁决;审查通过前不进入3C。
**用户裁决(2026-09-22,主会话转述,可直接引用):**
1. 两条收紧策略**正式追认**,不重新评审;定性为“用户后续确认”(方案评审后用户明确继续),不是最初方案阶段就已批准。
2. 授权仅做**事实一致性**文档修复:不改技术方案、不改生产代码、不覆盖历史记录;历史错误标记“已被后续裁决覆盖”。
3. 3B等实施AI完整交付后再审(如上)。
4. 服务端4xx源码只读核查已执行并作为3B审查证据,见[核查报告](服务端4xx写入可能性核查-2026-09-22.md):当前服务端版本(858fe7c)的4xx均在写入前产生;客户端在补差异裁决前仍保守按MayHaveCommitted处理。诊断导出排入3C(只读导出身份、序号、状态和摘要,不导出Cookie或真实值);人工解锁/强制恢复为3C之后的独立恢复专项,不与诊断导出绑定、不提供简单“继续写入”按钮,须明确操作者、备份、远端核对和风险确认。
## 历史进度:阶段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证据继续有效,最小登录平台/人工/最终包待验收保留。
## 最新状态:3C补修复技术验证完成,等待外部实施复核(2026-09-23)
R1–R5代码修复及本轮技术验证已完成:离线8/8、s101正常路径与双账号双新会话清理通过、42/86/29回归全过、Unity 0错误/0警告,生产源码未变。见[补修复交付与逐项证据](阶段3C补修复交付与逐项证据-2026-09-23.md)。**外部AI实施复核尚待完成,3C/G3未恢复最终通过,4A未启动。** 下一步交[外部AI复核提示词](其他AI审查提示词-3C补修复实施-2026-09-23.md)给用户指定独立AI。
## 最新状态:3C补修复技术验证完成,等待外部实施复核(2026-09-23)
R1–R5代码修复及本轮技术验证已完成:离线8/8、s101正常路径与双账号双新会话清理通过、42/86/29回归全过、Unity 0错误/0警告,生产源码未变。见[补修复交付与逐项证据](阶段3C补修复交付与逐项证据-2026-09-23.md)。**外部AI实施复核尚待完成,3C/G3未恢复最终通过,4A未启动。** 下一步交[外部AI复核提示词](其他AI审查提示词-3C补修复实施-2026-09-23.md)给用户指定独立AI。
## 最新状态:3C补修复技术验证完成,等待外部实施复核(2026-09-23)
R1–R5代码修复及本轮技术验证已完成:离线8/8、s101正常路径与双账号双新会话清理通过、42/86/29回归全过、Unity 0错误/0警告,生产源码未变。见[补修复交付与逐项证据](阶段3C补修复交付与逐项证据-2026-09-23.md)。**外部AI实施复核尚待完成,3C/G3未恢复最终通过,4A未启动。** 下一步交[外部AI复核提示词](其他AI审查提示词-3C补修复实施-2026-09-23.md)给用户指定独立AI。
## 最新状态:3C补修复技术验证完成,等待外部实施复核(2026-09-23)
R1–R5代码修复及本轮技术验证已完成:离线8/8、s101正常路径与双账号双新会话清理通过、42/86/29回归全过、Unity 0错误/0警告,生产源码未变。见[补修复交付与逐项证据](阶段3C补修复交付与逐项证据-2026-09-23.md)。**外部AI实施复核尚待完成,3C/G3未恢复最终通过,4A未启动。** 下一步交[外部AI复核提示词](其他AI审查提示词-3C补修复实施-2026-09-23.md)给用户指定独立AI。
## 用户最新范围裁决:先完成最小登录
当前只推进最小登录、Cookie、失败/退出换号、SignalR必要生命周期和首页自动GetSelfClub最小兼容。俱乐部完整业务与KV实现移至后续,不能继续作为本阶段自动扩展项。已有外围代码保留为待单独归档/评审改动,尚未从工作区剥离,不整批回退。
执行范围以[当前阶段范围裁决-仅最小登录](当前阶段范围裁决-仅最小登录.md)为准;下方历史进度保留,但不代表当前继续开发授权范围。
更新时间:2026-09-21。先读本文件,再读《开发状态.md》《后续实现方案.md》《审查记录.md》《开发日志.md》。本批只整理交接文档,不继续修改业务代码。
## 当前定位
用户已确认实际可以登录 s101;仍处于 PlayFab 与自建服务并存阶段。目标是涂游 ID 登录、游戏 KV 替换 PlayFab、SignalR WebSockets 直连、最终移除 SDK。当前优先并行准备“接口身份修正”和“独立 KV 适配”,分别验收后才接游戏存档。
客户端 C:/projects/ft/Client;服务端 C:/projects/N3-Server-CN(核查契约,不默认修改)。正式 API http://s101.local:18080/,Hub /gamehub。用户允许测试账号 101/102;KV 只操作本次任务前缀测试 key,结束清理。不得重置账号、覆盖现有存档或进行会员/资产变更来代替测试。
## 必须遵守
1. 修改代码前完成相关方案完整评审,并落盘裁决和文件边界。下方方案是待独立审查的接手方案,不意味着所有未来阶段已获验收。
2. 不全局替换 UserId:目前 UserId=PlayFabId,CustomId=涂游/输入 ID,ApiPlayerId=已认证数字 ID,InternalId=服务器内部编号。
3. 保留全部现有未提交改动,不 reset/clean/revert。基线 HEAD f40a816cc;当前修改尚未提交。落盘不等于 Git 提交,不自动推送。
4. 测试通过、源码编译、Unity 场景运行、正式服联调分别记载;不得互相冒充。生产写入只在上述测试 key 范围。
5. 文档默认中文。历史记录日期保留;当前状态以开发状态.md和后续审查补充为准。
## 高频落盘协议
- 每个有意义的小任务结束立即保存代码/文档,并更新开发日志:变更文件、发现、测试命令与结果、未决问题、下一步。
- 持续开发每 15 分钟至少一个检查点;换阶段、改方案、发现阻塞、上下文压缩前、交接/停工前必须存盘。
- 每阶段同步开发状态和 TODO;评审决定变动先更新方案/审查记录,再改代码。
- 日志不写 Cookie、Token、密钥或完整玩家存档;测试记录仅摘要与必要脱敏信息。
- 多 agent 时每个 agent 使用独立日志文件(开发日志-任务名.md),由集成人维护共享状态和 TODO;不同时编辑共享文件。
## 交给审查 agent 的任务
只读审查当前代码和本目录方案,输出到审查记录.md或独立审查文件。逐项给出严重度、文件/方法、证据、影响、建议;标记通过/有条件通过/退回和准确边界。重点检查身份混用、换号/401/退出、Cookie 所有权、SignalR 生命周期、KV错误与并发、旧存档保护。不得把未执行的测试写为通过。
## 交给开发 agent 的任务
先复核工作区及审查结论,处理阻塞项;按后续实现方案.md选择 A 或 B 独立工作,声明文件所有权,不能同时抢改 UserService/CustomServerMgr。每小步落盘并验收。C/D 必须等待前置验收,不跳过评审直接切存档或删除 SDK。