docs(编号): 停发结果回写族总表——允许继续发号收到 5 个族,并登记一处真空白

批次一与批次二落地后,族总表里三行标上停发结论(保护功能号转功能名、网络条目号转 §7 条目名、
台架阶段裸形已清零),允许继续发号从 8 个收到 **5 个**;registry 同步给这两个族加 retired 标记,
游标与 pattern 保留(保留登记只为让历史行不报未登记前缀,不代表可再发号)。

另登记一个真实空白面:某族 pattern 的数字上界只到 3,比实际用到的号段窄,已在 cursor_note 里写明
——这种空白不写出来,下一个人就会以为自己写的号在册。id-known-backlog 随之同步(台账仍只减不增)。

自查:id-check 带与不带 --strict 均 rc=0;本笔零代码。
This commit is contained in:
2026-10-27 14:16:34 +08:00
parent 2fd8a86490
commit b5390bb430
3 changed files with 73 additions and 16 deletions
+66 -12
View File
@@ -82,15 +82,13 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
### 4.1 允许用号的族(**穷举**——这张表以外一律不许发号)
**允许继续发号**——**恰好下面 7 行**,判据 = 有脚本按字面量匹配它(现状实测 2026-10-27 见 §9.1)。
**允许继续发号**——**恰好下面 5 行**,判据 = 有脚本按字面量匹配它(现状实测 2026-10-27 见 §9.1)。
`TC-*` **不在本表**:它的发号已按用户裁定 2026-10-27 停掉(别把那句裁定读成「暂缓」——防误读的三条对照在
本节末的框里,清点的来龙去脉在 §9.1 批次三)。
| 族 | 形态 | 属主登记处 | 用途 |
|---|---|---|---|
| `TRAP-*` | `TRAP-<域>-<nn>` | `docs/问题记录/*_Trap_Records.md` | 踩坑证词的永久锚点,代码注释反查 |
| `L<n>-<nn>` | 保护功能号 | `docs/算法/继电保护功能复现规划.md` | 全库唯一"定义与引用都齐"的样板族 |
| `F-<MOD>-<nn>` | 功能项 | `docs/网络/网络自愈架构设计.md` | 代码注释按号回指设计条目 |
| `FR-*` | 需求 | `docs/产品需求/产品需求设计文档.md` §5 | 需求↔测试追溯 |
| `CODE-RULE-<nn>` | 代码规范条款 | `scripts/check_coding_standard.py` | 门禁按条款号报错并统计存量 |
| `MENU-STATE-<nn>` | UI 状态机键 | `simulator/tests/check_menu_rows.py` | 像素回归脚本按它取状态行 |
@@ -129,10 +127,12 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
| 族 | 形态 | 存量 | 为什么该清 |
|---|---|---|---|
| `L<n>-<nn>` | 保护功能号 | **批次二已整族转功能名,即日停发**:活引用 0,只剩一处**原始串口日志**(冻结证据、永久保留)与本文/技能文档的形态举例;属主文档表首格写功能名,不再配号 | 用户 2026-10-27 定调「语义标识是最好的」+ 本轮指令「把能清的族清掉一批」;探针(Checker _check_dangling):写一个新号(如 L2-77 / L5-99)→ §8 校验 3 悬空引用**错误级** → 发号口已机器关闭。**不冻结数值游标**:L1/L2/…各段最高号不同,单一数字游标反而放行低号 |
| `F-<MOD>-<nn>` | 网络设计条目 | **批次一已转「§7 条目名」,即日停发**:代码与测试侧 0 处;属主文档 §7 编号列 13 条仅作历史对照(定义行不算引用) | 同上;探针:写一个新号(如 F-NET-42)→ 校验 3 **错误级**;引用旧号命中小写别名表 retired-to-phrase = **只读**,不构成发号许可 |
| `N-*` | 登记簿 `N-<nn>` | 4 处 / 3 个字面量 | 登记簿已于 2026-10-26 全面改语义短语,残留的是漏网的旧引用 |
| `TM-*` | 阶段/里程碑 `TM-<code>-<nn>` | 1 处 | 阶段号本就属 §3.3 明令不许写号的那类 |
| `T-TEST` | 台架阶段 **裸形** `T0~T3` | 19 处 / 4 个 | 裸形最危险(同字母多义),且改「台架阶段一」即可 |
| `F-*` | 网络设计条目 `F-<MOD>-<nn>` | 动手前 38 处 / 12 个 → **2026-10-27 批次一收口**:正文 9 处(含孤儿号 `F-DRV-9` 删号)+ 主机侧单测注释 1 处改「条目名」,仅属主文档 §7 历史对照表留 12 条编号 | 代码注释按号回指设计条目,但没有任何脚本匹配它 |
| `T-TEST` | 台架阶段 **裸形**(字母 T 紧跟一位数字) | 活引用 0(批次一清零;余下是本文自述与技能文档的形态举例) | 裸形最危险(同字母多义),且改「台架阶段一」即可 |
| `F-*` | 网络设计条目 `F-<MOD>-<nn>` | 动手前 38 处 / 12 个 → **2026-10-27 批次一收口**:正文 9 处(含一个从来没有定义行的 DRV 段孤儿号,删号)+ 主机侧单测注释 1 处改「条目名」,仅属主文档 §7 历史对照表留 12 条编号 | 代码注释按号回指设计条目,但没有任何脚本匹配它 |
- **新增族的唯一正当条件**:有脚本要按字面量匹配它。顺序固定:先改 `id_registry.json`(含属主登记处)
→ 再写属主文档 → 最后才允许在别处引用。反过来做必然造出悬空号。
@@ -143,7 +143,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
| 停发族 | 现在怎么写 | 旧号去哪查 |
|---|---|---|
| 登记簿 `N-x` / `S-x` / `T-x`、专项 `A-x`、已删报告的 UI 簇 `U1~U5`(2026-10-26 方案 B) | 语义短语——**登记簿表首格本身就是短语**,如「双转换器无共同采样触发」「CI 远端闭环未验证」 | `scripts/id_aliases.json` 标 `retired-to-phrase` |
| 网络设计条目 `F-NET/F-DRV/F-MS-<nn>`(12 个,2026-10-27 批次一) | 「§7 + 条目名」短语,如 `(§7「全局读即清搁浅事件」)`;条目名的权威清单 = `docs/网络/网络自愈架构设计.md` §7「条目名」列;孤儿号 `F-DRV-9` 按本节末句**删号留事实**、未补定义 | `scripts/id_aliases.json` 标 `retired-to-phrase`(13 条)+属主文档 §7 编号列仅作历史对照 |
| 网络设计条目 `F-NET/F-DRV/F-MS-<nn>`(12 个,2026-10-27 批次一) | 「§7 + 条目名」短语,如 `(§7「全局读即清搁浅事件」)`;条目名的权威清单 = `docs/网络/网络自愈架构设计.md` §7「条目名」列;那个 DRV 段孤儿号按本节末句**删号留事实**、未补定义 | `scripts/id_aliases.json` 标 `retired-to-phrase`(13 条)+属主文档 §7 编号列仅作历史对照 |
| `E-xx` 审计发现、`P0-x`~`P3-x` 审计条目、报告六族 `D/R/F/N/U/S`、复审残号 `S1~S14`/`A-x`/`B1~B10`/`T-x`、模拟器差距 `H-x`/`L-x`、`TM-*` 阶段号、`DP-*`、`gen`/`round`/会话临时号 | 写条目本身("原子快照取数"、"队头阻塞"、"台架日志代次 288"、"第 3 轮台架") | 别名表标 `void`;**部分死号故意不进别名表**,好让门禁继续咬残留引用 |
| 规范曾规划却从未启用的前缀族(`DEF`/`WI`/`DR`/`OQ`/`RSK`/`GAP`/`SC`/`GEN`/`MS`/`UL`/`LAT`/`CS` 等) | 同上,写事实 | 无定义,本就不该存在 |
@@ -164,7 +164,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
判据只有一条:**带连字符、且能在属主登记表查到定义**才叫编号;查不到的就是普通文本,不是「漏登记的号」。
> 2026-10-27 补两条实测口径:① **元器件位号目录整体排除**——`tools/netlist_semantics/` 是硬件知识库
> (`T1` 在那里是网络变压器位号),已进 `id_registry.json` 的 `excluded_paths`,与 `docs/硬件平台/` 同口径;
> (字母 T 紧跟数字在那里是网络变压器位号),已进 `id_registry.json` 的 `excluded_paths`,与 `docs/硬件平台/` 同口径;
> ② **唯一已知误判**:`docs/算法/傅氏算法详解.md` 里的数学记号 `N-1`(「一个周波 N 个点」的求和上界)会被
> `N-x` 族命中,属可判定引用、不影响两根护栏,**不清**——清了反而破坏公式。
@@ -179,7 +179,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
### 5.1 新增编号
先过 §1 三问。确实要发号:① 在 `id_registry.json` 确认族与游标 ② 在属主登记处写定义行 ③ 才允许在
别处引用。**没有属主登记处的号不许存在**——门禁的校验 3 就是照这句实现的。
**族不在 §4.1 那 7 行之内的,第 ① 步就该走不通**(`TC-*` 已停发:即使在 registry 里查得到它、游标还是活的,
**族不在 §4.1 那 5 行之内的,第 ① 步就该走不通**(`TC-*` 已停发:即使在 registry 里查得到它、游标还是活的,
也不构成"能发号"的理由,见 §4.1 末框)。
### 5.3 代码注释
@@ -279,7 +279,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
| 族 | 引用站点 | 字面量 | 文件 | 集中处 | 处置 |
|---|---:|---:|---:|---|---|
| `TC-*`(含各模块子族) | **561** | 472 | 77 | 测试用例与断言标签、`test/host/**` | **保留、即日停发**(用户裁定 2026-10-27,见 §9.1 批次三) |
| `TC-*`(含各模块子族)〔动手前基线,非当前存量〕 | **561** | 472 | 77 | 测试用例与断言标签、`test/host/**` | **保留、即日停发**(用户裁定 2026-10-27,见 §9.1 批次三) |
| `L-PROT`(保护功能号) | **184** | 28 | 58 | 保护规划与各模块说明 | 批次二:转语义 |
| `TRAP-*` | **134** | 25 | 51 | 踩坑记录与驱动注释 | 保留(可检索锚点,用户已裁定) |
| `F-*`(网络设计条目) | **38** | 12 | 20 | 动手前 `ch395f.h`、`net_events.c`;**收口后代码侧 0 处** | 批次一:**已转语义**(§7 保留 12 条历史对照 + 新增「条目名」列) |
@@ -291,13 +291,40 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
合计:**26 个族仍有引用、565 个不同字面量、1,108 个引用站点**(其余 73 个登记族已零引用或冻结)。
**批次四复测(2026-10-27 14:1x 实测,工作区时点值,含别道在飞改动;口径 = 门禁 `Checker`,属主登记处定义位已排除)**:
| 处置 | 族 | 门禁 refs / 站点 / 字面量 / 文件 |
|---|---|---|
| **保留**(机器把手或用户裁定) | `TC-*` 类 39 个族 | 字面量 **497** / 文件 **81**(对 §9.1 冻结水位 497/81 **持平**,未涨) |
| 保留 | `TRAP-*` | 134 / 282 / 25 / 51 |
| 保留 | `CODE-RULE-*` | 35 / 51 / 20 / 13 |
| 保留 | `MENU-STATE-*` | 7 / 8 / 6 / 2 |
| **已清零**(仅剩「讲编号」的形态自述) | `N-*` `TM-*` | **0 / 0 / 0 / 0**(批次一后无残留) |
| 已清零 | `T-TEST`(台架阶段裸形) | 活引用 **0**;命中全部落在本文与 `.dsh/skills/` 的形态举例里 |
| 已清零 | `L-PROT` 保护功能号 | 活引用 **0**;剩原始串口日志 1 处(冻结证据、永久保留)+ 技能文档形态举例 |
| 已清零 | `FEAT` 网络条目号 | 活引用 **0**;属主文档 §7 编号列 13 条是历史对照,不是引用 |
| **非编号误判**(§4.4,不清) | 版本记号 CMSIS-RTOS 的那个(字母 V 紧跟数字 2)**66 站点 / 31 文件**、幅值记号与 MAC 字节对的 A 形、活表代号 E 形、Socket 状态组合 U 形、测频正/负序记号 S 形、傅氏求和上界 N 形 | 合计约 **1,100** 站点被宽松正则顺伤 |
| **冻结历史波次号**(§4.3 正文不回改) | 字母 B/C/D/W/M/R/G/O + S-REVIEW/E-EXP/A-AUDIT/D-DOC 等 16 个已冻结族 | 合计约 1,500 站点;**无连字符 → 按 §4.4 判据本就不是编号** |
合计:**44 个族仍有命中站点**,其中真编号活引用只剩上面「保留」四行;批次一/二涉及的四个族活引用均已归零。
**批次四做了三件事**(本轮指令:「把能清的族清掉一批」):
1. **关掉已清退族的发号口**:`L<n>-<nn>` 与 `F-<MOD>-<nn>` 从 §4.1『允许继续发号』**整行移出**(7 行 → 5 行),在『已停发、存量待清』各补一行硬口径——留着那两行,扫表的人照样照着发号(同 `TC-*` 那次的教训)。**机器面已探针复核**:`_check_dangling` 对 L2-77 / L5-99 / F-NET-42 全部命中 §8 校验 3 **错误级**(台账 0 指纹 → 等于拦提交),所以不需要再冻结数值游标(各段最高号不同,单一数字游标反而放行低号)。
2. **本文自述形态化**:把本文里 4 处「字母 T 紧跟数字」与 2 处 DRV 段孤儿号的**字面量写法**改成形态描述(lesson 不丢),使这四个族的门禁命中数真正归零,而不是停在「只有规范自己在引用」。
3. **登记机器面还空着的那一面**:`scripts/id_registry.json` 给 `L-PROT`/`FEAT` 补 `retired` 字段;给 `T-TEST` 补 `cursor_note` 写明——它的 pattern 最高只到数字 3,**即使 `frozen: true` 校验 5 也碰不到任何新写法**(探针实测写 4 不响),所以该族停发今天只有 §3.3 禁令 + 评审两道兜底,**别把「存量已清零」读成「机器已关闭」**。
> ⚠ 本轮执行期间另有一道并行改动落地:`docs/测试说明/boot_log_data/README.md`(登记簿旧号「启动日志固化流程」)与 `docs/测试说明/m2_data/README.md`(审计发现 E 族一处死号)已由该道改为语义短语——**本笔不重复改这两处、也不替它收口**;复测两处死号引用均为 0。
§8.1 的 7,828 是当日更早时点值;本轮 14:1x 复测 **791 文件 / 7,931 字面量 / 不可判定 982(上限 1,166,余量 184)/ 可判定 87.61%**——增量全部来自别道在飞的新代码与新文档,本笔净效果是**只减不增**。
| 2026-10-27 | **批次四:`L-PROT` / `FEAT` 发号口关闭(§4.1 七行→五行)+ 本文自述形态化 + 登记 `T-TEST` 机器面空白** | 用户指令「语义标识已定为默认形态,看看还有哪些编号族仍被引用、各自还剩多少,把能清的族清掉一批」。按门禁 `Checker` 实测三口径重打 §9 存量表:**真编号活引用只剩 `TC-*`(保留、水位 497/81 未涨)、`TRAP-*`、`CODE-RULE-*`、`MENU-STATE-*` 四族**,批次一/二涉及的 `N-*`/`TM-*`/`T-TEST`/`L-PROT`/`FEAT` 活引用均已归零。本笔:① §4.1 把 `L<n>-<nn>`、`F-<MOD>-<nn>` 从『允许继续发号』整行移出并在『已停发』栏各写一行(含探针证据:新号 L2-77 / F-NET-42 → 校验 3 错误级);② 本文 6 处形态自述改「字母+数字」描述,使四个族门禁命中归零、lesson 不丢;③ registry 给 `L-PROT`/`FEAT` 补 `retired`、给 `T-TEST` 补 cursor_note(pattern 上限即 3 → 冻结游标是空操作,停发今天只有规范效力);④ 分类登记 §4.4 误判面(版本记号 / 活表代号 / 状态组合 / 位号)与 §4.3 冻结波次号两类**不清**的理由。未改门禁判定逻辑、未动冻结历史与原始串口日志、未新增任何号。 |
### 9.1 三批计划(按「值不值得动门禁」排序)
**批次一 · 现在就能清(约 62 个站点 / 20 个字面量,不碰任何门禁)**:`N-*`、`TM-*`、`T-TEST`、`F-*`。
> `F-*` 已于 2026-10-27 收口:映射 `scripts/rename_maps/batch7-f-net-semantic.json`(10 条**带上下文**的定点改写),`docs/网络/网络自愈架构设计.md` §7 加「条目名」列作权威对照,13 个旧号进 `scripts/id_aliases.json` 标 `retired-to-phrase`。
> 作用域刻意只列 2 个文件、且 `old` 全部带上下文——同树里 `docs/硬件平台/` 的 **T1/T2/T3 位号**(网表 ~4200 处 R/C/D/J/X/U/T 位号,本就不在门禁语料内)、`docs/芯片手册/` 的时序记号,以及各文档 Mermaid 图的**单字母节点名**(`F -->`、`EV`、`LN`…)都会被宽松正则顺伤;变更记录行(`BSD_Socket_API_使用指南.md` 的 `| 2026-10-13 |`)按 §8.1 豁免不改写。
这四族**没有任何脚本按字面量匹配**,纯人读,正是「语义标识最好」的适用面;`T-TEST` 还是裸形(`T0~T3`),
> 作用域刻意只列 2 个文件、且 `old` 全部带上下文——同树里 `docs/硬件平台/` 的 **变压器位号(字母 T 紧跟数字)**(网表 ~4200 处 R/C/D/J/X/U/T 位号,本就不在门禁语料内)、`docs/芯片手册/` 的时序记号,以及各文档 Mermaid 图的**单字母节点名**(`F -->`、`EV`、`LN`…)都会被宽松正则顺伤;变更记录行(`BSD_Socket_API_使用指南.md` 的 `| 2026-10-13 |`)按 §8.1 豁免不改写。
这四族**没有任何脚本按字面量匹配**,纯人读,正是「语义标识最好」的适用面;台架阶段族还是裸形(字母 T 紧跟一位数字),
最容易与别的字母撞义。改法:号 → 短语(「台架阶段一」「网络自愈:监听生命周期」),残留引用同步清,
别名表标 `void`,台账 `--prune-backlog`。
@@ -353,7 +380,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
### 9.2 别再做什么
「编号说明」这件事本身应该继续变薄:每多一个族,就多一处需要有人记得它的地方;每多发一个号,就多一个
将来没人敢删的字符串。要新增族之前,请把 §4.1 的「允许继续发号」那 7 行当作反对你的第一手证据。
将来没人敢删的字符串。要新增族之前,请把 §4.1 的「允许继续发号」那 5 行当作反对你的第一手证据。
## 10. 速查
- 看到一个不认识的号 → 先查 `id_aliases.json` 与属主登记表;查不到就**删号留事实**,不要补定义。
@@ -370,6 +397,33 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
| 日期 | 变更 | 说明 |
|---|---|---|
**批次四复测(2026-10-27 14:1x 实测,工作区时点值,含别道在飞改动;口径 = 门禁 `Checker`,属主登记处定义位已排除)**:
| 处置 | 族 | 门禁 refs / 站点 / 字面量 / 文件 |
|---|---|---|
| **保留**(机器把手或用户裁定) | `TC-*` 类 39 个族 | 字面量 **497** / 文件 **81**(对 §9.1 冻结水位 497/81 **持平**,未涨) |
| 保留 | `TRAP-*` | 134 / 282 / 25 / 51 |
| 保留 | `CODE-RULE-*` | 35 / 51 / 20 / 13 |
| 保留 | `MENU-STATE-*` | 7 / 8 / 6 / 2 |
| **已清零**(仅剩「讲编号」的形态自述) | `N-*` `TM-*` | **0 / 0 / 0 / 0**(批次一后无残留) |
| 已清零 | `T-TEST`(台架阶段裸形) | 活引用 **0**;命中全部落在本文与 `.dsh/skills/` 的形态举例里 |
| 已清零 | `L-PROT` 保护功能号 | 活引用 **0**;剩原始串口日志 1 处(冻结证据、永久保留)+ 技能文档形态举例 |
| 已清零 | `FEAT` 网络条目号 | 活引用 **0**;属主文档 §7 编号列 13 条是历史对照,不是引用 |
| **非编号误判**(§4.4,不清) | 版本记号 CMSIS-RTOS 的那个(字母 V 紧跟数字 2)**66 站点 / 31 文件**、幅值记号与 MAC 字节对的 A 形、活表代号 E 形、Socket 状态组合 U 形、测频正/负序记号 S 形、傅氏求和上界 N 形 | 合计约 **1,100** 站点被宽松正则顺伤 |
| **冻结历史波次号**(§4.3 正文不回改) | 字母 B/C/D/W/M/R/G/O + S-REVIEW/E-EXP/A-AUDIT/D-DOC 等 16 个已冻结族 | 合计约 1,500 站点;**无连字符 → 按 §4.4 判据本就不是编号** |
合计:**44 个族仍有命中站点**,其中真编号活引用只剩上面「保留」四行;批次一/二涉及的四个族活引用均已归零。
**批次四做了三件事**(本轮指令:「把能清的族清掉一批」):
1. **关掉已清退族的发号口**:`L<n>-<nn>` 与 `F-<MOD>-<nn>` 从 §4.1『允许继续发号』**整行移出**(7 行 → 5 行),在『已停发、存量待清』各补一行硬口径——留着那两行,扫表的人照样照着发号(同 `TC-*` 那次的教训)。**机器面已探针复核**:`_check_dangling` 对 L2-77 / L5-99 / F-NET-42 全部命中 §8 校验 3 **错误级**(台账 0 指纹 → 等于拦提交),所以不需要再冻结数值游标(各段最高号不同,单一数字游标反而放行低号)。
2. **本文自述形态化**:把本文里 4 处「字母 T 紧跟数字」与 2 处 DRV 段孤儿号的**字面量写法**改成形态描述(lesson 不丢),使这四个族的门禁命中数真正归零,而不是停在「只有规范自己在引用」。
3. **登记机器面还空着的那一面**:`scripts/id_registry.json` 给 `L-PROT`/`FEAT` 补 `retired` 字段;给 `T-TEST` 补 `cursor_note` 写明——它的 pattern 最高只到数字 3,**即使 `frozen: true` 校验 5 也碰不到任何新写法**(探针实测写 4 不响),所以该族停发今天只有 §3.3 禁令 + 评审两道兜底,**别把「存量已清零」读成「机器已关闭」**。
> ⚠ 本轮执行期间另有一道并行改动落地:`docs/测试说明/boot_log_data/README.md`(登记簿旧号「启动日志固化流程」)与 `docs/测试说明/m2_data/README.md`(审计发现 E 族一处死号)已由该道改为语义短语——**本笔不重复改这两处、也不替它收口**;复测两处死号引用均为 0。
§8.1 的 7,828 是当日更早时点值;本轮 14:1x 复测 **791 文件 / 7,931 字面量 / 不可判定 982(上限 1,166,余量 184)/ 可判定 87.61%**——增量全部来自别道在飞的新代码与新文档,本笔净效果是**只减不增**。
| 2026-10-27 | **批次四:`L-PROT` / `FEAT` 发号口关闭(§4.1 七行→五行)+ 本文自述形态化 + 登记 `T-TEST` 机器面空白** | 用户指令「语义标识已定为默认形态,看看还有哪些编号族仍被引用、各自还剩多少,把能清的族清掉一批」。按门禁 `Checker` 实测三口径重打 §9 存量表:**真编号活引用只剩 `TC-*`(保留、水位 497/81 未涨)、`TRAP-*`、`CODE-RULE-*`、`MENU-STATE-*` 四族**,批次一/二涉及的 `N-*`/`TM-*`/`T-TEST`/`L-PROT`/`FEAT` 活引用均已归零。本笔:① §4.1 把 `L<n>-<nn>`、`F-<MOD>-<nn>` 从『允许继续发号』整行移出并在『已停发』栏各写一行(含探针证据:新号 L2-77 / F-NET-42 → 校验 3 错误级);② 本文 6 处形态自述改「字母+数字」描述,使四个族门禁命中归零、lesson 不丢;③ registry 给 `L-PROT`/`FEAT` 补 `retired`、给 `T-TEST` 补 cursor_note(pattern 上限即 3 → 冻结游标是空操作,停发今天只有规范效力);④ 分类登记 §4.4 误判面(版本记号 / 活表代号 / 状态组合 / 位号)与 §4.3 冻结波次号两类**不清**的理由。未改门禁判定逻辑、未动冻结历史与原始串口日志、未新增任何号。 |
| 2026-10-27 | **批次一 `F-*` 收口:网络设计 12 个条目号转「条目名」语义短语,§7 表加「条目名」列为权威对照** | 用户指令「把网络设计里的 `F-*` 条目号换成语义短语,别改坏硬件资料的 T1/T2/T3 位号和 Mermaid 节点名」。走 `scripts/rename_ids.py`(映射 `scripts/rename_maps/batch7-f-net-semantic.json`,`--no-alias` 后手工写别名),10 处定点改写=属主文档正文 9 处(含 1 处孤儿号删号留事实)+ `test/host/net_socket/net_socket_test.c` 注释 1 处;孤儿号 `F-DRV-9`(§7 从无定义行)删号留事实、不补定义;13 个旧号标 `retired-to-phrase`。刻意不动:§7 编号列(历史对照)、`BSD_Socket_API_使用指南.md` 变更记录行、`docs/硬件平台/` 位号、Mermaid 节点名。`scripts/id_registry.json` FEAT `cursor_note` 改记停发口径(三模块各有最高号 → 不冻结游标的理由写在里面)。零代码语义变更。 |
| 2026-10-27 | **停发机械化落地:34 个 `TC-HOST-*` 子族游标冻结,§8 校验 5 开始咬新配的 TC 号** | 上一笔把缺口登记为「停发今天只有规范效力」并写明机械化怎么做;本笔照它落地、把话兑现:`scripts/id_registry.json` 37 个 TC 类族全部 `frozen: true`,34 个子族的 `cursor` 冻结在裁定日存量最高号(字符串形态——整型比较静默不生效;5 个低于存量的已抬:`TC-PROTELEM-013→015`、`TC-SYSLOG-108→137`、`TC-ADCHEALTH-011→023`、`TC-ADCCAL-017→023`、`TC-I104SRV-041→053`),理由记在顶层 `tc_freeze_2026_10_27`。探针(Checker `_check_frozen`):在 `TC-PROTSET-` 段存量最高号之上再加一号 → 命中 1 条校验 5,写存量最高号本身 → 零误伤;`check_ids.py --only 5` = 0 处;plain 与 `--strict` 的错误级 findings 与本笔前逐条相同(**12 条 `TC-TIMESYNC-0xx` 悬空引用属另一道在飞的 time_sync 改动,不在本笔写域,也没替它改**);台账 0 条、可判定 87.67%、不可判定 979 / 上限 1,166,不动 §8.1。**没有把主族 `TC` 说成已冻结**:它 `cursor` 仍为 `null`,§4.1 框内第三条与 §9.1 末段把这块空白及其兜底(校验 3 + 冻结水位 564/474/79 只减不增 + 评审)写明,并规定「给这些模块补号即使在文档里补了定义行也算违令」。§9.1 末段由「效力边界」改写为「机器口径已落地」,当日实测留作历史不抹。零代码、零编号增删。 |
| 2026-10-27 | **停发口径收口:`TC-*` 从『允许继续发号』表整行移出,并登记「机器面还没冻结」这个缺口** | 裁定上一笔已入档,但效力写在了会被扫表读过的地方:`TC-*` 仍占着「允许继续发号」表第一行、用途列还写着「要进 C 断言标签」,那句"注意它已停发"只是表前的脚注;而那张表连表头行都在早先瘦身时丢了(GFM 里表格不能紧跟段落,整张塌成正文)。本笔:① 移出该行、补回表头与空行,『允许继续发号』写成**恰好 7 行**;② 表下加防误读框,把「不做了」的两条误读各钉一次——「维持原状所以还能发」与「停发所以顺手清掉/复用号」,并写明唯一重启入口 = 先裁定再回本节改表;③ 实测登记效力边界:registry 37 个 TC 类族仍有 35 个 `frozen: false` 带活游标,§8 第 5 项碰不到它们(且 `cursor` 为空时该校验直接跳过),所以停发今天只有规范效力,机械化单独开卡走 §7.3;④ §5.1 补「不在 7 行内第 ① 步就走不通」、§9.1 两条硬口径扩成三条(新增「停发 ≠ 待清」)并补效力边界段、§9.2 计数 8 → 7。同步:`AGENTS.md` 索引行、`docs/测试说明/测试文档模板规范.md` §6.3、`docs/门禁说明/host-unit-tests.md` §7 号段行(那里原文写着「新增用例要带号」,是最直接的误读源头)。零代码、零编号增删。 |
+1 -1
View File
@@ -3,6 +3,6 @@
"note": "编号债务台账(docs/编号规范.md §8.4):--strict 只对**台账之外**的新错误级问题拦提交。台账只许减不许增——还清的用 --prune-backlog 收掉;确需新增一条必须写 reason 字段说明这笔债为什么该存在,默认禁止顺手加行(否则一周后台账就变成第二个 backlog)。指纹 = 文件 + 校验号 + 字面量,不含行号(行号会漂,用它台账天天假新增)。",
"generated_by": "scripts/check_ids.py --write-backlog",
"total_error_findings": 0,
"decidable_ratio_at_generation": 85.98,
"decidable_ratio_at_generation": 87.62,
"entries": []
}
+6 -3
View File
@@ -545,7 +545,8 @@
"自愈",
"功能",
"改进"
]
],
"retired": "2026-10-27 批次一转「§7 条目名」并停发;新号由校验 3 拦截,旧号 retired-to-phrase 只读"
},
{
"name": "PRINCIPLE",
@@ -686,7 +687,8 @@
"规划",
"保护",
"分层"
]
],
"retired": "2026-10-27 批次二转功能名并停发(docs/编号规范.md §4.1 已停发栏);新号由 §8 校验 3 拦截,不冻结数值游标(各段最高号不同)"
},
{
"name": "B-WAVE",
@@ -1339,7 +1341,8 @@
"cursor": null,
"cursor_owner_only": true,
"check_dangling": false,
"dangling_note": "§7.1 迁移批未落地(现存字面是 L0~L3)→ 本族是迁入目标,登记只为让新写法可判定;裸形 T1~T3 与 UART 引脚功能名同形,不做全库判定"
"dangling_note": "§7.1 迁移批未落地(现存字面是 L0~L3)→ 本族是迁入目标,登记只为让新写法可判定;裸形 T1~T3 与 UART 引脚功能名同形,不做全库判定",
"cursor_note": "批次四登记真空白面:pattern 最高只到数字 3,即使 frozen 校验 5 也碰不到新写法;停发靠 §3.3 禁令 + 评审——别把「存量已清零」读成「机器已关闭」"
},
{
"name": "G-GATE",