Files
ft/CodexOutput/upserver/B3BatchMigration/M2/M2-C3a验证证据hash.json
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

149 lines
5.4 KiB
JSON

{
"date": "2026-09-30T14:12:19.434632+08:00",
"checkpoint": "C3a supplementary offline verification",
"productionChanged": false,
"C2dCheckpoint": {
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-合批-C2d检查点与交付hash.json",
"bytes": 30930,
"sha256": "00EF2D57AD50044BECA41CA3EF8111BD9E44E9E157B647437AACDB6A420F0D1F"
},
"verifiedC2dCombinedCount": 2177,
"verifiedC2dEvidenceCount": 20,
"evidence": [
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a-equipment.json",
"bytes": 548,
"sha256": "101EC3326D9372C17CAF29EF076831F42610AD2CD5F7B71D286ED6098669BA2F"
},
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a-ExitEnum.cs.txt",
"bytes": 259,
"sha256": "6BDFC8C0998142AB573FA93157294863D8D55A71D07C759CA203C77227E91889"
},
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a-ExitInputs.targets",
"bytes": 238,
"sha256": "0D76B9EB6F804F73C222709DABD6C247365BB7D86D2336D2ACAC85AF8EBD50D5"
},
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a-FactoryInputs.targets",
"bytes": 224,
"sha256": "A2D5D7640E85A9278BA98264BE7E04D03D9857CBB3D2363A33B3CD83266D7FA6"
},
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a-final-state.json",
"bytes": 1009,
"sha256": "A27D4B24F739FAD02F2C8994CDD53E751C894B38BB2A65D6C224369D4D91A6A9"
},
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a-KVGameLoadTests.log",
"bytes": 4473,
"sha256": "E16811E5EF598251A932CBDB6B0F735345648CC2B1390DCF7C9106AAF2F78A46"
},
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a-NonEditorFactoryProbe-scoped-input.log",
"bytes": 2769,
"sha256": "B359F5986B36149E9833EF390FE2DDEFAB4221B5D42C58CAB8DF11A54DA71B5D"
},
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a-NonEditorFactoryProbe.log",
"bytes": 25696,
"sha256": "FC294AD1B9099FE20F5F3930753560FCAAFE4B06A8BE5CF060D135185830B126"
},
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a-QuitAct-with-current-contract.log",
"bytes": 408,
"sha256": "441E34FEDDD534D3F267ED8EB6032F71FB4261C9B6B576C926D01B2EEE6145F9"
},
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a-QuitAct.log",
"bytes": 662,
"sha256": "79D4C2BCE5F6BF2CB7C2F7AE32A7788E5DC2DC2235A0F527DD10D281619EDF3D"
},
{
"path": "CodexOutput/upserver/B3BatchMigration/M2/M2-C3a验证边界与执行记录-2026-09-30.md",
"bytes": 5845,
"sha256": "33736E361E583A834E4A7D31A4AA6F20445C2E96DF5F405763929C127D7310D5"
}
],
"inputs": [
{
"path": "Client/Assets/Scripts/Services/PlayerData/IKVUserLifecycle.cs",
"bytes": 309,
"sha256": "1D43FAEC26075A1320C222016DDFD908B987F939F98F00280C6ECBB69F6EB4D3"
},
{
"path": "Client/Assets/Scripts/Services/PlayerData/PlayerKVGameLoadCoordinator.cs",
"bytes": 17396,
"sha256": "CBD05E8CACB2B681CF8FE8F81FB56D20E641074A0DDE1920999527C46B5E69C7"
},
{
"path": "Client/Assets/Scripts/Stages/QuitAct.cs",
"bytes": 3450,
"sha256": "EC58587B3F4DA3C6A5129C1E512510CEDD6F9B6C46A49D3C0D2540BB0D28C9CF"
},
{
"path": "CodexOutput/upserver/KVGameplayLoopTests/ExitRegression/ExitRegression.csproj",
"bytes": 577,
"sha256": "966E9B495105C094B1E5A4AFC3A692E402983F164DA6D909D03BE1287CA4F13B"
},
{
"path": "CodexOutput/upserver/KVGameplayLoopTests/ExitRegression/Program.cs.txt",
"bytes": 4144,
"sha256": "E002290233F635FDE956EA2B6511BC68EDAD16D821546B2886397039F866580C"
},
{
"path": "CodexOutput/upserver/KVGameLoadTests/ServiceHost/ServiceHost.csproj",
"bytes": 3628,
"sha256": "ACF7930CA4AFAC470BA1BB3103A39F5B7ED2B4D5DB05F3C268FF651074AD0AF8"
},
{
"path": "CodexOutput/upserver/KVGameLoadTests/ServiceHost/FactoryProbe.cs",
"bytes": 703,
"sha256": "E799A27F60433D975388199BBF4E11F43CDD064B998FE27FBD96AF3F5A6E4D97"
},
{
"path": "Client/Assets/Scripts/Stages/FishingStage.cs",
"bytes": 26235,
"sha256": "EAD146F3BC9D3B5A7C73E8758A51934FACDA776DFB3D4A61443CB0E4E4E4884B"
},
{
"path": "Client/Assets/Scripts/Stages/FishingAct.cs",
"bytes": 49733,
"sha256": "D151ABBCE46EDB557C307DE3CBBF7456BFC22D9B2A3B17D296E0986EAB54BBCE"
},
{
"path": "Client/Assets/Scripts/DataCenter/DataCenter.LeadboardData.cs",
"bytes": 18731,
"sha256": "0A3F56F258C245196CA2609C62CFEBB97419993E45946CE69474CC819E1C9F2D"
},
{
"path": "Client/Assets/Scripts/Services/FriendService.cs",
"bytes": 16510,
"sha256": "749ABCF06DD93B94211281479532392FD11D83CA5E413B6648EB04EBB24DD451"
},
{
"path": "Client/Assets/Scripts/Services/KVUserService.cs",
"bytes": 17714,
"sha256": "E7944DC489E726951D28C6B6C137C81A8099971EA6DC8EC304443C1628455CFA"
},
{
"path": "Client/Assets/Scripts/Duel/UI/EventFishingDuelPanel.cs",
"bytes": 32850,
"sha256": "80FA5553606347CF48C4FACE9D05D88F3347E7FB923B73F39565B85016F08D59"
}
],
"formalRequests": 0,
"runtimeVerified": false,
"blockedSceneReasons": [
"Level leaderboard still calls PF statistics/read SDK",
"Friend list still calls PF SDK",
"Public profiles and matchmaking not connected"
],
"state": {
"playing": false,
"enabled": false,
"ready": false,
"permitExists": false
}
}