WIP-371 · 335 第四幕证据复核 + 五幕总判预备 —— 验收裁定书 v1

验收官:波波 | 时间:2026-09-16 23:47 | commit:fe2f4c2d | host:192.168.1.7
复核对象:docs/delivery/evidence/335/04-biz/(isolation-matrix.csv / isolation-matrix-round2.csv / v8.txt / golden-path.md)
声明:本件据必有核证——所有计数由脚本复算,不采信提交信息与 CSV 自判列。

〇、一句话结论

第四幕 = BLOCKED-附条件,不可判"5/5 收官"。

不是说前面做得不对,而是"收官"的秤大概率偏了:

声称复核真值差在哪
4.1 隔离矩阵 12/13 证据成立7/14 真 PASS(另有 2 条侈用不存在路由的假阳性已剔除)见 §一
4.2 V8 幂等 PASS(落库 1 行)PASS-附条件——v8.txt 无落库 count 回显,核心断言未留证见 §二
4.3 黄金路径 A 级 6/8 PASS6/8 PASS 认可;N4/N7 判 BLOCKED-环境依赖附议见 §三
4.4 验签 401 PASSBLOCKED-证据不足——335 证据区仅 golden-path.md 一句转述,无回包无 request_id见 §四
4.5 路由门清零 PASSBLOCKED-证据缺失——335 证据区零落盘见 §四

一、4.1 隔离矩阵 —— 声称 12/13,脚本重判 7/14

1.1 存在性硬校验(先证样本真不真)

scripts/check_335_endpoint_existence.py(AST 拼全量路由 370 条,比对 16 条 endpoint):

解析 router 文件 62 个|拼出真实路由 370 条
>>> 矩阵 endpoint 总数 16|路由不存在 2 条
    假阳性行:admin_backend   /api/miniapp/admin/orders                 CSV自判=✅ dest1=404 dest999=404
    假阳性行:admin_distribution /api/miniapp/admin/distribution/overview CSV自判=✅ dest1=404 dest999=404

两条 404/404 的「✅」是假的——路由在代码里根本不存在:

⇒ 这两条 404 只证明路径打错,与隔离无关。须从 PASS 计数中剔除。

1.2 响应形态重判(不采信 CSV 自判列)

scripts/check_335_isolation_matrix.py:

读入行数=16  去重后 endpoint 数=16
【PASS-隔离成立(跨目的地不可见)】7 条
【NOSIGNAL-双端同码(未见差异)】7 条
【DONTKNOW-双端同错(请求构造失败)】2 条
>>> 脚本重判 PASS = 7 / 16
CSV 自判 ✅ 与脚本重判 PASS 的偏差:4 条

剔除 2 条不存在路由后,有效样本 14 条,分布:

类别条数endpoint
真 PASS(200/404 差异)7leader/me/customers、workbench/bills、key-tasks、reviews、quotes/sessions、tasks-full/my、admin/merchants
无效证据(403/403,dest=1 也没权限)2merchant-console/overview、distribution/profile
DON'T KNOW(422/422,两边都没打通)2admin/distribution/config、inventory/availability
NOSIGNAL(200/200,待定性)3admin/roles、admin/destinations、workbench/redeem/conflicts

1.3 逐类定性

workbench/redeem/conflicts 是否应隔离,需 R1 定性,此前不可计入 PASS。

1.4 4.1 判定

BLOCKED-待补:真 PASS 7 条(修订后分母视 N/A 裁定可为 7/9~7/14)。

不得记作 12/13 —— 12 的算法把「inventory 转 4.2」「workbench_redeem 代码事实」两条未与本矩阵同源的东西并入了计数。


二、4.2 V8 幂等 —— PASS-附条件(缺核心断言回显)

v8.txt 实有内容:

