From 983ce127df9b85f2327739a48f6a958ff1103c38 Mon Sep 17 00:00:00 2001 From: DKChan <524912269@qq.com> Date: Sun, 25 Oct 2026 21:34:17 +0800 Subject: [PATCH] =?UTF-8?q?docs(S6~S8=E4=B8=89=E9=97=B8=E8=90=BD=E5=9C=B0?= =?UTF-8?q?=E6=94=B6=E5=8F=A3):=20=E9=9D=99=E6=80=81=E6=89=AB=E6=8F=8F?= =?UTF-8?q?=E6=89=BF=E6=8E=A5=E6=B8=85=E5=8D=95=E4=B8=89=E8=A1=8C=E6=94=B9?= =?UTF-8?q?=E5=9C=A8=E4=BD=8D(=E5=88=A4=E6=8D=AE=E5=8F=A3=E5=BE=84?= =?UTF-8?q?=E4=B8=8E=E8=B1=81=E5=85=8D=E9=80=9A=E9=81=93=E9=9A=8F=E5=BD=95?= =?UTF-8?q?,S6=E5=8F=8D=E5=90=91=E5=BC=95=E7=94=A8=E5=8F=A5=E5=BD=92?= =?UTF-8?q?=E4=BA=BA=E5=B7=A5=E8=AF=84=E5=AE=A1=E9=9D=A2)+static=5Fscan?= =?UTF-8?q?=E5=A4=B4=E6=B3=A8=E6=8D=A2=E4=BB=A3=E5=85=A8=E9=87=8F=E5=9C=A8?= =?UTF-8?q?=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- design/engineering/architecture/architecture.md | 10 +++++----- game/tests/static_scan.sh | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/design/engineering/architecture/architecture.md b/design/engineering/architecture/architecture.md index eeafa8a6..acfbe5f1 100644 --- a/design/engineering/architecture/architecture.md +++ b/design/engineering/architecture/architecture.md @@ -2,8 +2,8 @@ ## 文档状态 -- 版本:1.11 -- 最近更新:2026-10-25(架构与规范对齐批闭合落文——②组合根拆件概念成文〔呈现层归属+成员三件,2026-10-25 用户裁案甲〕+③effect_engine 圈层归位基础层〔A3/B4 消费依赖登记,反向依赖悬案消解,用户裁案 a〕) +- 版本:1.12 +- 最近更新:2026-10-25(S6/S7/S8 三闸落地批收口——静态扫描承接清单三行改在位;2026-10-25 用户发令三闸落地) - 引擎:Godot 4.7.2-stable(GDScript 单语言;2026-09-07 锁定) - 评审模式:solo(`review-mode.txt`,2026-09-12 用户拍板——TD/LP 门禁按 solo 跳过,用户授权架构产出自主推进、迭代期回调) - 覆盖 GDD:现行全集——`design/gdd/` 顶层 00–08 共 9 件 + `systems/` 五域 25 件(排雷循环 4 / 战斗循环 5 / 冒险循环 5 / 跨局循环 5 / 表现与支撑 6)+ `ux/` 8 件;原英文命名 12 份系统 GDD 已全部迁入中文域目录,原「未设计」预留(A5 扫雷秘宝 / C1–C4 / B5 / D3–D6)均已立项成文 @@ -227,9 +227,9 @@ | S3 | core/ 禁 ConfigDB 外 data 表加载(`load(` / `preload(` / `ResourceLoader.load`;schema class_name 直引豁免)(D2 Rule 2) | **在位**(warning 级——class_name 直引误报需人工复核;路径已由裸 `core` 修正为 `game/core`,此前恒零命中静默空转;豁免 config_db.gd 自身=数值单一事实源的正主) | | S4 | core/ 禁 `extends Control/Node2D`、禁 `.tscn` preload(D2 Rule 7) | **在位**(硬失败) | | S5 | core/ 禁裸引用 autoload 全局标识符(`ConfigDB` / `RngService` 直接写 = --script 模式 parse error)——构造注入 only(specialist 升格) | **在位**(硬失败;形态=标识符后紧跟 `.` 的成员访问,排除注释行与字符串字面量) | -| S6 | core↔core 信号连接只许方法 Callable(禁 lambda 捕获 self);发射者禁持有订阅者反向引用 | **未落地**(脚本 TODO 注记在案) | -| S7 | B1 编排唯一性:B2/B3/B4 API 符号命中文件 ⊆ B1 文件集;A2/B3/B4 零相互直调(B1 AC-43) | **未落地**(脚本 TODO 注记在案) | -| S8 | 结算路径 `await` 零命中(B1 结算/编排文件集);字面量扫描 = warning 级 + 人工三要素复核(D2 AC-14 口径) | **未落地**(脚本 TODO 注记在案) | +| S6 | core↔core 信号连接只许方法 Callable(禁 lambda 捕获 self);发射者禁持有订阅者反向引用 | **在位**(2026-10-25 落闸:内联 lambda 禁令机器闸——同行与跨行两形态、豁免注记 `s6-signal-exempt`、盘面零存量;「发射者禁反向引用」句静态判据不成熟,归人工评审面承接、不造弱判据) | +| S7 | B1 编排唯一性:B2/B3/B4 API 符号命中文件 ⊆ B1 文件集;A2/B3/B4 零相互直调(B1 AC-43) | **在位**(2026-10-25 落闸:符号清单×B1 域文件集,族内自调用豁免、豁免注记 `s7-b1-exempt`、缺位自检;全符号形态盘面零存量) | +| S8 | 结算路径 `await` 零命中(B1 结算/编排文件集);字面量扫描 = warning 级 + 人工三要素复核(D2 AC-14 口径) | **在位**(2026-10-25 落闸:B1 域文件集 await 零命中,文件集缺位自检、排除注释与字符串;盘面零存量。本行后半句「字面量扫描=warning 级+人工三要素复核」为独立子项、仍归人工面) | 域外扩充两件(均硬失败在位):**S9** 类型闸(`tools/audit_type_hints.py`,迭代 27 T5——产品码无类型容器/有值返回缺类型/参数缺类型);**S10** 文件头闸(`tools/audit_file_headers.py`——头注 ≤8 行 + 日期/变更叙事黑名单)。 diff --git a/game/tests/static_scan.sh b/game/tests/static_scan.sh index 67258794..a84a8964 100644 --- a/game/tests/static_scan.sh +++ b/game/tests/static_scan.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# tests/static_scan.sh — 静态扫描域 S1–S8 可执行子集 +# tests/static_scan.sh — 静态扫描域 S1–S10 全量在位 # 规则全集与动机:design/engineering/architecture/architecture.md「测试与质量域」节 # 正式工程(core/ 存在)时执行;否则优雅跳过(工程在 game/core——仓库根布局)。 # 纪律:新违规案例必须先补本脚本规则再修码(design/engineering/code-conventions.md 缺陷-规范对照表)。