Files
gplan-2/design/gdd/analysis/a2-minesweeper-rules.md
T
2026-09-14 18:18:49 +08:00

28 KiB
Raw Blame History

A2 排雷玩法规则 设计推演

状态:concluded · 本文只装"为什么"——design/gdd/a2-minesweeper-rules.md(design 件)只收本文的结论。 修订时新增问题节,不删旧节(历史即依据)。OQ 编号与 design 件共用同一套。

问题:为什么数字与事实流必须恒真、拒绝必须可辨?

广度分析

  • 候选 A:信息诚实(数字恒真透传、拒绝携带可辨原因)——收益:玩家推理可兑现,"我算对了"成立;代价:呈现层不能以"隐藏"修补规则缺陷,规则层工作量前置。
  • 候选 B:战争迷雾式数据隐藏(数据层也不给真值)——收益:实现宽松;代价:P1"每一步都算数"直接死亡,连锁与推理失去地基。
  • 候选 C:弹性/含混提示(拒绝不给结构原因)——收益:文案自由;代价:玩家无法分辨"须先拔旗"与"非相邻",拒绝体验含混 = P1 死亡体验。

深度分析

本作 P1 支柱的执行面是"系统回应的每一格都与玩家推演的一致"。数字提示是扫雷推理的唯一原料,雾格只是呈现层不显示——数据层若说谎,推理兑现即坍塌。反向护栏由此确立:任何"规则层说谎"的形态(数字失真、连锁静默变异分支、拒绝原因含混)默认砍掉;呈现层的隐藏必须以数据层恒真为前提。

综合判断

采用候选 A:digit 恒真透传(含雾格,仅 kind=safe 携带)、三源拒绝 + sub_reason 封闭枚举、事件发射规范序钉死。参考感受:Into the Breach 的信息诚实——拒绝你的规则从不含糊其辞。结论落 design 件:规则 1/2、三事件回边表、sub_reason 枚举、AC-19/20/22。

问题:为什么连锁算子必须与 A1 生成端度量同构,且零特判可行?

广度分析

  • 候选 A:A2 连锁算子与 A1 F1 算子①逐字同构——收益:连锁放大推理的兑现与生成端可推理率度量同源,"连锁传播与生成端度量同构"成立;代价:两系统算子修订必须联动(metric_version 跳变)。
  • 候选 B:A2 自写一套近似 flood fill——收益:实现自由;代价:玩家实际连锁规模与 A1 度量脱节,P1 兑现失真。
  • 候选 C:为雾格/变异写运行期分支——收益:局部直观;代价:违反零特判,变异系统任何扩展都要回改 A2。

深度分析

同构论证逐点成立:R↔X 换名后触发谓词同(成员资格 ∧ 真实数字 = 0——禁读显示值,雾格显示空 ≠ 0 格)、传播目标同(8 邻安全格——雷永不入链)、封闭域同(S)、单调最小不动点语义同(次序无关性两侧成立——worklist 任意定序、结果唯一)。同构主张范围 = 算子①本身:A2 无算子②推导项,不主张 O = R∞。增量合法性引理:Cl 单调幂等 ⇒ 逐动作增量求值 ≡ 一次全量闭包(与 A1 生成期同值)。

零特判合规两臂:雾格恒非 0 由 VariationTable 跨字段校验承重 ⇒ "可被链开"与"永不传播"两个方向都是定理不是分支;旗格不入链是集合减法(∖ G)不是分支——旗是 A2 一等规则对象、非变异属性。A2 运行期旗非空时传播集排除旗格(连锁不越旗);双包含回验不受影响——回验只在 install 时点发生,彼时 G = ∅(同构域 = G=∅ 域的依据:A1 生成期与 A2 install/初始展开时旗集恒空,S ∖ G = S)。

综合判断

采用候选 A + C 的反面:F2 与 A1 F1 算子①在 G=∅ 域逐字同构,A2 代码零变异分支。结论落 design 件:F2 结论与公式、实现期红线 1/3/4。

