refactor(编号): 测试验证层级去号——CI job / 门禁输出 / 命令行旗标换语义名 + ASCII 段名

用户裁定「我不想看到编号」。测试验证层级这一族的整族清退分三道并行:本笔是**代码与 CI 道**
(CI 步骤与门禁输出面),代码注释面另走、文档面由文档道走。

口径(旧 → 语义名 → ASCII 段名,段名只进日志/旗标/job id/文件名):
  L0 静态门禁 static | L0a 钩子解释器预检 preflight | L0b 提交信息门禁 commitmsg
  L0c 体积门禁 size | L0.5 主机侧纯逻辑单测 host-unit | L0.5c 覆盖率 coverage

- scripts/ci_local.py 43 站点:段标题与 [SUMMARY] 标签改 ASCII 段名(static: /
  host-unit:),函数 run_l0/run_l05 → run_static_gates/run_host_unit_tests,
  收尾「已跑:」列表用段名。旗标改 --static-only / --host-unit-only,**旧旗标
  --l0-only / --l05-only 保留为 argparse 别名**(肌肉记忆与既有脚本片段不断档,
  实测 --help 两名列出)。
- .gitea/workflows/ci.yml 42 站点:job id l0-gates → static-gates、
  l05-host-unit-tests → host-unit-tests;步骤名与 step-summary 标题改语义名;
  日志名 l0-pre-commit.log → static-pre-commit.log、l05-<模块>.log →
  host-unit-<模块>.log;::error::/::notice:: 文案同步。yaml.safe_load 核过
  两个 job id 与步骤名。
  host-unit-tests;步骤名与 step-summary 标题改语义名;日志名 l0-pre-commit.log →
  static-pre-commit.log、l05-<模块>.log → host-unit-<模块>.log;::error::/::notice::
  文案同步。yaml.safe_load 核过两个 job id 与步骤名。
- 门禁脚本 18 站点:check_registration(登记簿理由串 7)、check_test_coverage 5、
  README 8、check_generated_fresh 2、ram_baseline 2、check_size_gate 1、
  ci_find_python.ps1 2、ci_runner_bootstrap.ps1 2、.pre-commit-config.yaml 2、
  requirements.txt 1(保持纯 ASCII)。
- skills 7 站点:task-worktree(含 [SUMMARY] 样例两行)、mem-budget、ui-verify、
  task_worktree.py 的实跑标签。
- AGENTS.md 3 站点:CI 段「只跑静态门禁 + 主机侧纯逻辑单测」、自查命令段、
  「2026-10-11 静态门禁全灭」事件名。
- 归档:编号治理历史.md 新增 §10 换算表 + **撞族警示**(同形 L0/L1/L2/L3 还属 UI 设计
  令牌层 / UI 菜单层级 / 采集链 / 链路时延段 / CubeMX 三层 / 硬件位号与 FTP 应答字面量
  等六个族,其中 6 处在字符串字面量里,改了就是改行为——故全程只按行内置换、先判族)。
- docs/产品需求 §7.4 测试分层表:去号 + 顺带修掉上一批**错族替换疤**(该表 L1/L2 行曾被
  采集链层名「语义取数与有效性 / 全周傅氏相量」「保护判据」顶替,现按内容改写为板端测试
  套件 / 主机侧回归两行)。同文档 §1.5 G5 判据行同步。

门禁:ci_local --help 两面旗标并列;py_compile 7 个 .py 全过;yaml 解析通过;
check_ids_new --worktree rc=0;git diff --check 干净;17 个改动文件 FFFD=0、无 CR、
BOM 与原文件一致(含 requirements.txt 纯 ASCII)。本族无机器识别面(单字母+数字是
新增行门禁的自述盲区),口径来自自建逐行扫描器,复扫本族形态归零。
- 交接说明:文档道 teammate 在改 CI 指南时中断,剩余 9 处双写疤与 29 处 CI 标识
  (job id / 日志名 / 汇总行字面量)由 Lead 接手改完,逐处仍走断言式行内置换。
