36 lines
2.3 KiB
Markdown
36 lines
2.3 KiB
Markdown
# 阶段3C方案审查裁决
|
||
|
||
日期:2026-09-23。裁决者:当前主会话。审查依据:[阶段3C独立方案审查-2026-09-23.md](阶段3C独立方案审查-2026-09-23.md)。
|
||
|
||
## 1. 总体裁决
|
||
|
||
独立审查结论为 **PASS**,未发现 P1/P2 问题。现有生产接口足以实施阶段3C,无需修改生产代码。阶段3C方案和任务书自本裁决起状态改为 **已批准实施**。
|
||
|
||
## 2. P3意见裁决
|
||
|
||
| 编号 | 裁决 | 纳入实施的明确规则 |
|
||
|---|---|---|
|
||
| F1 | 采纳 | 无 keys 的 Get 改写为 manifest keys;Set/Delete 只要包含任一越界 key,就在网络前整体拒绝;Set 空 data 作为 no-op 放行。 |
|
||
| F2 | 采纳 | H2直接测试受限Handler并断言转发计数为0;若走完整Owner链,则使用一次性run目录,并预期“转发计数0且Owner冻结为Unknown”。不得据此放宽3B保守语义。 |
|
||
| F3 | 采纳 | 票据计数由测试宿主在Owner关闭前,从票据、`WaitForTicketAsync`和`FlushAsync`结果累计;`Inspect()`不承担票据统计。 |
|
||
| F4 | 采纳 | O2子进程A必须正常`Close`并退出后才启动B;超时强杀只作为失败收尾,保留run目录。 |
|
||
| F5 | 采纳 | 无参数或非法参数必须在不访问网络的前提下以非0退出码退出。 |
|
||
| F6 | 采纳 | manifest可以保存完整fixture key;result、diagnostic和log均不得回显完整key或测试值,只记录runId、摘要、数量、状态和错误类别。 |
|
||
|
||
以上均为澄清,不改变架构和安全边界,不要求开启新一轮方案审查。
|
||
|
||
## 3. 最终开发边界
|
||
|
||
本轮只允许新增:
|
||
|
||
- `CodexOutput/upserver/KVStage3CTests/KVStage3CTests.csproj`
|
||
- `CodexOutput/upserver/KVStage3CTests/Program.cs`
|
||
- `CodexOutput/upserver/KVStage3CTests/`下的3C运行证据
|
||
- `CodexOutput/upserver/阶段3C实施记录-2026-09-23.md`
|
||
|
||
不得修改生产源码、既有测试、包、asmdef、服务器代码或游戏入口。若实现中发现现有接口不足,立即停止编码并回到差异评审。正式服只允许`http://s101.local:18080/`和测试账号101/102,且只执行正常路径。
|
||
|
||
## 4. 实施结论
|
||
|
||
方案完整评审已完成,裁决和开发边界已明确记录,满足开始编码的前置条件。实施按任务书检查点1至6顺序推进;任何Unknown、越界转发、清理未确认或生产源码hash变化均阻塞通过。
|