工程(架构审查P1余项·闸件落地): §四待执行三项同批做完并同步文档——①static_scan.sh 的 S8 加 settlement/ 目录域反向对账(实有 .gd 未登记进清单即红,只覆盖该目录并写明根下四件结算码不在目录域内、仍归「模块归属」B1 登记面),S7 的 S7_B1_SET 与 S8_FILES 两份14文件抄本合一为单点 B1_SET(两份靠人工同步必漂),绿文案「10 个 .gd」改派生计数并申报反向对账已在案 ②audit_type_hints.py/audit_file_headers.py 各补扫描面空转自检(缺目录或零个 .gd 即红、绿时打印面件数;原实现 rglob 空集与 is_dir continue 两处静默绿,违背 test-conventions §7 零命中自检辅证与脚本前言自立纪律) ③architecture S 表 S8 行登记单点与反向对账判据、S9/S10 偏差句改判已清偿、版本1.33→1.34 ④审计报告 §4.2 待执行清单改判已落地并记验证口径。验证:static_scan 全量13条规则绿退出码0;两件负证(面清单改成不存在目录各返回1)正证(真实面158个 .gd 归零PASS)。§四 P1 四条至此全部闭合;零需求卡片(纯闸件属工程改动),待办清单与第五节P2按用户令未动

This commit is contained in:
DKChan committed 2026-11-03 20:37:31 +08:00
1 parent 47c752eaf3
commit c40db898aa
5 files changed
+53 -28

No files matched your search

@@ -136,10 +136,11 @@ core 内干净,绕过点全在 core 之外:
- **S9/S10/S13 不扩到三层**(裁决)。2026-11-03 只读数实跑(三个静态扫描脚本对三层,未修文件、未写基线)给出现存总量 **≈2162 处**:S9 类型 1070(sim 158/probe 130/tests 782,其中无类型容器 859)、S10 文件头 117、S13 质量 975(其中「禁调试打印」274+「循环内 await」70——这两类在测试与探针码里是功能需要,不是债)。产品码面 S9/S10 现行**归零**,扩面即把「归零」这一执法前提换成 1187 项存量红;为三层另建欠账基线会把账从 1 份变 3 份。落文=code-conventions §4 第 13 条写明适用域止于产品码并给出三目录的运行期承接通道。
- **读数是**:S8 现行 **14 文件**显式清单(`static_scan.sh:317`),非本节所记 9 文件;同口径 14 文件清单在 S7 另抄一份(`:361`),两份靠人工同步;绿文案仍报「B1 文件集 10 个 .gd」(`:337`)与头注 `:311` 的「共 14 文件」自相矛盾;S8 自检只防「清单内文件缺位」(`:319-324`)不防「该进的没进」——纯目录域方案已证伪:装板/授予/效果端口/掷格四件结算码在 `game/core` 根下而非 `settlement/` 目录内。
- **本轮新查两处**(审计未列):①S9/S10 **无扫描面空转自检**(`tools/audit_type_hints.py:82-83`、`tools/audit_file_headers.py:64-65` 目录不存在即静默 PASS),违背本文「三层承载与判定原则」的零命中自检要求与脚本前言自立的防空转纪律(`static_scan.sh:18-19`);②S3 是半闸(命中只打 WARNING、不置 fail,`static_scan.sh:110`)——**但这条不是洞**:架构文档 S 表 S3 行早已登记「warning 级——class_name 直引误报需人工复核」,属已在册状态。2026-11-03 裁**维持 warning 不升硬**(升硬前提是先有可靠的直引误报排除判据,该判据未立)。
- **待执行清单(登记处=本节;车道=工程改动批,用户发令走独立 worktree 直改+合回 CI,零需求卡片;估 <0.5 工作日)**:
1. `game/tests/static_scan.sh`:S8 新增「`game/core/settlement/` 实有文件 ⊆ 清单」反向对账(新段类未登记即红),并把 S7 的 `S7_B1_SET` 与 `S8_FILES` 两份抄本合一为单点变量,订正 `:337` 的「10 个 .gd」文案;
2. `tools/audit_type_hints.py`/`tools/audit_file_headers.py`:补扫描面空转自检(目录缺失或 `.gd` 数为零即红,口径仿 `static_scan.sh:27-36`);
3. 上述两条落地后,架构文档 S 表 S8 行与「S9/S10 缺空面自检」的偏差登记句随同批改写(禁文档跑在码前,本轮只登记现状)。
- **待执行清单(2026-11-03 同日执行完毕,凭据见下)**:
1. `game/tests/static_scan.sh`:S8 新增「`game/core/settlement/` 实有 `.gd` ⊆ 清单」反向对账(新段类未登记即红)+S7 的 `S7_B1_SET` 与 `S8_FILES` 两份 14 文件抄本合一为单点 `B1_SET`+绿文案「10 个 .gd」改为派生计数(现打「14 个 .gd+settlement/ 目录域已反向对账」)——**已落地**;
2. `tools/audit_type_hints.py`/`tools/audit_file_headers.py`:补扫描面空转自检(缺目录或零个 `.gd` 即红,绿时打印扫描面件数供核)——**已落地**(负证:把面清单改成不存在目录,两件各返回退出码 1;正证:真实面 158 个 `.gd` 归零 PASS);
3. 架构文档 S 表同步——S8 行登记单点与反向对账判据、原「S9/S10 缺自检」偏差句改判为已清偿——**已落地**(凭据=`design/engineering/architecture/architecture.md` v1.34)。
- **验证口径**:`bash game/tests/static_scan.sh` 全量 13 条规则绿、退出码 0;车道=会话内独立 worktree 直改+合回远端 CI(零需求卡片,纯闸件面属工程改动)。§四 P1 至此四条全部闭合。
### 4.3 S13 豁免常态化