30 lines
2.8 KiB
Markdown
30 lines
2.8 KiB
Markdown
# 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
|