5 并发状态码: [200, 200, 200, 200, 200]
ok=5/5
响应形态种数(应=1): 1
样例: {"created_at": "...", "day": "2026-09-17", "destination_id": 1, "expires_at": "...", "hold_k

缺口:幂等的定义性断言是「同一幂等键 N 并发 ⇒ 落库恰好 1 行」,

v8.txt 只给了「5×200」+「响应形态=1」,给的是响应侧一致性,**没有 SELECT count(*) 的SQL 与回显**。

响应一致 ≠ 只落一行(理论上可各写各的、回包长得一样)。

另:样例 的 hold_k... 串在文件里被截断,行号 destination_id: 1 可见但 hold_key 全文不可见。

处置:请补一条 SELECT count(*) FROM <hold表> WHERE hold_key='<同一键>' 的命令+回显落盘 ⇒ 即可转真 PASS。

(commit 称「落库 1 行 dest=1」,我认可该结论大概率成立,但证据未随附,按五要素不得直接采信。)


三、4.3 黄金路径 —— A 级 6/8 PASS 认可;N4/N7 附议 BLOCKED-环境依赖

3.1 认可项(6 条)

N1 登录 / N2 浏览选品 / N3 下单双轨 / N5 商户接单 / N6 两段核销 / N8 异常恢复 —— 均有作战级回显,判 PASS。

其中 N6 分列(arrival/completion 各一行、无混列) 与 N5 反例2 跨商户 403 且库零变更 含金量最高:硬断言 + 库级复证,是本次第四幕最扎实的证据。

3.2 N4 / N7 —— 同意判 BLOCKED-环境依赖,明确反对判 FAIL

3.3 需登记但不阻断的两点(如实)

  1. N1 与 N3 都有"首次失败→重跑修正":
  2. N1 首跑 login: 400 / auth/me: 401 ❌(dev 环境缺 dev_id)→ 「N1 重跑(dev_id 正确姿势)」才 200 ✅;
  3. N3 首跑 orders(1P): 200 id=None status=None payment_mode=None + 1P 判据: ❌ {} → 「N3 双轨分叉(A)✅」才拿到真值。
  4. 定性:调用姿势/响应提取路径错位,非系统缺陷(N3 那次 id=None 与 332 字段级判据是同一种病)。
  5. 执行方保留了首跑失敗回显、没有抹掉 ⇒ 诚实,判 PASS,但须正式登记为「判据/用法纠偏」。
  6. 建议:N3 类表示按 check_332_fields.py 的字段层级方法再核一次,避免"默默重跑覆盖首跑"。
  7. 途中修复 2 个真缺陷(calendars/bulk 漏落 destination_id、redeem confirm 段 NameError)——这是演练价值的正面体现,记功;修复后已 push 重建实测,认可。

四、4.4 / 4.5 —— 证据缺失,判 BLOCKED

4.4 验签 401

335 全证据区唯一记载是 golden-path.md:28 一句转述:

- 验签 fail-closed 已单独实测:伪造无签名回调→401(4.4)✅

无命令、无 cURL 回包、无 request_id、无时间戳 ⇒ 不满足五要素(命令/回显/时间戳/hostname+版本/commit)。

判 BLOCKED-证据不足,请补落一个独立证据文件。

4.5 路由门清零

grep -rn "4.5|路由门" docs/delivery/evidence/335/ ⇒ 零命中;05-gates/ 仅有 .gitkeep。

完全没落盘。判 BLOCKED-证据缺失。

验收官今日复跑佐证(可用作附条件依据,但不替代执行人当时证据):

$ python3 scripts/check_route_registry.py
  router 定义 64 个|已挂载 64 个|孤儿 0 个|路由条数(已挂载)425
  ERROR 0 条|WARN 2 条
结论:PASS(仅 WARN)

⇒ 「路由门清零」的现状成立(ERROR 0)。请执行方把它作为正式证据补入 05-gates/(含 commit 号 + 时间戳),4.5 即可转 PASS。


五、五幕总判预备结论

第四幕当前不可以"5/5 收官"进入第五幕总判。 建议处置:

项现状转 PASS 需要的最小动作
4.1 隔离矩阵BLOCKED(7/14)①剔除 2 条路由不存在样本;②用有权限 token 重跑 2 条 403/403;③补齐 2 条 422/422 的参数;④请 R1 裁定 3 条 200/200 是 N/A 还是补测
4.2 V8PASS-附条件补 1 条落库 count(*) 的命令+回显
4.3 黄金路径6/8 PASS + N4/N7 BLOCKED-环境依赖登记 N1/N3 首次失败为姿势纠偏;N4/N7 转上线前置件清单,不阻塞验收
4.4 验签BLOCKED-证据不足补落独立证据文件(命令+回包+req_id+时间戳)
4.5 路由门BLOCKED-证据缺失把今日 check_route_registry 输出正规归档入 05-gates/

给五幕的建议总判口径:

第四幕 = PASS-附条件 3 项(4.2/4.3/4.5 要件具备)+ BLOCKED 2 项(4.1 补测中、4.4 待补证);
N4/N7 明确不进缺陷盘,改列上线前置件(凭据配置),避免把环境依赖误记为代码债。

在 4.1 重跑与 4.4 补证落地前,第四幕不得作为"全绿幕"支撑总判 PASS —— 否则第五幕就是建立在"以自报替代实测"之上。

-- 署名:波波(验收官)· 2026-09-16 23:47