问题:为什么初始展开必须恰等 R₀——不能外扩一环,也不能只开 3×3?

广度分析

  • 候选 A:恰等 R₀(B3 ∪ flood 闭包)——收益:与 A1 求解器初始视野逐格相等,度量保真;代价:定义版权在 A1,A2 禁独立改动。
  • 候选 B:外加一圈"安全边距"(外扩 1 环)——收益:手感更松;代价:破双包含臂①(展开域 ⊆ 排除域),可能开出变异格。
  • 候选 C:只开出生 3×3——收益:保守;代价:破臂②(求解器初始态 ⊆ 展开域),A1 度量吃亏、回退口径触发。

深度分析

双包含回验两臂构造性成立:臂① R₀ ⊆ 排除域(以最终产物板计:出生 3×3 ∪ 闭包 ∪ 外扩 1 环)——给"不触变异"保证;臂② A1 求解器初始态 = R₀ ⊆ O₀ = R₀——恰等,给"A1 度量不吃亏"保证。两义务来源分开陈述:性质 1(恒不开雷 R₀ ∩ M = ∅)由 B3 无雷 + 闭包只收安全格独立可证,环内可有雷;"不触变异"则经排除域给出。恰等 ⇒ A1 回退口径(出生 3×3 最小态)不触发、度量保真零降级。

退化守卫(不变式④ R₀ ≠ S)的必要性由反例 B 证明(跨 GDD 阻断缺口):A1 现行布雷数下限 N ≥ 1 必要不充分——8×8 板 8 雷 placed、先布后删幸存 1 颗距离-2 雷 → 最终板全 0 格连通 → R₀ = S,且 A1 F4 断言 A(inferability=1.0)零拦截、N=1 参数行 100% 退化。登记义务 = A1 F5 legality 增 R₀ ≠ S(违例 = 该次尝试废弃重试,clearable 同款)+ F4 批量断言严格零 + Rule 4 排除域基准措辞按最终产物板计;A2 侧不变式④为纵深防御,双包含两臂不受影响。

综合判断

采用候选 A:O₀ = R₀ 恰等,显式不含外扩 1 环;不变式④ install 拒绝清图退化板(纵深防御,非 A1 clearable 闸复验——不可达安全格板 A2 照常运行)。结论落 design 件:规则 4、F3、实现期红线 2/5/6、跨 GDD 登记义务 A1-1/A1-2。

问题:为什么批次按语义序(清图挖 > 停手 > 其余)而非到达序仲裁?

广度分析

  • 候选 A:朴素到达序——收益:直觉;代价:见下反例,直接违反 A3 Rule 3 优先级。
  • 候选 B:固定语义序 C_dig ≺ C_stop ≺ C_other——收益:四组合与 A3 Rule 3 逐项一致;代价:玩家提交顺序不再决定结算顺序,须以"批次 = 单帧整批"心智理解。
  • 候选 C:玩家指定优先级——收益:表达力;代价:UI 与规则复杂度爆炸,MVP 不需要。

深度分析

反例检验(语义序的存在性证明):朴素到达序下真值表 #4([dig耗, stop])产出 (ap_exhausted, RAP+0)——违反 stopped > ap_exhausted;#2([stop, dig清])吞掉清图高光——违反 cleared > stopped(EC10 同族缺陷)。语义序将两者校正为 (stopped, RAP+remaining) 与 (cleared, new_board)。

分类时点二态论证:排序用批次初态、胜者路径用结算时点真值;C_dig 成员最先执行 ⇒ 其二态恒重合;C_other dig 的二态可因前序 C_other dig 执行而分歧(其批内前缀不可能含 C_dig/stop——二者任一执行即收轮、C_other 全体 voided),分歧时按结算时点真值定胜者;该前缀无 stop ⇒ 与 A3 Rule 3(cleared > stopped)不可能冲突。

