Files
ft/CodexOutput/upserver/阶段3C补修复限定自审-2026-09-23.md

30 lines
2.8 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.
# 3C补修复限定源码自审(正式重跑前)
日期:2026-09-23。主会话自审,不替代用户外部AI实施复核。
## 边界和结论
仅改KVStage3CTests/Program.cs。csproj及八份链接生产源码未改。最新offline run为20260923073316_b0a5296157c14364a29af93902eb677c,8/8通过。
限定源码检查未发现阻塞本次正常fixture联调的剩余P1/P2,允许执行一次新的s101正常路径。3C/G3尚未恢复通过。
## 逐项核对
- R1:独立DrainBounded等待实际body与Owner.Close;生命周期token传入登录/Create/Get/Delete。闸门模拟忽略取消,在未释放前不能返回且不能cleanup;超时/Unknown禁止自动清理。补强超时状态保存异常时仍取消并等待body,以及合并Owner/Client的MayHaveCommitted判定。
- R2:schema2逐字段/类型/重复JSON校验;固定API、101/102、runId前缀与精确三个后缀;manifest/cache绑定同run,拒绝链接和路径穿越;独占run.lock。校验在登录前,simulation不能通过真实CLI cleanup。历史schema不自动升级。
- R3:Completed同时依赖原断言、执行、无未知/超时及双账号清理。result/log用CreateNew;补cleanup单独JSON且保留原状态,已失败运行成功清理仍失败。
- R4:删除前先写并精确确认;101/102写不同值;每账号新Cookie/Owner真实Get至Ready,关闭后真实NotLoaded快照无pending/unknown且baseline精确;102后再重读101。
- R5:C子进程真实Get/Ready/值;Unknown计数跨handler并主动Flush;坏主档+有效备份、缺主档bak/tmp、有效主档坏bak均覆盖;增加跨进程Busy、Cookie/票据/环境隔离、越界Owner冻结、结果脱敏扫描。
- 产物是测试证据,不能据此声称游戏存档已接线;4A仍未实施。
## 已知边界
- 忽略取消且永久不返回的传输会使进程保持等待,禁止清理;这是防迟到写的保守行为,不伪报已收尾。
- 崩溃遗留Running/InFlight的manifest被显式cleanup拒绝,需另行人工核查;不自动解锁。
- 原run全部保留;新测试不能替代最终外部复核。
受审Program SHA256:40A21408C05A0F66ED46F5E463AC804BB37266ADD714DB23C82ABD5D242567F1
## 交付前补查
首次正常联调成功后,检查失败批次票据发现:后续未发送票据可能仍pending,不能等到它结束才进入Close。已改为失败Flush只记录实际汇总后退出,成功Flush才等待已确认票据;新增第二批Set失败、Delete未发出反例,offline 8/8重新通过。
本次差异仅限测试宿主,限定自审确认无新增阻塞。为使正式证据对应最终源码,重新执行正常路径;第一次正式run已清理并保留证据。
最终受审Program SHA256:66C41B8B0A8E0CD4FF13A3BED8212B3F61BF95E4707F5C6373B235E21B20492A