Files
ft/CodexOutput/upserver/阶段4B3设计检查点记录-2026-09-24.md

28 lines
3.4 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.
# 阶段4B3设计检查点记录
## D0:恢复上下文与自动推进边界
读取4B2关闭裁决、4B3设计准备、既有4B分期、候选扫描及关键源码。用户明确授权:当前工作完成且没有复审要求时直接进入下一步,不再询问是否继续。维持完整方案独立评审→主会话裁决→编码;必要复审不被取消。仍用中文和原CodexOutput目录,不Git提交。
本轮沿用brainstorming进行设计收敛。用户既定需求和约束已清楚,没有新增必须澄清的产品选项;没有视觉问题。方案采用三路线比较、分期及明确首单元合同,最终交用户指定的外部AI评审,不以作者自审代替独立结论。
## D1:语法盘点和人工核查
新增B3DesignAudit设计分析工具,以本地SDK的Roslyn只解析2101个源文件;不执行/编译游戏、不修改游戏源码。五种条件符号并集223调用/81文件;212个外部facade、8个内部、3个SDK。保存逐调用源码上下文/参数/await/上游名称候选和源hash。按名称候选不是语义调用图,局部无await不证明上游同步。
人工核对SavePlayerData跨模块序列化前Publish、转盘localOnly后立即消费、评价弹窗await、支付与补单、方法组广告回调、公会现有身份防护、邀请/问卷先奖励后保存、两个泛型活动仓库、渠道绑定外层后续奖励、他人Lv读取及ShowNotice账号缓存。活动仓库异常→默认对象→自动Save链及同实例换档是后续B重点。
## D2:分期与4B3A完整方案
全B3调用链广,不能将语法台账冒充完成的隔离合同。方案拟A固定入口→B业务归属/内存→C加载发布/生命周期;A完整定义四个静态入口、键结果、错误/取消/guard/所有权、精确白名单和19组验收。只新增既有PlayFabMgr入口与键结果,不重复建设会话框架。B/C暂未批准,旧业务与正式入口保持现状。
源码核查确认ServiceHost通配纳入新PlayerKV结果,新增Editor验证host需UNITY_EDITOR && !SERVICE_HOST;旧csproj不必改。StorageError真实IO失败沿用state.json.tmp目录冲突,AfterReplace不确定结果使用旧3A故障回归与新入口直接return审计,明确证据层次,不承诺未具备的故障注入能力。
## D3:作者自审与送审封板
核查主方案与调用附件/提示词一致:只有分期和A请求批准,非整B3设计/实现完成;无待决定的A接口/错误/白名单/验收项。B/C未完成项明确留在未来单元,不作为已批准A任务的现场设计。检查符号条件、测试依赖、旧PF字节保持、合成host/缓存路径、guard自身所有权与Close排水;修订了最初过宽的“所有非Ready状态和AfterReplace均经新facade端到端覆盖”表述。
受审基线包含方案、附件、提示词、本记录、分析工具/产物、相关现有源码/测试、未来文件应不存在清单;2101项源hash单列作为全Scripts冻结证据。共享入口/状态/TODO/开发日志由主会话维护,不纳入需要评审者修改的材料。外部报告落盘后先核hash并分别裁决分期与A;未取得该报告不编码。
本轮只产生设计文档和只读分析工具,没有新增4B3生产/测试实现,没有正式服、PlayMode、打包或Unity测试。4B2保持关闭;4B3分期及A待独立审查,B/C待各自完整方案,G4未通过。