到达序无关性的收窄(定稿裁决):(path_tag, continuation_hint, AP/RAP 终值) 对任意到达序不变(全批域);执行/voided 划分的无关性仅对异类竞争成立(四组合真值表);同类多成员批内,执行成员、棋盘终态(旗位/小人位)与划分由类内稳定序(到达序)决定——不同到达序 = 不同输入,均为合法确定行为非缺陷(例:ap=1 下 [move, dig耗] 两意图均执行、[dig耗, move] 的 move voided 且小人位不同;[flag_place, dig耗] 旗入板、[dig耗, flag_place] 旗 voided);cell_revealed/旗事件流同理以到达序为规范序。类内序必须钉死的理由:未钉死会使事件流与奖励格归属漂移——规范性义务。

联合清图让位条款(显式设计后果):批内个体非清的 dig 联合可清图时,stop 仍先执行并胜出(C_stop ≺ C_other)——联合清图高光被停手让位。生产面在单意图帧提交下不可构造(D1 强制项⑥),F4 语义保留为防御性兜底,AC-10 义务不豁免。

综合判断

采用候选 B:语义序仲裁 + 类内稳定序 + 结算时点真值键控出口;voided(零棋盘效果/零扣费/零事件)与非法拒绝严格区分。结论落 design 件:规则 9、F4、四组合真值表、EC6/EC13/EC15。

问题:为什么挖开雷格不是死亡,而是可通行的"走过的伤疤"?

广度分析

  • 候选 A:挖雷 = 轮次结束/死亡——收益:经典扫雷直觉;代价:一次失误抹掉整轮规划,与 P4"地牢下探"氛围冲突,且降级板上无兜底通路。
  • 候选 B:挖雷 = 事实上报 + 格可通行——收益:雷成为"走过的伤疤",探索不被单点终结;代价:必须配套敌方优势计价,否则雷失去威慑。
  • 候选 C:挖雷后封锁该格——收益:保留惩罚感;代价:制造不可达死区,与连通性保障冲突。

深度分析

采用候选 B 的计价论证:雷格通行是有价捷径——挖已知雷 = 花 1 AP + 给敌方送优势,经风险收益管线计价;是玩家主动抄近路的权衡,也是降级板上的兜底通路,不是免费通道。"被迫挖雷过路"的构图被生成期拦截——A1 clearable 闸按"安全格 8 邻接图"连通计,挖雷通路不计入,故不存在结构性强制过路费板。

综合判断

采用候选 B(GD-2 裁决,登记为工程债):kind=mine 事件、轮次不结束、格可通行、不计清图、同轮多雷各自独立事实。结论落 design 件:规则 11、EC10、AC-15。

问题:为什么剥夺经典扫雷的 chord 双击快开?

广度分析

  • 候选 A:保留 chord——收益:肌肉记忆友好;代价:零 AP 快开稀释"每个决策都值得花一 AP"的预算意义。
  • 候选 B:剥夺 chord,已开数字格 = 移动——收益:预算意义完整,点击语义单一;代价:怀旧玩家首遇预期违背,须教学提示补偿。
  • 候选 C:chord 以道具/后期解锁形式后置——收益:两全;代价:引入新系统复杂度,MVP 不承载。

深度分析

