保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。 保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。 验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。 包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
18 KiB
M2新主会话接手卡(2026-09-29)
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及等待审查叙述为历史。
最新:已获批并实施C1,直接继续C2。正式报告
M2-合批正式独立方案审查-2026-09-29.md有条件PASS,报告hashBB02441CFFE72AF18CF3B0D78F8E581FC39549C3F77E45257B5ED16CADCF2937;主会话开工前核2165/2165并逐项裁决。新增KVUserService及两窄契约,旧PF formal代码已移出;LoginStage/PFLoginAct/QuitAct/模块31/成功Descriptor/身份三态已接。当前20项检查点hash覆盖本轮12既有代码、7新增源码/测试/meta及1清理文档变动,原基线其余2152项不变;不要把批准实施当未审漂移。加载90组/2008断言、ServiceHost两条件各12组/147断言、CLI Loop Editor0错269警告通过,未Play/正式请求/打包。继续同批C2共用存档、调用迁移、首场景与奖励,无需再送C1审查。两阶段闸及PFLoginAct.OnDestroy暂时撤销行为仍须在C3正常交接时统一处理;LastLoginTime写入点和真实Chat/RT回归尚待C2。下面“等待正式前审”均为历史。
最新接手动作(合批正式前审包已备):先读修订复核裁决、正式实施方案及一次性正式前审提示词。2165项基线、110现存文件+12新增候选、224调用台账和70组活动配置投影已备。下一步查
M2-合批正式独立方案审查-2026-09-29.md,存在则核受审hash再逐条裁决;未存在则保持待正式前审,不改代码。不要再把前两份明确“非正式前审”的报告当许可,也不要再拆DP1或小项预审。当前CustomId接口只有getter,复核P3a错误已反证;工作稿原字节保留。此条覆盖下方历史。
最新检查点:合批工作稿独立预审已经落盘,主会话已核证并逐项裁决。旧 DP1 基线18/18一致;合批预审明确无正式受审hash,不可当编码许可。身份来源与发布、窄契约、测试迁移、短ID/Survey规则和地区缺失已补工作稿;首场景动态写入及奖励动作仍在开发侧补全,完成后同一大批一次正式前审。KV 替代 PF 玩家数据读写已定,不再反复询问;不恢复DP1单独实施轮。
最新架构裁决:保留 PlayFab,新增独立 KV 实现并用开关选择
-
最新身份纠正:KV 模式直接使用认证会话的新
PlayerId(当前PlayerKVAccountDescriptor.PlayerId);旧 PlayFab ID 和EntityKey只属于原 PF 模式,不再询问或设计新旧 ID 映射。客户端中UserId、Survey 十六进制计算、榜单 SDK 等是待迁移的旧代码引用,按当前合批工作稿处理。服务端代码不由客户端 Agent 读取或修改。 -
最新用户纠正覆盖此前删除要求:必须保留
PlayFabUserService、PlayFabMgr和原 PlayFab SDK 路线;另写独立 KV 用户服务和 KV 存档路径,由一个启动开关选择。当前PlayFabUserServicepartial 内的 KV 接线只是过渡,最终应从旧类抽离 KV 职责,而非删除旧类。接手后先读双提供方切换与独立 KV 实现约束,按其中的共用契约、DI、31 模块、AGG 和双模式验收要求拟完整方案。CP2B-T 既有白名单不因该裁决自动扩展;编码前仍需完整评审和逐项裁决。以下旧检查点保持历史原文,以最新日志/总进度判当前实施状态。 -
项目结束硬门槛:上述约束文件末尾的“项目结束前必须逐项确认的边界”目前全部未验收。尤其要核实 PlayFab 模式仍走
PlayFabMgr → PlayFabClientAPI,KV 模式走独立用户服务与原 KV handle,启动开关对所有入口一致且两边不会串会话/串档;凭双模式真实证据与最终裁决逐项销账。 -
全局简洁性规则:先读项目根目录的
AGENTS.md。新增抽象必须有具体调用者和不可省职责;满足功能与必要安全边界后,优先复用或最小拆分现有结构,避免重复开关、状态、适配层和为假设扩展写复杂逻辑。M2 最终验收清单已增加抽象简洁性销账项。
最新 CP2A-C9 实施中检查点(覆盖下方历史)
-
CP2A 已按12文件白名单裁决接入正式启动分流、101/102现存档门、原 handle 内部交接、登录阶段双闸及注销/退出撤销。合成加载89组1962断言0失败、ServiceHost 9组86断言0失败,Unity CLI Loop Editor编译0错误/269警告;详见开发日志与当前自验报告。共享内层 handler、关闭故障及未验证 Sockets 的红绿证据保留。
-
未关闭 CP2A:真实 Player 目标编译及原ZCode批末独立实施复核尚未完成。既有
FishingChallengeManager.cs的_cheatingScore在非Editor分支被引用而字段只在Editor声明,修复不在CP2A白名单,须独立补审;不能用合成 PlayerProbe 冒充真实 Player 通过。未Play、未访问正式101/102、未打包。CP2B及最终闲置实现清理仍待后续。
最新 CP2A-C0 裁决检查点(覆盖下方历史)
-
原ZCode CP2A独立方案审查已通过;主会话37/37受审hash一致并逐条裁决。报告hash
47C412B6F8F29BB09979A5C95EAE31CFBA57DE0810C8FC4BAC6D9ACB9F36D521。四P3中不采纳不稳定版本令牌建议,复用现有生命周期并排除条件新文件;仅批准12文件上限的CP2A生产边界。 -
CP2A尚未编码:仅非AGG、101/102现存KV档正式登录/原handle交接,在FishingStage前停住;无公开IsAuthorized/Mail/IAP/业务API,不操作正式账号。下一步先合成红测,再按白名单实施,每检查点更新日志;CP2B、CP3–CP5和最终闲置实现清理仍待后续。
-
现有工作树保留;固定
http://s101.local:18080/,Unity仅CLI Loop,不用UnitySkills,暂不打包。
最新 CP2-D2 受审检查点(覆盖下方历史)
-
用户确认首批仅101、102且已有KV档;CP2首段只验正式登录与原handle交接,并阻止跳入FishingStage。已形成CP2A完整候选方案及原ZCode提示词。37项受审基线重新核算37/37一致,清单hash
B36C685EB9E9571DEFA383395EAD61CB86143CB9762FAE4FF208CF49F44A411A。 -
CP2A独立报告尚未落盘,故仍待评审、不批准生产编码。报告到达后先核受审hash,再逐条裁决与定白名单;CP2B首场景及CP3–CP5未关闭。只读首场景依赖提示 Survey/Leaderboard 旧PF与自动API,不能提前跳场景。
-
CP1限定关闭保持,现有工作树保留;固定
http://s101.local:18080/,Unity仅CLI Loop,不用UnitySkills,暂不打包。
最新 CP2-D1 设计检查点(覆盖下方历史)
-
用户选定首批“仅已核准且已有 KV 档的账号”;未核准、新建或无档账号不得进入正式 KV,不自动建档或回退 PF。CP2 设计输入与新增阻断已落盘,仍不是完整方案或编码批准。
-
只读核出正常 UserService 第31模块准入、身份/UserId 语义、Mail 初始请求及 FishingStage 的 Survey/Leaderboard 旧 PF 依赖、Friend/AntiCheat/Club 路由。CP2 若仅验登录交接须在阶段切换前关门;若验首场景则必须补全同批调用迁移。当前 CP2 保持待完整独立审查,生产代码未改;CP1 限定关闭保持。
-
固定
http://s101.local:18080/;Unity 仅 CLI Loop,不用 UnitySkills,暂不打包,现有工作树保留。
最新CP1关闭检查点(覆盖下方历史)
-
原ZCodeM2 CP1独立实施复核已通过;主会话复核95/95交付hash并逐条裁决,CP1限定关闭。审核者独立复跑120组2733断言0失败;清理失败3进程没有独立重跑。
-
该关闭只覆盖合成环境原handle交接;CP2正式运行设计仍待完整评审,未批准CP2生产编码。GameLoaded后关闭故障是CP2验收输入。最终无用接口清理、旧Mgr停用及流程图仍待后续。
-
19份接手时Client改动均保留。地址http://s101.local:18080/;Unity仅CLI Loop,不用UnitySkills,暂不打包,不操作正式账号。
最新接手状态(CP1-2,覆盖下方历史快照)
-
原ZCode修订2独立复审已经落盘;主会话核19/19 hash一致并逐项裁决。CP1已按两生产文件白名单实施;CP2仅完成依赖盘点,仍未获批编码。
-
CP1交付:共用加载、Apply/notify后释放Guard并发布原handle、同步撤销。加载84组1911断言,Context 23组279断言,B02完整13组544断言,清理失败隔离3进程5/8/8断言,全部0失败。
-
CLI Loop编译报告0错误/272警告且Success=null;前后非Play/非编译,错误日志仅本轮不支持的get-project-info命令。接口反射探针被Restricted规则拒绝,未绕过、未称探针通过。未验证Player、未运行真实账号、未打包。
-
接手时已有19份Client改动全部hash不变,本次新增生产改动仅Context和Coordinator;Guard/KVMgr保持原样。所有原受审文档及报告保留。
-
下一步:把批末复核提示词交原ZCode,核
M2-CP1交付hash.json后独立复核;主会话再核hash并逐项裁决。当前CP1未关闭,不能自动推进CP2编码。 -
CP2必须实际消费CP1接口,否则合并前删失效实现;CP3业务迁移、CP4旧运行引用清零、CP5最终清理和流程图均未完成。继续固定http://s101.local:18080/,Unity CLI Loop,不用UnitySkills,暂不打包。
以下为上一主会话留下的历史快照
当前事实
-
工作区:
C:\projects\ft。B02仅完成KVMgr四个固定handle KV入口的限定迁移;PlayFabMgr其余方法、旧组件自动执行、正式KV登录和直接SDK引用尚未全部替代。M2尚未获批生产编码,也未修改M2生产/测试源码。 -
原ZCode《M2-先移植后优化独立方案审查-修订1.md》已审;主会话复算其15项受审基线全一致,接受“先移植后优化”总路线,但CP1–CP2暂不批准编码。P2-1和三条P3的逐项裁决见《M2-修订1独立审查主会话裁决与新增阻断-2026-09-29.md》。
-
主会话补查四类正式接线缺口:普通启动创建并唤醒PlayFabMgr;
SaveBackend=kv及普通登录尚未接入;KV租约只放行验证路由、普通API在kvOnly被拒;31模块Bindings仅Editor编译。因此修订1报告所说的少量模式分流不足以让正式玩法运行。 -
《M2-正式接线依赖补审方案-修订2-待评审.md》和给原ZCode的提示词、19项SHA256/长度基线已落盘,主会话重算19/19一致。截至本卡写入,尚无修订2独立复审报告。
下一动作与审批边界
-
若原ZCode已写《M2-正式接线依赖独立复审-修订2.md》,先核其受审hash,再逐条裁决CP1独立实施白名单、CP2前置范围及P1/P2/P3;将裁决和代码白名单落盘。若尚无报告,把《M2-正式接线依赖补审提示词-修订2.md》交原ZCode,等待复审;不要把修订1的条件通过当作编码批准。
-
CP1仅拟在合成环境共用加载主体、成功Apply并通知后释放Guard、交接原handle和同步撤销;不改普通启动/登录。若它必然会成为CP2不用的接口,拒绝CP1单独实施,合并CP1/CP2重新完整评审。CP2真实启动/认证/网络/Player Bind的精确白名单仍待设计与审查。
-
获批后按批级检查点实施与记录,迁移完成后清理闲置接口、旧Mgr运行调用和无用代码,核最终流程图。遵守“方案完整评审后编码、每个检查点更新日志”;无完整裁决不改生产代码。
工作约束与保留现场
-
正式地址固定
http://s101.local:18080/;Unity自动化只用Unity CLI Loop,不用UnitySkills;暂不打包。真实账号101/102、正式写入或付费动作不属于当前M2方案补审。 -
工作树已有其他阶段的源码、场景、字体、文档改动;不要reset/覆盖/顺手提交。
.git仅供只读核查。 -
新主会话先读本卡、
接手入口.md、开发状态.md、TODO.md、修订2方案、修订1裁决与最新ZCode报告;历史正文中有旧状态,以文件顶部最新检查点和本卡为准。