6.0 KiB
阶段4C2实施进展与准入阻塞
2026-09-24,主会话。这是中间检查点,不是完整交付或关闭报告。当前下一步需要评审引导准入补充方案。
1. 已裁决与实施范围
原独立方案审查九项结论、四条P3已逐条接受;319项受审hash全部一致后才编码,详见《阶段4C2方案审查裁决与实施记录-2026-09-24.md》。7旧源码原字节存于 KVFishingRewardTests/before/。
本轮实现限于原批准的7旧源码和2新Editor源码:v3一次消费加收鱼许可、独立奖励动作、S1/S2/S3同步写入记录、最终鱼档和主档保存、原票据确认后展示、重入/取消保护。没有修改奖励金额公式、概率、战斗参数、任务算法或底层存储协议。scope-checkpoint.json核对受审源码仅7个白名单文件变化,267个配置JSON未改;不能以共享工作区全部git diff冒充本轮修改。
修复的具体缺口:未破重量纪录时,原SetGetFishCount只改变内存,原SetWeight不会保存Map。新增最终Map保存仍调用原SetFishData,不再加数量或发布事件;最终主档保存调用原序列化。金币公式、SetProficiency、SetFishWeight三个原片段保持一致。
2. 已执行证据
以下路径均相对 CodexOutput/upserver/KVFishingRewardTests/。
| 验证 | 结果及证据 |
|---|---|
| 原鱼数量漏存红测 | legacy-red.log,原方法提取宿主证明数量20→30但Map写0;这是预期失败 |
| v3许可红绿 | permit-red.log→permit-green.log,12项通过 |
| 面板重复OnShow红绿 | panel-duplicate-red.log→panel-duplicate-green.log;原确认动作不再被重复调用覆盖,计算一次、确认后展示一次 |
| 奖励固定Unity host | reward-fixed-final-retry.json,25组85断言;.invalid网络,不是真实捕鱼 |
| 真实数据与订阅 | 上述host包含新鱼/破纪录/未破纪录、实际PlayerData次数/金币/主档序列化、成就与战令保存;现行MiniBP/Lucky/Magic对收鱼相关事件不产生写入,消费正向覆盖由4C1回归提供 |
| 原公式同输入对照 | formula-comparison.log,原/新四组结果122、0、10、0相同;formula-source-check.json三个片段一致。提取宿主的UI/配置与Mathf边界为替身,不冒充实景 |
| 当前消费入口 | consume-control-current.log,原方法提取27断言;v2新增preflight seam为无操作替身 |
| 当前控制器入口与生命周期 | controller-source-tests.log,实际方法提取9断言,包含重复拉杆/结束、UI等待期间Disable、Destroy、自然失败及旧许可;核心战斗/UI加载服务为替身 |
| 4B2 | regression-b2.log,75组1718断言通过 |
| B3A全量 | regression-b3a-approved.log,13组544断言通过 |
| 额外bridge回归 | regression-bridge-approved.log,18组226断言通过 |
| R1退出/许可 | regression-exit-editor.log 10组35;regression-exit-service.log 10组30;regression-r1-permit.log 15断言 |
| Unity既有回归 | unity-regressions.json:4C1 19组81、加载M01 168、B2-20 83、保存34、装备9组28,全过 |
| 编译 | compile-final.json Editor 0错误269警告;service-host-compile.log通过;default-player-compile.log仍有既有FishingChallengeManager.cs:72 _cheatingScore CS0103,不报通过 |
失败与限制保留:
- B3A/bridge初次沙箱运行失败;
regression-b3a-diagnostic.log证实File.Replace UnauthorizedAccessException。相同源码和测试在批准的沙箱外通过,未改文件替换算法。 - Unity host的一次
reward-fixed-final.json发生StorageError uncertain=True;新独立测试目录复跑25/85通过,但未捕获该次底层异常,根因未定,不将其归因于沙箱或称已修复。没有因此重试任何真实付费动作。 - 最终三处Tween继续点仅补当前动作检查并经最终Editor编译;不是全动画资源覆盖。SERVICE_HOST相关分支不包含这些Editor专用保护。
- C2-01原奖励展示不等待的独立原入口红测尚未补齐;C2-02当前Map读回使用原FishWeightData反序列化,专门Schema Map三态复验尚未补齐。
- C2-07实景控制器销毁/资源加载与正常Quit联动、C2-09完整运行准入正向及配置/活动漂移故障矩阵仍需补验。已跑的来源提取/数据host不替代这些项。
3. 真实运行尚未开始:引导门阻塞
最新只读备份 KVGameplayLoopTests/backups/20260924T084836Z/:101仍空;102仍45键,与 20260924T080345Z/102.json逐值相同。该工具发生登录/Get请求、KV写0;本轮无新游戏许可、无真实消费、无收鱼奖励。
原方案§6要求所有触及捕鱼相关面板的引导组均完成。实际GuidanceConfig中有11组;102已完成Fish_01、Fish_02、StabFish、FishEscape,另外7组未完成且不在等级跳过名单:FishSkill01、Pollution01、FishSkill02、FishSkill03、FishSkill04、Egyptian01、EasterFish01。它们都是None触发条件的特殊技能引导。
证据:offline-guide-gate-final.json、guide-details.json;固定host用真实Guide解码和实际CheckRewardGuide验证原方案在消费前拒绝,未写引导数据。因此不能执行C3,也不能把“普通鱼可能不会触发这些引导”当作既有批准。
4. 下一步与完成度
- C0完整评审裁决、受审hash及快照。
- C1限定接线及主要数据/票据/生命周期固定验证。
- C1/C2剩余验证项见§2;不宣称矩阵全部通过。
- C2-11既有回归及Editor/SERVICE_HOST编译;历史默认非Editor错误保留。
- 评审《阶段4C2引导准入最小补充方案-待评审-2026-09-24.md》,主会话核hash逐项裁决后,才允许修改准入和完成补验。
- C3一次真实收鱼、奖励确认、服务器字段对账和新进程新缓存恢复。
- C4完整交付、独立实施复核、主会话裁决关闭。
正式地址仍http://s101.local:18080/;Unity CLI Loop、不使用UnitySkills、不打包;不导入102旧45键、不删claimed、不改成就/引导档绕过门、不自动重试消费。