本作保留经典扫雷连锁展开的"哗啦一片"的免费与瞬时(连锁本身仍免费),但剥夺 chord 双击——每个决策都值得花一 AP,快开是对预算意义的稀释。chord 缺席的兑付节拍补偿(标中旗即时兑现候选)归 B1/B4 高光兑现节点条目化(创意风险 #3)。这个"没有"是可验收的负空间:对外 API 封闭枚举里根本没有快开入口,将来谁想加就是接口漂移修订。

综合判断

采用候选 B(定稿):无 chord,点击已开格唯一含义 = 移动;chord 肌肉记忆首遇提示登记 D1 强制项③(非模态、每 run 一次,A4 先例)。结论落 design 件:规则 12、AC-4、覆盖矩阵"API 封闭枚举"行。

问题:为什么旗判定轮末统一批、且诚实重复上报?

广度分析

  • 候选 A:插旗即判——收益:即时反馈;代价:旗位在轮内可变(拔/挪),即时判定会产出与终局旗位脱节的事实流。
  • 候选 B:轮末统一判定批,基线 = 事务开始旗位——收益:判定与事件序契约(先旗后结束)统一,基线与到达序无关;代价:反馈延迟到收轮,须呈现层补偿。
  • 候选 C:A2 侧去重(每雷只报一次判中)——收益:下游简单;代价:A2 越权裁决结算语义,"每雷实例至多兑一次"的资格键在结算侧。

深度分析

判定基线取"轮次结束事务开始时的旗位":被拔的旗不判、被 voided 的旗动作不留痕(无幽灵旗);语义序使基线与到达序无关(EC13)。行主序枚举保证确定性。旗留在雷上每轮诚实重复报判中——A2 只报事实,去重是结算侧的事(资格以雷格实例为键,A3 Rule 8/OQ5;B1 强制项③)。雾内旗恒判空是零特判的自然结果(雾区无雷),不是特判分支。

综合判断

采用候选 B:轮末统一判定批 + 诚实重复上报,去重归 B1/B4。结论落 design 件:规则 8、三事件回边 flag_judged 行、EC13、AC-12。

问题:为什么拒绝要分三源并携带 sub_reason 封闭枚举?

广度分析

  • 候选 A:单一 reject 布尔——收益:实现最简;代价:玩家无法分辨"须先拔旗"与"非相邻",文案无从下手。
  • 候选 B:三源 reject_reason + board_face 内 sub_reason 封闭枚举——收益:玩家语义数据可分,呈现层直接映射;代价:枚举即接口契约,批后修改 = 接口漂移。
  • 候选 C:自由字符串原因——收益:灵活;代价:不可判定、不可本地化、不可测试。

深度分析

UX-1 裁决(批前免费窗口):"须先拔旗"与"非相邻"玩家语义截然不同的情形必须数据可分,故 board_face 携带 sub_reason 封闭枚举七值;目录外输入(越界坐标等)单列 out_of_catalog——debug 级诊断,不与玩家语义混桶、禁静默吞。三源(board_face/resource_face/phase)互异可判定,phase 源含装板违例 board_invalid 并列第四值。

综合判断

采用候选 B:reject_reason 四值 + sub_reason 七值封闭枚举;玩家面文案归 D1(映射源 = 枚举)。结论落 design 件:三源拒绝表、sub_reason 表、AC-21。

问题:为什么装板要四条不变式 fail-fast、且抗表重载靠生成期快照?

广度分析

  • 候选 A:装板信任输入、不做校验——收益:代码薄;代价:违例板带病运行,错误在挖掘期以诡异形态爆发。
  • 候选 B:装板当场验四条结构不变式、违例 fail-fast——收益:信任边界清晰,诊断恰一类别可测试;代价:产物构造方须守 schema。
  • 候选 C:持数据表活引用、运行时随表——收益:热重载即时生效;代价:战斗中改表改变进行中的板行为,回放与确定性破裂。

深度分析

不变式④与其余三条性质不同:①–③是产物良构性,④是 A2 状态机良构性守卫(防"初始展开即整图"使轮次棋盘路径出口结构性不可达);生产面由 A1 legality 闸保证,④为纵深防御、非 A1 clearable 闸复验。产物只能经程序构造或 A1 产生,运行期不存在该输入源——故违例 = 程序构造错误,fail-fast + error 诊断是正确姿态(进程致命保留给数据通道)。

快照 vs 活引用:板持生成期变异快照,热重载改表行为零变化;A2 零表读取使抗重载为构造性(不是运行时防护,而是架构上没有读取路径);行为级代理验收 = 换根重放事件流逐位相同(AC-18)。

综合判断

采用候选 B + 快照:四条不变式 fail-fast(诊断封闭枚举)、生成期快照抗重载。结论落 design 件:规则 3、install 不变式表、EC2/EC8、AC-1b/AC-2/AC-18。

数值锚定与验算记录

F1 变量域与验算

变量 类型 范围 说明
σ 棋盘状态 —— (B, O, G) 三元组;B 由 A1 产物给定
O(σ) 格集 R₀ ⊆ O ⊆ U 已开集(含初始格、连锁格、已引爆雷格)
S(B) 格集 U ∖ M 安全格全集(含雾格、含 R₀ 格、含不可达格)
rem(σ) int [0, |S|] rem₀ = |S ∖ R₀|;rem=0 即 cleared 路径
  • Output Range:cleared ∈ bool。Example:10×10 板、|S|=88、R₀=20 → rem₀=68;挖开末 1 安全格(chain_size=3 连锁)→ O ∩ S = S → cleared,A2 经 last_round_end 外发 (cleared, new_board)。
  • 求值点注:"批次 = 单一结算事务"指批次作为原子性单位,不改逐 dig 粒度,与 A3 request_dig 按次调用上报的契约一致。

F2 变量域与验算

变量 类型 范围 说明
c 格 U ∖ O 挖掘目标(棋盘面合法性先行,规则 5)
O / O′ 格集 见 F1 挖前/挖后已开集
num(x) int {0..8} x ∈ S 真实数字(非显示值——漂移风险见 design 实现期红线①)
chain_size int [0, |S|−1] A3 request_dig 第一参数
clears_map bool —— 第二参数;≡ F1 cleared
  • Output Range:chain_size=0 ⟺ c 非 0 格或其安全邻已全开。Example:b_chain 板挖 (3,6)(0 格)→ 级联 13 格一次开尽墙下封闭区(雷墙与板底之间的口袋形安全区,下称"封闭区"),chain_size=13、clears_map 视余量而定;全程 ap 只扣首格 1。
  • 同构主张范围 = 算子①本身(A2 无算子②推导项,不主张 O = R∞);同构域 = G=∅ 域(A1 生成期与 A2 install/初始展开时旗集恒空,S ∖ G = S);双包含回验不受影响——回验只在 install 时点发生,彼时 G = ∅。

F3 变量域与验算

变量 类型 范围 说明
B3 格集 |B3|=9 ⊆ U 出生 3×3(产物携带);小人出生 = B3 中心格
R₀ = O₀ 格集 B3 ⊆ R₀ ⊆ S 初始展开域;下界 9(无 0 格传播时)
  • Output Range:|R₀| ∈ [9, |S|−1](上端点被不变式④排除)。域非空前提:非空 ⟺ |S| ≥ 10——|S| = 9 的板必有 S = B3 ⇒ R₀ = S,由不变式④在 install 拒绝(EC1 同族),不产生运行态 R₀;现行 A1 参数域(W,H ≥ 8)下 |S| ≤ 9 仅程序构造板可达。
  • Example:b_spawn 板(7×7、竖墙雷 6 枚):R₀ = x≥2 全安全格 35 格,臂① R₀ ⊆ 排除域(35 + 域外安全 8 + 环内雷)✓、臂② 测试侧朴素 BFS 重算逐格恰等 ✓。
  • 义务来源分开陈述:臂①给"不触变异"保证(经排除域);"不触雷"由性质 1 独立给出(环内可有雷)。

F4 变量域与验算

变量 类型 范围 说明
⟨I₁,…,Iₙ⟩ 意图序列 n ≥ 1 到达序;∈ {dig, flag_place, flag_pull, move, stop}
class(I) enum 三类 —— 排序类别(批次初态求值)
ω 意图 ∪ {∅} —— 胜者;∅ = 轮次继续
  • Output Range:(path_tag ∪ {无}, continuation_hint ∪ {无}, RAP 增量, 每意图 ∈ {执行, voided, 拒绝})。Example:ap=3、rem=1、批次 [stop, dig(末格)]:C_dig 先结算 → try_spend true、ap 3→2、事务内 cleared 胜出 → 外发 (cleared, new_board)、RAP+0;stop voided。到达序翻转结果逐项相同(真值表 #1/#2)。
  • 胜者出口映射键控细节:dig 胜 ∧ 结算时点 clears_map=true → (cleared, new_board)、RAP += 0(剩余 AP 清零,A3 Rule 5)——C_dig 胜者恒满足;非清 C_other dig 可因前序 C_other dig 执行变清图,按结算时点真值入此行。C_stop 胜 → 先发 flag_judged ×N(基线 = 事务开始旗位,停手不改旗)→ 委托 A3.request_stop() → (stopped, same_board)、RAP += remaining_ap(1:1)。耗尽 AP 的 C_other → (ap_exhausted, same_board)、RAP += 0(不变式 remaining=0)。

夹具登记常数记录

  • spawn 坐标为新增登记项——b_chain/b_fog = (3,2);按默认"板中心"读法该两板 B3 = {2..4}² 会含 y=4 雷墙雷、违反不变式①、板不可安装(已修正,复核义务见 OQ3)。

已裁决设计争议(速查)

争议 裁决 要点
GD-1 连锁是否越旗 不越旗 传播集 ∖ G 是集合减法非分支;旗 = 1 AP 链阻断器(经典 flood 惯例);G=∅ 域与 A1 算子①同构不变
GD-2 挖雷后果 事实上报 + 可通行(有价捷径) 1 AP + 敌方优势计价;A1 clearable 闸拦截"被迫挖雷"板;工程债登记
UX-1 拒绝原因形态 sub_reason 封闭枚举 批前免费窗口定稿;registry a2_event_surface.api_surface 已同步
到达序无关性范围 收窄 (path_tag, hint, AP/RAP) 全批域不变;划分序无关仅异类四组合;同类批内由稳定序决定
联合清图 vs 停手 停手让位清图高光 C_stop ≺ C_other 的显式设计后果;单意图帧下生产面不可构造,AC-10 义务不豁免
round_end 发射者 双发射源 棋盘路径 A2 发、stopped 路径 A3 直发、payload 同构;A2 禁双发
事件序 flag_judged ×N 先于 round_end 全收轮路径统一;停手不改旗位故基线等价
已引爆雷格 可通行 工程债(systems-index 门禁修正记录),AC-15 承载
D1 义务范围 ×1 → ×6 扩容 stop 经 settle_batch / 格态可辨 / 悬停预承诺+chord 提示 / 雷格可读 / 路径呈现 / 单意图帧+voided+拒绝可感知
移动语义 瞬移 规则层一次事务落位;逐格动画归呈现层;路径序固定 8 邻行主序

开放问题

# 悬案 owner 时机
1 标错惩罚(偏离登记——实测义务保留,不阻塞设计):候选 = 敌方伏击 +1(标错旗在轮末判定 hit=false 时为敌方追加 1 层伏击;量纲随 B2 ambush 定稿联动);兼任双重职责(A3 OQ2):误标税 + 停手轮/死 RAP 态下旗滥用的唯一价格;一致性推论(上线时生效,无特判):雾内旗恒受罚(A4 EC5)、判定载体 = design 件 flag_judged.hit=false 事实流(B1/B4 消费,A2 零改动);惩罚重复性裁决项(实测会话前钉死):hit=true 兑付有去重(每雷实例一次,B1 强制项③),hit=false 惩罚无去重声明——按现行轮末判定载体,忘拔的错旗默认每轮 +1 伏击(5 轮 = +5),与一次性收益严重不对称;候选 = 随旗实例去重 / 显式接受每轮累计("流血"设计),须在原型实测会话前落定,防实测数据混淆"一次性过重"与"累积过重";落地动作:原型 v3 补丁实测(可与 v3 终验合并会话)→ 实测支持则修订 design 件(判定批扩展)+ registry,否决则关闭 OQ 并在 A3 OQ2 另定价旗滥用;A2 /design-review 须核对本 OQ 在位,缺位即 blocking 用户 + 原型小补丁会话 垂直切片前置 playtest 合并会话前
2 事件外发载体与捕获 API(实现期 ADR 确认项):signal vs 回调注册、事件捕获断言面的落地形态——依赖事件捕获列表的 THEN(AC-1/3/4/5/6/7–10/12/13/15–20 的事件序列断言)为纸面契约,ADR 未确认前该子集不视为可执行(A1 缺口 G1"度量独立入口"同型);返回值/诊断/静态扫描类断言(AC-1b/2/11/14/16/21/22 及各 AC 的 reject 分支)不在此限、现在即可执行 实现期 ADR Technical Setup
3 夹具登记常数第二人复核:各板(spawn 坐标、R₀ 成员集/级联集/digit)手工推导记录入版本库后安排复核——推导错误即假失配/假通过(A1 OQ5 同型);spawn 坐标为新增登记项(b_chain/b_fog=(3,2)——默认中心读法产出不变式①违例板) A2 /design-review A2 评审
4 A5 探测道具接口预留:显影(未开雾格数字显影)对 A2 查询面的需求形态——接口归 A5 GDD 定稿,design 件不预写(见 design 件依赖 A5 行) A5 第 11 位
5 D1 输入接线确认:stop 意图经 settle_batch 提交的接线义务(D1 强制项①)与单帧多意图的真实构造性——单意图帧输入收集已升格为 D1 强制项⑥登记约束(stop 点击终结当帧收集或等效;若 D1 保证单意图帧,四组合仲裁退化为结构不可构造——义务仍由 AC-10 冒烟承载、不豁免) D1 第 10 位
6 拔旗价目与旗滥用观测联动:flag_pull_ap_cost 复核与"停手轮旗动作占比"指标的 A2 侧观测量(旗动作批占比)——A2 零改动,遥测口径随 A3 复核会话对齐 A3 OQ2/OQ3 低优先

附录 A:义务台账与审计记录(历史审计,活契约见 design 件依赖与输出节)

门禁义务落位表(门禁评审逐项核对用映射,缺项即 blocking;义务本体在 design 件)

编号 义务 来源 承载位置
1 A2×4 ① EC4 连锁开雾格(无数字+级联停止+计入清图+奖励入库) A4 规则 6 + EC4 → AC-6
2 A2×4 ② EC5 雾内旗恒不中(含标错惩罚一致性推论) A4 规则 8 + EC5 → AC-12
3 A2×4 ③ 开格上报携带变体标记 A4 规则 2 + F2 注 → AC-6/18/20
4 A2×4 ④ EC8 生成期变异快照抗表重载 A4 规则 3 + EC8 → AC-18
5 双包含臂① A2 展开域 ⊆ A1 排除域 A1 规则 4 + F3 → AC-3
6 双包含臂② A1 求解器初始态 ⊆ A2 展开域(恰等,回退口径不触发) A1 规则 4 + F3 → AC-3
7 初始展开定义落点(免费/计入清图/无奖励) A3 EC5 委派 规则 4 → AC-1
8 round_end 棋盘路径外发 + payload 同构 A3 Rule 9 规则 2/10 → AC-7/8/9
9 EC4 批次四组合仲裁 + RAP 随胜者 A3 EC4 deferral 规则 9 + F4 + EC6 → AC-10
10 已引爆雷格可通行(工程债) systems-index 门禁修正记录 规则 11 + EC10 → AC-15
11 标错惩罚以 OQ 登记(实测义务保留,不阻塞设计) systems-index 偏离登记 OQ1(/design-review 核对在位)

双向一致性核对(定稿时点审计)

A2 ← A1, A3, A4 ✅(索引依赖分层)· B4 ← A2,B3,D2 ✅ · D1 ← A2,A3,B1 ✅ · D4 ← A2,B1 ✅ · D5 ← A2,A3,B1 ✅ · A5 ← A2,A4,B4 ✅ · D2 表"A2 无直接依赖" ✅——无单向遗漏。

定稿复核注记

lean 门禁下 systems-designer 起草 Formulas(F1–F4 + 反例 B 阻断缺口)、qa-lead 起草/验证 AC(23 条 + 覆盖矩阵 + 夹具坐标规格);creative-director 的体验锚点情绪定位与 art-director 的呈现一致性未经咨询——生产前人工复核(art-bible §1–4 须在 D1 GDD 前创建)。

附录 B:去向映射(零丢失可审计证据)

原文节/表 落点
头部块(状态/版本/承载支柱/层级/一句话) design 头部块
头部复核注记(起草分工 + CD/art-director 未咨询) 本文附录 A「定稿复核注记」
速览表·定位行 design 设计目的 + 依赖与输出引言(TD-SYSTEM-BOUNDARY 回边/瓶颈系统)
速览表·拥有/不拥有行 design 系统范围(负责/不负责)
速览表·上游输入/下游输出行 design 依赖与输出双向表
速览表·硬约束行 design 规则 1(四零禁令 + headless 可驱动)
术语表(8 条) design 事件面与枚举·术语表
体验锚点表 + 反向护栏 design 设计目的(4 条承诺 + 护栏);论证与参考感受 → 本文问题 1/问题 6
全局流程·装板与挖掘期字符画 design 核心循环
全局流程·批次结算字符画 design 批次结算与收轮
全局流程·出口分发表 design 核心循环·出口分发表
规则 1/2(含三事件回边表) design 事件面与枚举(规则 1/2 + 三事件回边表)
规则 3/4 design 棋盘状态·装板与初始展开(规则 3/4)
规则 5/6/7/8/11/12(含旗价目表) design 动作规则(规则 5/6/7/8/11/12 + 旗价目表)
规则 9/10(含批次类别表 + 四组合真值表) design 批次结算与收轮
枚举节 5 表(字段值/三源拒绝/sub_reason/装板违例诊断/API 面) design 事件面与枚举
F1–F4 结论/公式/Variables/Output Range/Example design 行为契约节(Example 验算数据 design 与本文数值锚定节双录)
F1–F4 推导论证(同构论证/增量引理/双包含证明/反例检验/无关性收窄/让位条款论证/域非空推导) 本文问题 2/3/4 + 数值锚定与验算记录
显式排除声明(归属表) design 行为契约·显式排除声明
实现期红线 ×6 design 行为契约·实现期红线
状态节(板态/矩阵/四不变式/补充不变式) design 棋盘状态·装板与初始展开
边界情况 EC1–EC17 design 边界情况表;EC1 反例 B 详述 → 本文问题 3
依赖节·上游/下游表 design 依赖与输出双向表
B1 强制项 ×3 / D1 强制项 ×6 design 依赖与输出(同名两表)
门禁义务落位表 ×11 / 双向一致性核对 本文附录 A(审计映射;义务本体散见 design 各节)
跨 GDD 新登记义务汇总(A1-1/A1-2/B1×3/D1×6/B1/B4×2) design 依赖与输出·跨 GDD 新登记义务汇总
呈现与 UI 契约 ×14 design 依赖与输出·呈现与数据供给契约
Tuning Knobs design 调参表
验收标准·测试口径/夹具板清单/AC×23/覆盖矩阵 design 验收标准(编号不动)
验收标准·out-of-scope deferral design P1 / P2 后置表
开放悬案 OQ1–OQ6 本文开放问题(编号不动)
版本历史 ×3 行 design 版本历史(原样保留 + 追加 v2.0 迁移行)