This commit is contained in:
2026-10-28 17:46:52 +08:00
parent b3336ab0c3
commit 842d711ed6
21 changed files with 199 additions and 160 deletions
@@ -23,6 +23,7 @@
- `§9` 三批计划(按「值不值得动门禁」排序)
- `§9` 别再做什么
- `§9` 批次五换算表:「数据可信」任务卡号(2026-10-27 整族清退)
- `§10` 批次六换算表:测试验证层级号(2026-10-28 整族清退)
---
@@ -277,6 +278,44 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
---
## 10. 批次六换算表:测试验证层级号(2026-10-28 整族清退)
用户裁定:「我不想看到编号」→ 测试验证层级的 `L0 / L0a / L0b / L0c / L0.5 / L0.5c / L1 / L2 / L3` 整族停用,
活文档、代码注释、CI 步骤名、门禁输出标签一律改语义名。**只有 CI 与门禁输出需要一个 ASCII 段名**(日志与命令行
要纯 ASCII,中文进 PowerShell 汇总行会有代码页风险),它不是编号、是可读的英文段名。
| 旧层级号 | 语义名(文档 / CI 步骤名 / 表格) | ASCII 段名(`[SUMMARY]` 标签、CI job id、日志文件名、命令行旗标) |
|---|---|---|
| `L0` | 静态门禁 | `static`(job `static-gates`、`static-pre-commit.log`、旗标 `--static-only`) |
| `L0a` | 钩子解释器预检 | `preflight`(`--preflight-only`;无 `[SUMMARY]` 行,只在收尾「已跑:」列表里出现) |
| `L0b` | 提交信息门禁 | `commitmsg`(`[SUMMARY] gitlint:` 这个既有标签不改,与层级号无关) |
| `L0c` | 体积门禁 | `size`(`--size-only`、`[SUMMARY] size-gate:` 保持不变) |
| `L0.5` | 主机侧纯逻辑单测 | `host-unit`(job `host-unit-tests`、`host-unit-<模块>.log`、`--host-unit-only`) |
| `L0.5c` | 主机单测覆盖率 | `coverage`(`--coverage`,opt-in) |
| `L1` | 板端测试套件 | 无(只出现在文档,从不进日志) |
| `L2` | 主机侧回归 | 无 |
| `L3` | 人工目检 | 无 |
**旧旗标保留为别名**:`scripts/ci_local.py --l0-only` / `--l05-only` 仍可用(argparse 双选项名),肌肉记忆与既有脚本片段不断档;文档与新写的命令一律用新旗标。
### 10.1 撞族警示——同形字面量还属于另外六个族,读旧文先判族
这一族清掉**不等于**仓库里的 `L0`/`L1`/`L2`/`L3` 都消失了。同形形态仍属这些族,各自另有口径:
- **UI 设计令牌层**:`Drivers/BSP/UI/ui_tokens.h` 的「设计令牌层 L0」——层级架构名,**保留**。
- **UI 菜单层级**:`L0~L3` 已于批次三a 改「主界面 / 一级 / 二级 / 三级菜单」,`docs/产品需求/产品需求设计文档.md` 尚有 2 处残留待清。
- **采集链分层**:批次一已整族改语义层名(语义取数与有效性 → 标定折算 → 全周傅氏相量 → 测频与遥测快照 → 保护判据 → 出口与记录 → 动作留痕)。
- **链路时延分段**:批次三b 改为中文段名 + ASCII 短码(`SPI_CMD` 等 11 个);`test/board/` 仍有残留待清。
- **CubeMX 防丢失三层优先级**:批次三c 改为「写进 `.ioc` / 搬进 USER CODE 区 / 审计兜底」。
- **硬件位号与封装尺寸**:磁珠电感位号 `L1`/`L2`/`L3`、封装 `SOT-23_L2.9-W1.3`、`CRYSTAL-L3.2`,以及 FTP 应答 `"215 UNIX Type: L8"` 这类**协议字符串字面量**——永不改(改了就是改行为)。
> 这就是 AGENTS「绝不全局查找替换」那条的又一次实测:本族改名如果按裸形 `L1` 全局替换,会顺手把上面六个族的
> 字面量一起改掉,其中 6 处直接改到 C 断言文案与 FTP 应答。**每一步都要先判族再改,且只按行内置换。**
### 10.2 读史口径
历史文档、变更记录行、提交信息、`.gitea` 历史 run 里出现的 `L0`/`L0.5` 一律按本表换算来读;不要拿它们当"现行名"去搜代码或 CI(现行 CI 里搜 `L0` 只会命中别的族)。本表所在目录不参与编号门禁(`check_ids_new.py` 排除 `scripts/archive/`)。
## 变更记录(2026-10-28 瘦身以前的全量流水)
| 日期 | 变更 | 说明 |