b5d9eece5d32c03a1722de6c22016ff4f52628d9
前六轮都是「design → 代码」方向。本轮反过来:从代码出发,把每个规则决策与 常量拉出来追问 design 有无明文依据。没有发现与 design 冲突的行为,但列出 6 项 「design 未明文规定、由代码自行决定」的项(倒计时秒数、§5.4.4 降级阶梯是否 最长优先、甩牌分解的最大化合并约定、同级副7对不成连对、call 入参宽松而 cards 严格、get_chongguan 的 <28 隐式兜底),已写进 compliance 待规则设计者拍板。 同时补上一块此前完全没有测试的红线:**下发面按可见性下发**。design §4 暗牌 只有庄家可见、§9 查牌模式、§11 结束亮底牌,以及 server 红线「发全 ≠ 发多」, 此前各处门控只有逐条手工核对,从未系统验证「有没有哪个包把不该看的牌送到了 某个座位」。 新增 test/test_leak.js:跑 6 局(可查牌/不查牌 × 叫 65/70/5),对每一个 「服务器 → 某座位」的下发面(各 RPC 逐座位包 + 各阶段重连快照 + 明牌应答) 深度扫描出所有牌 id,逐个判定该座位此刻是否有权知道。结果 1814 个下发面 / 18706 次可见性判定,0 泄露。 变异检验:非 70 分把暗牌发给闲家(第三轮修过的历史缺陷)、重连把底牌发给 闲家、出牌包把剩余手牌发给所有人 —— 三条全部被抓住。 全套单测 520 → 523 项全绿。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Description
No description provided
11 MiB
Languages
JavaScript
99%
HTML
0.8%
PHP
0.1%