Files
ft/CodexOutput/upserver/P2AlphaAudit/A4-交付与后续最小开发建议.md

50 lines
5.6 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.
# P2-α-A交付与后续最小开发建议
2026-09-28。主会话已完成A1裁决、A2现有固定入口诊断、A3语义盘点和本次A4交付准备,**待独立执行复核,尚未宣布整个P2-α或G4完成**。
## 结果
| 验收 | 证据与结论 |
|---|---|
| 方案完整审查与裁决 | 20/20基线一致;七项与四P3全部裁决,A1-审查裁决与执行批准.md |
| 配置/时间 | cfgData267项、Tables源码616项,共883项前后不变;A1-environment-freeze.json记录集合hash与KV102原采样时间;A2-sampling-window.json记录本地UTC窗口,未冒充服务器时间 |
| 新空闲入口 | 旧103828正常退出,新90064;A2-get-version.json=2022.3.62f2c1;前后playing/enabled/ready=false、run=null、permit=false;没有创建claimed,原11个保持 |
| 本地解码 | 10155键→Malformed,仅M15/M22 field0;10245键→Valid,0错误;源hash与历史cdTime修复后诊断一致;只诊断,不Open/Apply/发布,writes=0 |
| 键覆盖 | A3-key-ledger.json/md:100出现项,58唯一键,含逐值hash、字段规则、旧源码/B3直接key编号及同文件候选、Decode/Apply引用与未验证项;原样本不去重 |
| 模块覆盖 | A3-module-ledger.json/md:31节点,明确Absent样本边界和加载壳;不是31类真实Present全覆盖 |
| M15逐入口 | 142处直接引用,扩大至Assets/LocalPackages且忽略ignore规则后仍142无新增;分类和逐行上下文保留;Road别名继续追踪;null安全仅限对应前置条件 |
| M22 | 旧构造/保存允许null;4056001 PackType=3;新DTO与Apply也要求非null,不能只修改Schema或清空礼包 |
| 模块外键 | 42出现项/26种;5种当前源未定位也保留。不把Valid解释为所有Raw键兼容;不用新解析器静默过滤 |
| 运行边界 | Unity错误日志0;无Play/运行许可/正式接口请求/存档写/业务或测试源码改动;只用了原CLI固定本地诊断 |
本地Editor自身可能有启动检查等环境联网;“无正式接口请求”指本任务没有访问s101/PlayFab数据接口,不将环境行为夸张为整台机器网络流量为零。
## 最小后续建议
下一开发候选是**101两类历史空态的精确兼容差异方案**,以只改必要加载表示、保留原始存档为目标。是否进入该方案由本单元独立复核后的主会话裁决决定;不在本轮直接改代码。
- M15:讨论存在JSON null能否物化为“未激活挑战”并保留raw key;普通对象严格检查保留。验证fresh/Reset后/旧状态→空态,错误字符串/数字/数组仍拒绝;不改活动开启、场景或奖励逻辑。
- M22:首选评估保留selections=null的表示,而非自动转[]。范围必须同时覆盖Schema、DecodedSave不可变DTO、Bargain Apply/Snapshot及真实对象回归,集合非空时仍深复制;其余礼包字段和存在标记不变。
- 两类处理均需完整方案独立审查后才编码。诊断只能证明101当前两条首要问题,消除后若浮现下一处配置问题,应记录并按差异边界处理,不能扩大修复直到绿。
- 不要求101变Valid才认可本次盘点完成;不导入101,不覆盖102,不再钓鱼补证,不开展全活动重构。
## 后续真实迁移政策(产品待确认,未授权执行)
| 场景 | 建议政策 | 当前证据与缺口 |
|---|---|---|
| 尚未迁入KV、旧PF仍为唯一权威 | 兼容不足先停止该账号切换,是否保留PF入口由产品确认;不给玩家空白新档 | 已定位两类空态和额外键;缺代表性真实用户样本,不能直接用于全用户拒档 |
| KV已存在后续进度 | 不用旧PF覆盖或自动合并;先确认权威源、身份与停写窗口 | 102为具体反例:旧PF与当前KV已分叉;当前KV234004/383仅为9/28备份观察,不是今后永远基线 |
| 决定迁移单账号 | 源/目标各自备份与hash、账号映射证据、精确key/值差异、排他写入条件及恢复清单必须可审 | 101/102授权不代表任意其他账号或批量导入授权;没有CAS不能保证并发覆盖安全 |
| 写入Unknown/可能已提交 | 停止后续写,独立读取观察;不自动重发、不切回PF继续双写 | 读取一致只证明观察时点;无新幂等/CAS保证 |
| 人工恢复 | 只对确认属于本次、且之后无新增合法进度的精确键讨论恢复;有并发/不明变化则停止 | 不全库回退、不删未知键;任何恢复需要当前态和具体范围重新审核 |
用户产品决策仍包括:不兼容档如何呈现/是否保留旧入口;目标已有数据时何者权威及人工处置;正式迁移对象与停写窗口。该表是可审政策草案,不以用户本轮“进入开发”替代这些决定。
## 作者自审与限制
没有新建诊断类、Schema模拟器、运行框架或兼容代码;清单生成只是shell文本/元数据盘点,实际判断使用原固定生产Decode。一次清单整理命令的PowerShell语法错误发生在执行前,纠正后生成;未产生业务副作用,不涉及源码。
本轮未观察的新输入错误、额外key消费路径、挑战异步入口合法性、通用反射/资源事件覆盖、全量真实用户代表性均列为未验证,没有冒称修复。历史PF身份/DNS、StorageError、非Editor编译和完整4B3/4C/4D/tickets问题保持,不让本专项扩大范围。
交独立复核:使用A4-独立执行复核提示词.md及execution-review-hashes.json。复核返回后由主会话核hash并逐条裁决,决定本只读单元是否关闭以及下一最小兼容方案;不能把本次只读交付当成正式迁移完成。