docs(规约): 删除编号规范.md,生效规则并入文档规范 §7.1
用户裁定:docs/编号规范.md 在项目里已无意义,删除。 依据:该文 253 行里真正仍生效的只有两条规则(新条目一律不发编号、 人读文档存量编号继续清退)和一张存量族表;其余内容早有归属——两道 编号门禁的退役记录在 docs/门禁说明/id-check.md 与 id-check-new.md, 手工普查与恢复机器面在 scripts/archive/id_gate/README.md。留着就是 第二真相源,同一事实写在两处迟早漂移。 处理: - docs/文档规范.md 新增 §7.1「条目与编号:一律不发」,承接规则、 场景表、三条硬规矩、存量族表、已停发旧号族清单、不是编号的清单、 清理动作与「没有机器门禁兜底」四段。 - 活跃引用 62 处逐条改指 §7.1 或归档 README:AGENTS.md 2 处、 门禁说明三篇 18 处、其余文档 11 篇、代码与脚本 10 处、rename_maps 七个 record 字段、.dsh/skills 四个文件 8 处。 - 归档区 107 处去掉 docs/ 前缀当纯文本提及;编号治理历史.md 45 处 改为「原编号规范 §N」,避免被 doc-links 当自引用解析。 - 顺带修正 scripts/archive/id_gate/README.md 里仍称旧文为现行规范 的表述。 门禁:check_doc_links --all --sections-strict 220 篇全通过、无法判定 0; pre-commit 全 Passed。
This commit is contained in:
@@ -20,10 +20,10 @@
|
||||
## 现在用什么
|
||||
|
||||
- **没有现行门禁**:接班的 `id-check-new`(只查新增行、零语料)也在 2026-10-29 被用户裁定退役,
|
||||
脚本进本目录。编号形态此后无机器面,判据 = `docs/编号规范.md` §1 的默认答案(2026-10-29 起一律停发)+ §4.1 存量族表 + 评审;
|
||||
脚本进本目录。编号形态此后无机器面,现行判据 = `docs/文档规范.md` §7.1(2026-10-29 起一律停发)+ 评审;
|
||||
留档 `docs/门禁说明/id-check-new.md`(拦下过什么、为什么退、手工怎么再跑)。
|
||||
- **手工普查与恢复机器面**:`docs/编号规范.md` §8.5(退役流水在 `编号治理历史.md`)。
|
||||
- **规范正文**(仍然有效,只是不再全库机械校验):`docs/编号规范.md` §1 默认答案、§4.1 存量族表。
|
||||
- **退役流水与手工普查记录**:`编号治理历史.md`(原编号规范的全部正文已于 2026-11-06 删除,
|
||||
仍生效的两条规则与存量族表并进了 `docs/文档规范.md` §7.1)。
|
||||
|
||||
## 怎么手工跑一次
|
||||
|
||||
@@ -40,4 +40,4 @@
|
||||
- 这两份语料**不再维护**:不要为了让报告变绿去改 `id_registry.json` / `id_aliases.json`。
|
||||
- `scripts/rename_ids.py` 仍会往归档的 `id_aliases.json` 写条目(改名工具没退役)——
|
||||
那是它自己的账,与本目录的"冻结快照"性质不同,改名前先想清楚是否还要记这笔。
|
||||
- 真要恢复全库校验,先读 `docs/编号规范.md` §8.5 再决定,别直接把它塞回钩子。
|
||||
- 真要恢复全库校验,先读 `编号治理历史.md` 再决定,别直接把它塞回钩子。
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
check_ids.py — 编号门禁(docs/编号规范.md §8 的 8 项校验)——**已退役(2026-10-28)**。
|
||||
check_ids.py — 编号门禁(编号规范.md §8 的 8 项校验)——**已退役(2026-10-28)**。
|
||||
|
||||
⚠ 退役说明(先读这段,别把它当活门禁用):
|
||||
本脚本与两份语料(id_registry.json / id_aliases.json)已整体移入 scripts/archive/id_gate/,
|
||||
@@ -9,7 +9,7 @@ check_ids.py — 编号门禁(docs/编号规范.md §8 的 8 项校验)—
|
||||
(钩子 id-check-new:只查新增行、零语料)已于 2026-10-29 一并退役,也进了本目录——
|
||||
**编号形态此后没有机器面**。本脚本保留下来只做一件事:
|
||||
想复查「存量编号现状」时手工跑一遍出报告。
|
||||
手工普查与恢复机器面 → docs/编号规范.md §8.5;两道门禁的留档 → docs/门禁说明/id-check.md
|
||||
手工普查与恢复机器面 → 编号规范.md §8.5;两道门禁的留档 → docs/门禁说明/id-check.md
|
||||
与 docs/门禁说明/id-check-new.md。
|
||||
下面这份 docstring 是退役前的原样,未改,作为历史口径保留。
|
||||
|
||||
@@ -37,7 +37,7 @@ check_ids.py — 编号门禁(docs/编号规范.md §8 的 8 项校验)—
|
||||
构建产物。裸形盲区显式登记在 id_registry.json 的 `unmanaged_bare`,不是「检查通过」。
|
||||
|
||||
上线节奏(§8):默认 **warn-only**(退出码 0);`--strict` 才让校验 1~6 拦提交。
|
||||
第 8 项(两根护栏)自 2026-10-28 起**只报告、不拦提交**(用户裁定);退役路线见 docs/编号规范.md §8.5。
|
||||
第 8 项(两根护栏)自 2026-10-28 起**只报告、不拦提交**(用户裁定);退役路线见 编号规范.md §8.5。
|
||||
|
||||
用法(仓库根):
|
||||
& '.venv\\Scripts\\python.exe' scripts/check_ids.py # warn-only 全库
|
||||
@@ -167,7 +167,7 @@ class Checker(object):
|
||||
f["_full"] = re.compile("^(?:%s)$" % fam["pattern"])
|
||||
f["_owners"] = self._expand_owners(fam)
|
||||
# 定义集属主 ≠ 登记处属主。冻结历史快照族(snapshot_only)的登记处只能挂在
|
||||
# 规范正文(docs/编号规范.md §4.5 那种存档表)时,那张表**是存档不是定义**:
|
||||
# 规范正文(编号规范.md §4.5 那种存档表)时,那张表**是存档不是定义**:
|
||||
# 规范里还混着大量写法示例(`N-99`、`S1`、`N-31`),若进定义集会同时打穿
|
||||
# 裸形判定(`S1` 被判成 `S-1` 的漏连字符,实测 238 条)与撞号判定(§4.5 的
|
||||
# `S-3` 与登记簿 S-3 被判重复定义)。因此只对快照族做这个剔除。
|
||||
@@ -338,7 +338,7 @@ class Checker(object):
|
||||
else:
|
||||
self.add(1, "error", rel, lineno, literal,
|
||||
"未登记前缀:%s(§4.1 / §4.2 总表里没有这一族)" % literal,
|
||||
"归到既有类别;确属新类别先改 docs/编号规范.md §4,再进 registry")
|
||||
"归到既有类别;确属新类别先改 编号规范.md §4,再进 registry")
|
||||
self.stats["undecidable"] += 1
|
||||
continue
|
||||
|
||||
@@ -492,7 +492,7 @@ class Checker(object):
|
||||
self.add(5, "error", rel, lineno, literal,
|
||||
"冻结前缀越游标:%s > %s(%s;§4.3 / §8 校验 5)"
|
||||
% (literal, fam["cursor"], fam["title"]),
|
||||
"该族已封闭,新条目改语义标识(§3.3);确需新号先改 docs/编号规范.md §4")
|
||||
"该族已封闭,新条目改语义标识(§3.3);确需新号先改 编号规范.md §4")
|
||||
|
||||
def _check_dangling(self, rel, lineno, literal, fam):
|
||||
if not fam.get("check_dangling") or not fam["_def_owners"] or rel in fam["_def_owners"]:
|
||||
@@ -631,7 +631,7 @@ class Checker(object):
|
||||
by_code = defaultdict(list)
|
||||
for f in self.findings:
|
||||
by_code[f.code].append(f)
|
||||
print("=== 编号门禁 check_ids.py(docs/编号规范.md §8)===")
|
||||
print("=== 编号门禁 check_ids.py(编号规范.md §8)===")
|
||||
print("扫描 %d 个文件;编号字面量 %d 处(豁免 [示例]/[计划] 行 %d 处、变更记录行 %d 处、"
|
||||
"非编号噪声 %d 处、裸形盲区 %d 处、命中别名表 %d 处)"
|
||||
% (self.stats["files"], self.stats["refs_total"], self.stats["skip_example"],
|
||||
@@ -724,7 +724,7 @@ def load_backlog():
|
||||
def backlog_doc(entries, errs, ratio):
|
||||
return {
|
||||
"schema": 1,
|
||||
"note": ("编号债务台账(docs/编号规范.md §8.4):--strict 只对**台账之外**的新错误级问题拦提交。"
|
||||
"note": ("编号债务台账(编号规范.md §8.4):--strict 只对**台账之外**的新错误级问题拦提交。"
|
||||
"台账只许减不许增——还清的用 --prune-backlog 收掉;确需新增一条必须写 reason 字段"
|
||||
"说明这笔债为什么该存在,默认禁止顺手加行(否则一周后台账就变成第二个 backlog)。"
|
||||
"指纹 = 文件 + 校验号 + 字面量,不含行号(行号会漂,用它台账天天假新增)。"),
|
||||
@@ -737,7 +737,7 @@ def backlog_doc(entries, errs, ratio):
|
||||
|
||||
def main():
|
||||
ap = argparse.ArgumentParser(
|
||||
description="编号门禁:docs/编号规范.md §8 的 8 项校验(默认 warn-only)")
|
||||
description="编号门禁:编号规范.md §8 的 8 项校验(默认 warn-only)")
|
||||
ap.add_argument("--strict", action="store_true",
|
||||
help="增量拦截:台账(scripts/id_known_backlog.json)之外的新错误级问题 → 拦提交")
|
||||
ap.add_argument("--write-backlog", action="store_true",
|
||||
@@ -847,20 +847,20 @@ def main():
|
||||
|
||||
# 两根护栏自 2026-10-28 起转「报告制」(用户裁定):只打印,不影响退出码。
|
||||
# 理由:它们逼着每一笔提交维护 99 族语料(近 80 笔提交有 61 笔被编号体系牵连),
|
||||
# 而真正防回潮的是校验 1~6 的台账外新账。退役路线见 docs/编号规范.md §8.5。
|
||||
# 而真正防回潮的是校验 1~6 的台账外新账。退役路线见 编号规范.md §8.5。
|
||||
base = reg.get("decidable_ratio_baseline")
|
||||
if base is not None and ratio + RATIO_TOL < base and not args.update_baseline:
|
||||
print("\n[报告] 校验 8:可判定比例 %.2f%% 低于记录基线 %.2f%%(容差 %.1fpp)"
|
||||
% (ratio, base, RATIO_TOL))
|
||||
print(" 只报告、不拦提交。想把当前值记成新基线跑 --update-baseline;"
|
||||
"口径见 docs/编号规范.md §8.5")
|
||||
"口径见 编号规范.md §8.5")
|
||||
# 绝对数护栏同样转报告制(2026-10-28):越线只打印,不影响退出码。
|
||||
und_now = ck.stats["refs_total"] - ck.stats["decidable"]
|
||||
ceil_now = reg.get("undecidable_total_ceiling")
|
||||
if ceil_now is not None and und_now > ceil_now and not args.update_baseline:
|
||||
print("\n[报告] 校验 8:不可判定引用绝对数 %d 高于记录上限 %d(只报告、不拦提交)"
|
||||
% (und_now, ceil_now))
|
||||
print(" 清理方向不变:号只该越清越少;口径见 docs/编号规范.md §8.5")
|
||||
print(" 清理方向不变:号只该越清越少;口径见 编号规范.md §8.5")
|
||||
if err_total:
|
||||
if args.strict:
|
||||
led = load_backlog()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"""check_ids_new.py — 编号门禁·新增行(**已退役 2026-10-29,用户裁定**;本脚本降为手工报告工具)
|
||||
|
||||
退役口径:钩子已从 .pre-commit-config.yaml 摘除(YAML 解析条目 52 → 51),编号形态此后
|
||||
**没有机器面**——靠 docs/编号规范.md §1 的默认答案(一律停发)+ 评审。留档说明 → docs/门禁说明/id-check-new.md。
|
||||
**没有机器面**——靠 编号规范.md §1 的默认答案(一律停发)+ 评审。留档说明 → docs/门禁说明/id-check-new.md。
|
||||
本脚本与 check_ids.py(2026-10-28 退役的全库八项校验)同处一档:手工复查「这批改动 / 这段历史
|
||||
里有没有野生编号」时才跑,跑不跑都不影响提交。
|
||||
|
||||
@@ -251,7 +251,7 @@ def main(argv=None):
|
||||
print(" %s:%d %s" % (rel, lineno, tok))
|
||||
if args.verbose:
|
||||
print(" %s" % text)
|
||||
print(" → 语义标识是默认形态:改写成短语(docs/编号规范.md §1);")
|
||||
print(" → 语义标识是默认形态:改写成短语(编号规范.md §1);")
|
||||
print(" 确属设备名/协议名/位号,就改形态(写语义短语)——本门禁已于 2026-10-29 退役,")
|
||||
print(" 不再是提交钩子;要再拿它当尺子就手工跑 scripts/archive/id_gate/check_ids_new.py。")
|
||||
return 1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"generated_from": "docs/编号规范.md §7 迁移映射 + §4.3 冻结前缀;本表只登记**仓库里已实际出现**的旧字面量 → 现行字面量,不做尚未落地的批量改写(§7.2 阶段 1 一律保留存量)",
|
||||
"generated_from": "编号规范.md §7 迁移映射 + §4.3 冻结前缀;本表只登记**仓库里已实际出现**的旧字面量 → 现行字面量,不做尚未落地的批量改写(§7.2 阶段 1 一律保留存量)",
|
||||
"note": "旧号引用不因本表而改写:本表只让门禁把「旧号引用」判成可解析(校验 3 悬空引用 / 校验 4 重复定义)。批量改写属 §9 阶段 1,须逐批 dry-run + 三重复核(§7.3)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。",
|
||||
"aliases": {
|
||||
"N-3": {
|
||||
@@ -163,7 +163,7 @@
|
||||
"N-32": {
|
||||
"to": null,
|
||||
"status": "void",
|
||||
"note": "监听生命周期模块化条目已销项,但被 docs/网络/ 三篇与多处代码注释引用(docs/编号规范.md §1.2 列为悬空引用实锤)→ §7.2 待处置:改指 docs/网络/网络自愈架构设计.md §9.3 或就地展开"
|
||||
"note": "监听生命周期模块化条目已销项,但被 docs/网络/ 三篇与多处代码注释引用(编号规范.md §1.2 列为悬空引用实锤)→ §7.2 待处置:改指 docs/网络/网络自愈架构设计.md §9.3 或就地展开"
|
||||
},
|
||||
"N-33": {
|
||||
"to": null,
|
||||
@@ -3276,7 +3276,7 @@
|
||||
"N-21": {
|
||||
"to": null,
|
||||
"status": "void",
|
||||
"note": "本号两义,均已死:① 登记簿 N-21 = 报告 N-12/N-13(dhara 移植层两条硬约束),2026-10-15 销项删行 → docs/架构设计/STM32F4-Base存储架构说明.md §5.3;② 报告 N-21(时钟/对时,已闭环)→ docs/编号规范.md §4.5。存量引用几乎都是①"
|
||||
"note": "本号两义,均已死:① 登记簿 N-21 = 报告 N-12/N-13(dhara 移植层两条硬约束),2026-10-15 销项删行 → docs/架构设计/STM32F4-Base存储架构说明.md §5.3;② 报告 N-21(时钟/对时,已闭环)→ 编号规范.md §4.5。存量引用几乎都是①"
|
||||
},
|
||||
"N-24": {
|
||||
"to": null,
|
||||
@@ -3291,7 +3291,7 @@
|
||||
"S-1": {
|
||||
"to": null,
|
||||
"status": "void",
|
||||
"note": "本号两义,均已死:① 登记簿 S-1(defaultTask 栈余量 3664B/4096 ≈10%,2026-10-04 登记),2026-10-10 削链销项 → 复测见 docs/内存管理/RAM使用分析与优化方案.md §4 阶段 0「不抬栈」小节;② 报告 S-1(分层反向依赖 BSP include App 的头)→ docs/门禁说明/layer-deps.md 与 docs/编号规范.md §4.5。存量引用几乎都是①"
|
||||
"note": "本号两义,均已死:① 登记簿 S-1(defaultTask 栈余量 3664B/4096 ≈10%,2026-10-04 登记),2026-10-10 削链销项 → 复测见 docs/内存管理/RAM使用分析与优化方案.md §4 阶段 0「不抬栈」小节;② 报告 S-1(分层反向依赖 BSP include App 的头)→ docs/门禁说明/layer-deps.md 与 编号规范.md §4.5。存量引用几乎都是①"
|
||||
},
|
||||
"S-2": {
|
||||
"to": null,
|
||||
@@ -3316,72 +3316,72 @@
|
||||
"N-14": {
|
||||
"to": null,
|
||||
"status": "void",
|
||||
"note": "审查报告并轨号(报告 N-14),2026-10-25 随其条目 N-22 销项一并作废(映射记录见 docs/编号规范.md §4;修复本体沿革见 N-22 别名注)。旧号勿复用"
|
||||
"note": "审查报告并轨号(报告 N-14),2026-10-25 随其条目 N-22 销项一并作废(映射记录见 编号规范.md §4;修复本体沿革见 N-22 别名注)。旧号勿复用"
|
||||
},
|
||||
"F-NET-2": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「静默回收无人认领」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「静默回收无人认领」。"
|
||||
},
|
||||
"F-NET-3": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「冗余监听 API 面」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「冗余监听 API 面」。"
|
||||
},
|
||||
"F-NET-4": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「iec104 过期门控」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「iec104 过期门控」。"
|
||||
},
|
||||
"F-NET-7": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「全局读即清搁浅事件」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「全局读即清搁浅事件」。"
|
||||
},
|
||||
"F-NET-15": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「沉降门放大器」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「沉降门放大器」。"
|
||||
},
|
||||
"F-NET-17": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「风暴态三机制」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「风暴态三机制」。"
|
||||
},
|
||||
"F-DRV-1": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「七处独立回读」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「七处独立回读」。"
|
||||
},
|
||||
"F-DRV-4": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「close 序列两套变体」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「close 序列两套变体」。"
|
||||
},
|
||||
"F-DRV-8": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「命令完成阻塞原语」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「命令完成阻塞原语」。"
|
||||
},
|
||||
"F-DRV-13": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「链路事件无人消费」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「链路事件无人消费」。"
|
||||
},
|
||||
"F-MS-8": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「有损镜像决策窗口」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「有损镜像决策窗口」。"
|
||||
},
|
||||
"F-MS-9": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「去抖冷却自偿成本」。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。条目名「去抖冷却自偿成本」。"
|
||||
},
|
||||
"F-DRV-9": {
|
||||
"to": null,
|
||||
"status": "retired-to-phrase",
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,docs/编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。该号在 §7 从来没有定义行(孤儿引用)→ 按 §4.1.1「删号留事实」就地删除引用,**不得补定义**。"
|
||||
"note": "2026-10-27 批次一(网络设计 F-* 条目号转语义,编号规范.md §9.1):现行指代 = docs/网络/网络自愈架构设计.md §7「条目名」列短语;§7 编号列仅作历史对照(定义行不算引用),旧号此后不得再指。映射 scripts/rename_maps/batch7-f-net-semantic.json。该号在 §7 从来没有定义行(孤儿引用)→ 按 §4.1.1「删号留事实」就地删除引用,**不得补定义**。"
|
||||
}
|
||||
},
|
||||
"id_aliases": {}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"note": "编号债务台账(docs/编号规范.md §8.4):--strict 只对**台账之外**的新错误级问题拦提交。台账只许减不许增——还清的用 --prune-backlog 收掉;确需新增一条必须写 reason 字段说明这笔债为什么该存在,默认禁止顺手加行(否则一周后台账就变成第二个 backlog)。指纹 = 文件 + 校验号 + 字面量,不含行号(行号会漂,用它台账天天假新增)。",
|
||||
"note": "编号债务台账(编号规范.md §8.4):--strict 只对**台账之外**的新错误级问题拦提交。台账只许减不许增——还清的用 --prune-backlog 收掉;确需新增一条必须写 reason 字段说明这笔债为什么该存在,默认禁止顺手加行(否则一周后台账就变成第二个 backlog)。指纹 = 文件 + 校验号 + 字面量,不含行号(行号会漂,用它台账天天假新增)。",
|
||||
"generated_by": "scripts/check_ids.py --write-backlog",
|
||||
"total_error_findings": 0,
|
||||
"decidable_ratio_at_generation": 87.62,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"generated_from": "docs/编号规范.md §4 编号空间总表(§4.1 在册 / §4.2 目标 / §4.3 冻结 / §4.4 划界)+ §6 模块码表 + §7 迁移映射。游标取「规范记载值」与「全库实测最大号」的较大者,实测偏差一律写进 cursor_note,不凭印象编。",
|
||||
"generated_from": "编号规范.md §4 编号空间总表(§4.1 在册 / §4.2 目标 / §4.3 冻结 / §4.4 划界)+ §6 模块码表 + §7 迁移映射。游标取「规范记载值」与「全库实测最大号」的较大者,实测偏差一律写进 cursor_note,不凭印象编。",
|
||||
"decidable_ratio_baseline": 86.0,
|
||||
"spec_docs": [
|
||||
"docs/编号规范.md"
|
||||
"编号规范.md"
|
||||
],
|
||||
"bare_check_letters": [
|
||||
"S",
|
||||
@@ -176,7 +176,7 @@
|
||||
"圈号编号(①②③…):与正常列举无法机械区分,不入判定;§7.1 的 RC-01~05 迁移批次落地后再收。",
|
||||
"TC 用例的「文档侧/代码侧」双向一一对应由 check_test_traceability.py 判(本门禁只判形态与定义存在性),两脚本同挂 id-check 钩子。"
|
||||
],
|
||||
"tc_freeze_2026_10_27": "批次三裁定(用户 2026-10-27「批次三,不做」):TC 族保留现存号但**即日停发**,不是暂缓、也不是可以清号。34 个按套件划分的 TC 子族已置 frozen=true,游标冻结在裁定日该套件存量最高号(字符串形态——整型比较会静默不生效);其中 5 个游标低于存量已抬到水位:TC-HOST-PROTELEM: TC-PROTELEM-013→TC-PROTELEM-015;TC-HOST-SYSLOG: TC-SYSLOG-108→TC-SYSLOG-137;TC-HOST-ADCHEALTH: TC-ADCHEALTH-011→TC-ADCHEALTH-023;TC-HOST-ADCCAL: TC-ADCCAL-017→TC-ADCCAL-023;TC-HOST-I104SRV: TC-I104SRV-041→TC-I104SRV-053。通用 TC 族同样置 frozen=true 但 cursor 仍为 null:单一游标表达不了每个模块码的水位,它的停发由三条兜住——per-suite 游标(校验 5 咬越游标新号)+ 校验 3(新号没进属主登记处=悬空,错误级)+ docs/编号规范.md §9.1 冻结水位(只减不增)。新用例一律用语义化测试函数名 + 文档表格行名,不再配 TC- 号(含只在文档表格里补定义行的情形)。",
|
||||
"tc_freeze_2026_10_27": "批次三裁定(用户 2026-10-27「批次三,不做」):TC 族保留现存号但**即日停发**,不是暂缓、也不是可以清号。34 个按套件划分的 TC 子族已置 frozen=true,游标冻结在裁定日该套件存量最高号(字符串形态——整型比较会静默不生效);其中 5 个游标低于存量已抬到水位:TC-HOST-PROTELEM: TC-PROTELEM-013→TC-PROTELEM-015;TC-HOST-SYSLOG: TC-SYSLOG-108→TC-SYSLOG-137;TC-HOST-ADCHEALTH: TC-ADCHEALTH-011→TC-ADCHEALTH-023;TC-HOST-ADCCAL: TC-ADCCAL-017→TC-ADCCAL-023;TC-HOST-I104SRV: TC-I104SRV-041→TC-I104SRV-053。通用 TC 族同样置 frozen=true 但 cursor 仍为 null:单一游标表达不了每个模块码的水位,它的停发由三条兜住——per-suite 游标(校验 5 咬越游标新号)+ 校验 3(新号没进属主登记处=悬空,错误级)+ 编号规范.md §9.1 冻结水位(只减不增)。新用例一律用语义化测试函数名 + 文档表格行名,不再配 TC- 号(含只在文档表格里补定义行的情形)。",
|
||||
"families": [
|
||||
{
|
||||
"name": "FR",
|
||||
@@ -220,7 +220,7 @@
|
||||
"frozen": false,
|
||||
"cursor": "N-34",
|
||||
"check_dangling": true,
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(docs/编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"adjacent_cues": [
|
||||
"登记簿"
|
||||
],
|
||||
@@ -239,7 +239,7 @@
|
||||
"frozen": true,
|
||||
"cursor": "S-5",
|
||||
"check_dangling": true,
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(docs/编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"adjacent_cues": [
|
||||
"登记簿"
|
||||
],
|
||||
@@ -259,7 +259,7 @@
|
||||
"frozen": true,
|
||||
"cursor": "T-7",
|
||||
"check_dangling": true,
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(docs/编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"adjacent_cues": [
|
||||
"登记簿",
|
||||
"专项"
|
||||
@@ -552,10 +552,10 @@
|
||||
{
|
||||
"name": "PRINCIPLE",
|
||||
"class": "PRINCIPLE",
|
||||
"title": "编号设计原则 P-1~P-8(§2,定义就在 docs/编号规范.md)",
|
||||
"title": "编号设计原则 P-1~P-8(§2,定义就在 编号规范.md)",
|
||||
"pattern": "\\bP-[0-9]\\b",
|
||||
"owner_docs": [
|
||||
"docs/编号规范.md"
|
||||
"编号规范.md"
|
||||
],
|
||||
"scope": "global",
|
||||
"frozen": false,
|
||||
@@ -570,10 +570,10 @@
|
||||
{
|
||||
"name": "PAT",
|
||||
"class": "PAT",
|
||||
"title": "缺陷模式九类(§4.2.1,定义就在 docs/编号规范.md)",
|
||||
"title": "缺陷模式九类(§4.2.1,定义就在 编号规范.md)",
|
||||
"pattern": "\\bPAT-[0-9]{2}\\b",
|
||||
"owner_docs": [
|
||||
"docs/编号规范.md"
|
||||
"编号规范.md"
|
||||
],
|
||||
"scope": "global",
|
||||
"frozen": true,
|
||||
@@ -689,7 +689,7 @@
|
||||
"保护",
|
||||
"分层"
|
||||
],
|
||||
"retired": "2026-10-27 批次二转功能名并停发(docs/编号规范.md §4.1 已停发栏);新号由 §8 校验 3 拦截,不冻结数值游标(各段最高号不同)"
|
||||
"retired": "2026-10-27 批次二转功能名并停发(编号规范.md §4.1 已停发栏);新号由 §8 校验 3 拦截,不冻结数值游标(各段最高号不同)"
|
||||
},
|
||||
{
|
||||
"name": "B-WAVE",
|
||||
@@ -914,7 +914,7 @@
|
||||
"title": "《项目审查与优化建议报告》自有编号 N-xx(原属主文档 2026-10-25 已删;登记处迁 §4.5,§4.3 冻结历史快照)",
|
||||
"pattern": "\\bN-[0-9]{1,3}[a-z]?\\b",
|
||||
"owner_docs": [
|
||||
"docs/编号规范.md"
|
||||
"编号规范.md"
|
||||
],
|
||||
"scope": "doc-scoped",
|
||||
"frozen": true,
|
||||
@@ -930,7 +930,7 @@
|
||||
"cursor_note": "⚠ 与登记簿 N-x 同名不同义(§4.3 / AGENTS.md 模块约定)→ 引用必须紧邻「报告」或报告文档名",
|
||||
"snapshot_only": true,
|
||||
"snapshot_note": "§4.3 冻结历史快照:只在引用写了文档名(紧邻线索)时参与定族,不参与「定义位优先」——避免同号把活登记处接管走",
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 docs/编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇"
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇"
|
||||
},
|
||||
{
|
||||
"name": "D-RPT",
|
||||
@@ -938,7 +938,7 @@
|
||||
"title": "报告自有编号 D-x(原属主文档 2026-10-25 已删;登记处迁 §4.5,§4.3 冻结历史快照)",
|
||||
"pattern": "\\bD-[0-9]\\b",
|
||||
"owner_docs": [
|
||||
"docs/编号规范.md"
|
||||
"编号规范.md"
|
||||
],
|
||||
"scope": "doc-scoped",
|
||||
"frozen": true,
|
||||
@@ -953,7 +953,7 @@
|
||||
"collides_with": "D",
|
||||
"snapshot_only": true,
|
||||
"snapshot_note": "§4.3 冻结历史快照:只在引用写了文档名(紧邻线索)时参与定族,不参与「定义位优先」——避免同号把活登记处接管走",
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 docs/编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇"
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇"
|
||||
},
|
||||
{
|
||||
"name": "S-RPT",
|
||||
@@ -961,7 +961,7 @@
|
||||
"title": "报告自有编号 S-x(原属主文档 2026-10-25 已删;登记处迁 §4.5,§4.3 冻结历史快照)",
|
||||
"pattern": "\\bS-[0-9]\\b",
|
||||
"owner_docs": [
|
||||
"docs/编号规范.md"
|
||||
"编号规范.md"
|
||||
],
|
||||
"scope": "doc-scoped",
|
||||
"frozen": true,
|
||||
@@ -975,7 +975,7 @@
|
||||
"collides_with": "N",
|
||||
"snapshot_only": true,
|
||||
"snapshot_note": "§4.3 冻结历史快照:只在引用写了文档名(紧邻线索)时参与定族,不参与「定义位优先」——避免同号把活登记处接管走",
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 docs/编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇"
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇"
|
||||
},
|
||||
{
|
||||
"name": "R-RPT",
|
||||
@@ -983,7 +983,7 @@
|
||||
"title": "报告自有编号 R-x(原属主文档 2026-10-25 已删;登记处迁 §4.5,§4.3 冻结;内存优化项)",
|
||||
"pattern": "\\bR-[0-9]{1,2}\\b",
|
||||
"owner_docs": [
|
||||
"docs/编号规范.md"
|
||||
"编号规范.md"
|
||||
],
|
||||
"scope": "global",
|
||||
"frozen": true,
|
||||
@@ -997,7 +997,7 @@
|
||||
"cursor_note": "实测现存至 R-9(2026-10-15 落地);§1.2 记「R1=风险、R-2=内存优化项」同字母歧义",
|
||||
"snapshot_only": true,
|
||||
"snapshot_note": "§4.3 冻结历史快照:只在引用写了文档名(紧邻线索)时参与定族,不参与「定义位优先」——避免同号把活登记处接管走",
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 docs/编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇"
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇"
|
||||
},
|
||||
{
|
||||
"name": "F-RPT",
|
||||
@@ -1005,7 +1005,7 @@
|
||||
"title": "报告自有编号 F-x(原属主文档 2026-10-25 已删;登记处迁 §4.5,§4.3 冻结历史快照)",
|
||||
"pattern": "\\bF-[0-9]{1,2}\\b",
|
||||
"owner_docs": [
|
||||
"docs/编号规范.md"
|
||||
"编号规范.md"
|
||||
],
|
||||
"scope": "global",
|
||||
"frozen": true,
|
||||
@@ -1018,7 +1018,7 @@
|
||||
],
|
||||
"snapshot_only": true,
|
||||
"snapshot_note": "§4.3 冻结历史快照:只在引用写了文档名(紧邻线索)时参与定族,不参与「定义位优先」——避免同号把活登记处接管走",
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 docs/编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇"
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇"
|
||||
},
|
||||
{
|
||||
"name": "A-AUDIT",
|
||||
@@ -1080,7 +1080,7 @@
|
||||
"cursor_owner_only": true,
|
||||
"check_dangling": true,
|
||||
"dangling_outside_owner": "warn",
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(docs/编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"adjacent_cues": [
|
||||
"复审",
|
||||
"专项"
|
||||
@@ -1099,7 +1099,7 @@
|
||||
"frozen": true,
|
||||
"cursor": "A-7",
|
||||
"check_dangling": true,
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(docs/编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"adjacent_cues": [
|
||||
"复审",
|
||||
"专项"
|
||||
@@ -1123,7 +1123,7 @@
|
||||
"专项"
|
||||
],
|
||||
"collides_with": "N",
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(docs/编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"retired": "2026-10-26 方案 B 转语义短语"
|
||||
},
|
||||
{
|
||||
@@ -1237,8 +1237,8 @@
|
||||
"cursor_owner_only": true,
|
||||
"check_dangling": false,
|
||||
"dangling_note": "与 UI 状态机 U1~U15、位号 U17 三方同形(§4.4 位号目录已排除)→ 只拦越游标",
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(docs/编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 docs/编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇",
|
||||
"cursor_note": "2026-10-26 方案 B 停发:存量号已全部转语义短语(编号规范.md §4.1.1),游标冻结不前进,旧号在 id_aliases.json 标 retired-to-phrase;本族登记只为冻结历史行不报未登记前缀",
|
||||
"owner_note": "属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除(用户裁定:内容大部分已闭环);登记职责与 26 行「号 → 现在详述于」对照表迁到 编号规范.md §4.5,故 owner_docs 指向该节——它只用于**恢复可判定比例**(§4.5 是冻结存档登记处),定义集仍为空(snapshot_only 族剔除规范正文,见 check_ids.py 的 _def_owners),因此不参与悬空/撞号/裸形判定。未闭环项早已并轨到登记簿 N-19~N-29 + U 簇",
|
||||
"retired": "2026-10-26 方案 B 转语义短语"
|
||||
},
|
||||
{
|
||||
@@ -2205,7 +2205,7 @@
|
||||
]
|
||||
},
|
||||
"retired_to_phrase_2026_10_26": {
|
||||
"note": "用户裁定方案 B:规划/待办类编号(登记簿 N-x/S-x/T-x、专项 A-x、已删报告 UI 簇 U1~U5)一律转语义短语。族保留登记、游标冻结;引用侧同批改写约 418 处、字面量净减 443(8,946 → 8,503):活号 237 + 已销项死引用 196 + U 簇非位号约 45。短语表见 docs/编号规范.md §4.1.1。",
|
||||
"note": "用户裁定方案 B:规划/待办类编号(登记簿 N-x/S-x/T-x、专项 A-x、已删报告 UI 簇 U1~U5)一律转语义短语。族保留登记、游标冻结;引用侧同批改写约 418 处、字面量净减 443(8,946 → 8,503):活号 237 + 已销项死引用 196 + U 簇非位号约 45。短语表见 编号规范.md §4.1.1。",
|
||||
"families": [
|
||||
"N",
|
||||
"S-LDG",
|
||||
@@ -2216,7 +2216,7 @@
|
||||
"U-RPT"
|
||||
]
|
||||
},
|
||||
"baseline_note": "2026-10-26 方案 B 曾把比例基线由 86.6% 下调到 85.9%(转短语消掉的全是「本可判定」引用,比值被稀释而不可判定绝对数未增;理由见 docs/门禁说明/id-check.md §7.6 与 docs/编号规范.md §8.1);同批新增第二根护栏 undecidable_total_ceiling 后,本文档又瘦身了一半,删掉的多是不可判定的历史号引用,两根护栏已按 --update-baseline 重打为比例 86.0% / 绝对数 1166(都只朝好的方向动)。2026-10-28 起两根护栏只报告、不拦提交(用户裁定,退役路线见 docs/编号规范.md §8.5)。",
|
||||
"baseline_note": "2026-10-26 方案 B 曾把比例基线由 86.6% 下调到 85.9%(转短语消掉的全是「本可判定」引用,比值被稀释而不可判定绝对数未增;理由见 docs/门禁说明/id-check.md §7.6 与 编号规范.md §8.1);同批新增第二根护栏 undecidable_total_ceiling 后,本文档又瘦身了一半,删掉的多是不可判定的历史号引用,两根护栏已按 --update-baseline 重打为比例 86.0% / 绝对数 1166(都只朝好的方向动)。2026-10-28 起两根护栏只报告、不拦提交(用户裁定,退役路线见 编号规范.md §8.5)。",
|
||||
"undecidable_total_ceiling": 1166,
|
||||
"undecidable_ceiling_note": "不可判定引用绝对数上限(refs_total - decidable),只许减不许增;--update-baseline 同步下调且拒绝上调。加它的原因:比值会被清号动作稀释,绝对数不会。2026-10-28 起转报告制:越线只打印,不影响退出码(见 docs/编号规范.md §8.5)。"
|
||||
"undecidable_ceiling_note": "不可判定引用绝对数上限(refs_total - decidable),只许减不许增;--update-baseline 同步下调且拒绝上调。加它的原因:比值会被清号动作稀释,绝对数不会。2026-10-28 起转报告制:越线只打印,不影响退出码(见 编号规范.md §8.5)。"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# 编号治理历史(2026-10-28 归档)
|
||||
|
||||
> 这是 `docs/编号规范.md` 在瘦身前(36 节 / 58 KB)的**过程记录**部分,逐字搬迁、未改写。
|
||||
> **不是现行口径**:现在的做法只看 `docs/编号规范.md`(约 120 行);
|
||||
> 这是 `编号规范.md` 在瘦身前(36 节 / 58 KB)的**过程记录**部分,逐字搬迁、未改写。
|
||||
> **不是现行口径**:现在的做法只看 `编号规范.md`(约 120 行);
|
||||
> 门禁也已换代(全库语料审计 → 只查新增行),见 `docs/门禁说明/id-check-new.md`。
|
||||
> 留它的唯一理由:批次清点、换算表、改号规程这些东西,将来要复查时还找得到原文。
|
||||
|
||||
@@ -90,13 +90,13 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
| **护栏 1**(报告值,不拦提交):可判定比例下限 `decidable_ratio_baseline` | **86.0%**(2026-10-28 实跑 87.15%;容差 0.1pp) |
|
||||
| **护栏 2**(报告值,不拦提交):不可判定引用绝对数上限 `undecidable_total_ceiling` | **1,166 处**(2026-10-28 实跑 **1,033** 处;构成拆解见 `docs/门禁说明/id-check.md` §7.7) |
|
||||
| 校验 1/2/3/4/5/6 错误级 | **0**;债务台账 0 条指纹 → `--strict` 实为**全量拦截** |
|
||||
| 告警 | 悬空 2(`App/algo/freq.c` 的正序 / 负序记号,属 `docs/编号规范.md` §4.4 误判面)+ 孤儿 50(陷阱条目这类本就允许无人引用) |
|
||||
| 告警 | 悬空 2(`App/algo/freq.c` 的正序 / 负序记号,属 原编号规范 §4.4 误判面)+ 孤儿 50(陷阱条目这类本就允许无人引用) |
|
||||
|
||||
> ⚠ **读这些数字的口径**:跨批次**不可直接相减**。方案 B 把"本可判定的引用"换成散文,分子分母同缩,
|
||||
> 比例反而从 86.7% 掉到 85.98%,而**不可判定绝对数一处没涨**——护栏 2 就是这么来的。
|
||||
> **2026-10-28 起两根护栏都只报告、不拦提交**(用户裁定:语料维护的成本已经高过它买到的一致性——
|
||||
> 近 80 笔提交里 61 笔被编号体系牵连)。数字照样打,但不再决定一笔提交能不能过;
|
||||
> 硬拦的只剩校验 1~6 的台账外新账。判断"编号有没有变坏"仍看绝对数与字面量总数。退役路线见 `docs/编号规范.md` §8.5。
|
||||
> 硬拦的只剩校验 1~6 的台账外新账。判断"编号有没有变坏"仍看绝对数与字面量总数。退役路线见 原编号规范 §8.5。
|
||||
|
||||
### 8.3 改号与清号批次(只留要点)
|
||||
2026-10-21 五批统一改名(陷阱号归范、主机侧单测认代码为属主登记处、追溯器三档口径对齐);
|
||||
@@ -122,7 +122,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
**冻结的变更记录行 40 处**与**一处原始串口日志**(真机抓包证据,改它等于篡改现场,永久保留) |
|
||||
| 三 | 测试用例族 561 站点 | **用户裁定不做**:该族保留,但**即日停发**(游标冻结,新用例不再配号) |
|
||||
| 五 | 「数据可信」任务卡号 14 个(中文前缀「卡」+ 数字),随注入验证卡销项整族清退 | 全仓 288 站点 / 56 文件改语义短语(代码与测试 191 / 文档 56 / 门禁配置与本文 41),活引用收口 **0**;门禁字面量与不可判定绝对数**零变化**(本族从不在计数内)——换算表与机器面空白见 §9.3(批次四记在上面的复测段,未进本表) |
|
||||
| 六 | 2026-10-28 复测:在册旧号**活引用归零**,账面**不动基线** | 按 「retired-to-phrase」 与 「void」 两类别名当探针全库复扫(排除门禁自身语料与硬件位号目录):剩余命中面**全部**落在变更记录行(`docs/编号规范.md` §4.3 不回改)、元器件位号与 Socket 状态组合(`docs/编号规范.md` §4.4 判非编号,清它等于改硬件资料)、以及属主文档的历史对照列;真编号活引用为 **0**。本笔不重打 §8.1 两根护栏基线(那些数随在飞改动漂移,属各自批次的收口),当日实测三项与命中清单写入 `ci-artifacts/id-metrics-batch-six.txt`(不进语料的口径台账),正文只留结论:剩余命中面另含讲编号的文档里的形态自述,本笔自身两行正文带来个位数增量、远低于护栏上限,两根本基线**均未下调**、零编号增删 |
|
||||
| 六 | 2026-10-28 复测:在册旧号**活引用归零**,账面**不动基线** | 按 「retired-to-phrase」 与 「void」 两类别名当探针全库复扫(排除门禁自身语料与硬件位号目录):剩余命中面**全部**落在变更记录行(原编号规范 §4.3 不回改)、元器件位号与 Socket 状态组合(原编号规范 §4.4 判非编号,清它等于改硬件资料)、以及属主文档的历史对照列;真编号活引用为 **0**。本笔不重打 §8.1 两根护栏基线(那些数随在飞改动漂移,属各自批次的收口),当日实测三项与命中清单写入 `ci-artifacts/id-metrics-batch-six.txt`(不进语料的口径台账),正文只留结论:剩余命中面另含讲编号的文档里的形态自述,本笔自身两行正文带来个位数增量、远低于护栏上限,两根本基线**均未下调**、零编号增删 |
|
||||
|
||||
编号字面量 **8,787 → 7,828**;不可判定绝对数 **1,161 → 982**(上限 1,166,余量从 5 格宽到 184 格)。
|
||||
比值 86.79% → 87.46% 属**纯稀释**(删的都是可判定引用,分子分母同缩),**基线不下调**,见本节末裁定。
|
||||
@@ -157,16 +157,16 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
| 已清零 | `T-TEST`(台架阶段裸形) | 活引用 **0**;命中全部落在本文与 `.dsh/skills/` 的形态举例里 |
|
||||
| 已清零 | `L-PROT` 保护功能号 | 活引用 **0**;剩原始串口日志 1 处(冻结证据、永久保留)+ 技能文档形态举例 |
|
||||
| 已清零 | `FEAT` 网络条目号 | 活引用 **0**;属主文档 §7 编号列 13 条是历史对照,不是引用 |
|
||||
| **非编号误判**(`docs/编号规范.md` §4.4,不清) | 版本记号 CMSIS-RTOS 的那个(字母 V 紧跟数字 2)**66 站点 / 31 文件**、幅值记号与 MAC 字节对的 A 形、活表代号 E 形、Socket 状态组合 U 形、测频正/负序记号 S 形、傅氏求和上界 N 形 | 合计约 **1,100** 站点被宽松正则顺伤 |
|
||||
| **冻结历史波次号**(`docs/编号规范.md` §4.3 正文不回改) | 字母 B/C/D/W/M/R/G/O + S-REVIEW/E-EXP/A-AUDIT/D-DOC 等 16 个已冻结族 | 合计约 1,500 站点;**无连字符 → 按 `docs/编号规范.md` §4.4 判据本就不是编号** |
|
||||
| **非编号误判**(原编号规范 §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>` 从 `docs/编号规范.md` §4.1『允许继续发号』**整行移出**(7 行 → 5 行),在『已停发、存量待清』各补一行硬口径——留着那两行,扫表的人照样照着发号(同 `TC-*` 那次的教训)。**机器面已探针复核**:`_check_dangling` 对「L 段号形态的新号」与「F 条目号形态的新号」各写一个,全部命中 `docs/编号规范.md` §8 校验 3 **错误级**(台账 0 指纹 → 等于拦提交),所以不需要再冻结数值游标(各段最高号不同,单一数字游标反而放行低号)。
|
||||
1. **关掉已清退族的发号口**:`L<n>-<nn>` 与 `F-<MOD>-<nn>` 从 原编号规范 §4.1『允许继续发号』**整行移出**(7 行 → 5 行),在『已停发、存量待清』各补一行硬口径——留着那两行,扫表的人照样照着发号(同 `TC-*` 那次的教训)。**机器面已探针复核**:`_check_dangling` 对「L 段号形态的新号」与「F 条目号形态的新号」各写一个,全部命中 原编号规范 §8 校验 3 **错误级**(台账 0 指纹 → 等于拦提交),所以不需要再冻结数值游标(各段最高号不同,单一数字游标反而放行低号)。
|
||||
2. **本文自述形态化**:把本文里 4 处「字母 T 紧跟数字」与 2 处 DRV 段孤儿号的**字面量写法**改成形态描述(lesson 不丢),使这四个族的门禁命中数真正归零,而不是停在「只有规范自己在引用」。
|
||||
3. **登记机器面还空着的那一面**:`scripts/archive/id_gate/id_registry.json` 给 `L-PROT`/`FEAT` 补 `retired` 字段;给 `T-TEST` 补 `cursor_note` 写明——它的 pattern 最高只到数字 3,**即使 `frozen: true` 校验 5 也碰不到任何新写法**(探针实测写 4 不响),所以该族停发今天只有 `docs/编号规范.md` §3.3 禁令 + 评审两道兜底,**别把「存量已清零」读成「机器已关闭」**。
|
||||
3. **登记机器面还空着的那一面**:`scripts/archive/id_gate/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。
|
||||
|
||||
@@ -189,7 +189,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
**批次三 · 用户裁定 2026-10-27「不做」:`TC-*`(561 个站点 / 472 个字面量 / 77 个文件)保留现状**。
|
||||
|
||||
裁定记录(原话:「**批次三,不坐**」,即批次三不做)。留着的理由与今天的定调并不矛盾,而是它的前提:
|
||||
`TC-*` 是本规范 `docs/编号规范.md` §4.1 那条判据**唯一真正满足它的族**——`check_test_traceability.py` 与 40 套 `run_unit_test.py`
|
||||
`TC-*` 是本规范 原编号规范 §4.1 那条判据**唯一真正满足它的族**——`check_test_traceability.py` 与 40 套 `run_unit_test.py`
|
||||
**按字面量读它**,C 断言标签、测试函数名、文档用例表三处同一号,是「代码 ↔ 文档」双向核对的机器把手。
|
||||
清它的代价不是改文本,而是**换掉追溯机制**:候选方案「用例名即标识」(`test_xxx_yyy()` ↔ 文档表格行名,
|
||||
脚本按名字比对)要把追溯门禁重写并重打基线,收益是字母号一次少掉一半以上,代价是**期间测试与文档的
|
||||
@@ -199,20 +199,20 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
|
||||
「不做」之后跟着三条硬口径(否则裁定会被当成默许继续扩族):
|
||||
① **本族即日停发**:现存号只减不增,**新用例一律用语义化测试函数名 + 文档表格行名,不再配 `TC-` 号**
|
||||
(机器口径已同批落地:见本节末「机器口径已落地」与 `docs/编号规范.md` §4.1 框内第三条);
|
||||
同一笔把 `TC-*` 从 `docs/编号规范.md` §4.1『允许继续发号』表里**整行移出**(只在『已停发』栏留一行)——留在那张表里,
|
||||
(机器口径已同批落地:见本节末「机器口径已落地」与 原编号规范 §4.1 框内第三条);
|
||||
同一笔把 `TC-*` 从 原编号规范 §4.1『允许继续发号』表里**整行移出**(只在『已停发』栏留一行)——留在那张表里,
|
||||
脚注写得再重,扫表的人照样照着发号;
|
||||
② **停发 ≠ 待清**:现存号与 registry 登记一律保留、不清、不复用(机器追溯把手 + `docs/编号规范.md` §1「不回收、不复用」);
|
||||
② **停发 ≠ 待清**:现存号与 registry 登记一律保留、不清、不复用(机器追溯把手 + 原编号规范 §1「不回收、不复用」);
|
||||
引用既有用例仍可用旧号,新用例不配新号;
|
||||
③ 若将来真要清,按 `scripts/rename_ids.py` + §7.3 五步**单独开卡**,前提是先让追溯器同时认两种形态
|
||||
(新旧并行核对通过,再谈切换),**不许先改文档再改代码**(会凭空造出悬空号,`docs/编号规范.md` §8 校验 3 会当场拦)。
|
||||
(新旧并行核对通过,再谈切换),**不许先改文档再改代码**(会凭空造出悬空号,原编号规范 §8 校验 3 会当场拦)。
|
||||
|
||||
**这条裁定的机器口径已落地(2026-10-27 同日补;上一版这里写「停发今天只有规范效力」,那是当日的实测记录,不是笔误,留作历史)**:
|
||||
`scripts/archive/id_gate/id_registry.json` 的 **37 个 TC 类族已全部 `frozen: true`**,其中 **34 个 `TC-HOST-*` 子族带游标**,冻结在
|
||||
裁定日该套件存量最高号;5 个游标低于存量的已抬到水位(`TC-PROTELEM-013→015`、`TC-SYSLOG-108→137`、
|
||||
`TC-ADCHEALTH-011→023`、`TC-ADCCAL-017→023`、`TC-I104SRV-041→053`),裁定理由记在 registry 顶层
|
||||
`tc_freeze_2026_10_27`。落地的直接诱因是本族在裁定当天还在长大:另一道在飞的 `time_sync` 改动新增了
|
||||
`TC-TIMESYNC-0xx`(撞的是 `docs/编号规范.md` §8 校验 3 悬空引用而非校验 5——那个模块码没有专属子族,正落在主族 `TC` 的空白面上)。
|
||||
`TC-TIMESYNC-0xx`(撞的是 原编号规范 §8 校验 3 悬空引用而非校验 5——那个模块码没有专属子族,正落在主族 `TC` 的空白面上)。
|
||||
|
||||
**冻结水位(只减不增)**:TC 类族按门禁 refs 口径(字面量 × 文件去重,属主登记处与本文写法示例不计)——
|
||||
动手前基线 **561 站点 / 472 个字面量 / 77 个文件**;本笔落地时工作区实测 **590 / 497 / 81**(站点 / 字面量 / 文件)。
|
||||
@@ -233,46 +233,46 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
|
||||
### 9.2 别再做什么
|
||||
「编号说明」这件事本身应该继续变薄:每多一个族,就多一处需要有人记得它的地方;每多发一个号,就多一个
|
||||
将来没人敢删的字符串。要新增族之前,请把 `docs/编号规范.md` §4.1 的「允许继续发号」那 5 行当作反对你的第一手证据。
|
||||
将来没人敢删的字符串。要新增族之前,请把 原编号规范 §4.1 的「允许继续发号」那 5 行当作反对你的第一手证据。
|
||||
|
||||
### 9.3 批次五换算表:「数据可信」任务卡号(2026-10-27 整族清退)
|
||||
|
||||
用户指令(2026-10-27):「**数据可信.md 已经完成的内容请进行销项删除,去除相关编号**」。两件事同做:
|
||||
|
||||
1. **销项**:`docs/任务规划/数据可信.md` `docs/编号规范.md` §5 里 2026-10-27 台架闭环的「已知电压注入验证」行**删行**。
|
||||
1. **销项**:`docs/任务规划/数据可信.md` 原编号规范 §5 里 2026-10-27 台架闭环的「已知电压注入验证」行**删行**。
|
||||
上一笔曾特意标 ✅ 保留,理由是该行被 `App/task/adc_task.c` 的 v3.3 修订行按卡号当口径出处引用;
|
||||
引用侧改成语义短语后该理由不再成立 → **例外撤销**。判据与实测记录的属主 =
|
||||
`docs/硬件平台/ADC通道映射说明.md` §8.1(六项判据全 PASS、斜率 6544.2 码/V、偏差 −0.14 %),
|
||||
执行侧 = `docs/测试说明/专项验证/ADC前端注入验证流程.md`(含两项残留口径与残差表)。
|
||||
2. **整族清退**:「卡」+ 数字 1~11 那 11 行早在 2026-10-25 就删完了,代码注释里剩下的这种形态今天
|
||||
**查无此行**——按 `docs/编号规范.md` §4.1.1 末句,正确动作是**删号留事实**(换成语义短语),不是回去补一个定义。
|
||||
**查无此行**——按 原编号规范 §4.1.1 末句,正确动作是**删号留事实**(换成语义短语),不是回去补一个定义。
|
||||
|
||||
| 旧号形态 | 语义短语 | 现行口径出处 |
|
||||
|---|---|---|
|
||||
| 「卡」+ 数字 0 | 已知电压注入验证 | `docs/硬件平台/ADC通道映射说明.md` §8.1(✅ 2026-10-27,已销项删行) |
|
||||
| 「卡」+ 数字 0b | 端子/子板变比确认 | `docs/任务规划/数据可信.md` `docs/编号规范.md` §5;缺口面 = `docs/硬件平台/ADC通道映射说明.md` §7.1 链路分段表 ④ 行 |
|
||||
| 「卡」+ 数字 0b | 端子/子板变比确认 | `docs/任务规划/数据可信.md` 原编号规范 §5;缺口面 = `docs/硬件平台/ADC通道映射说明.md` §7.1 链路分段表 ④ 行 |
|
||||
| 「卡」+ 数字 1 | 量程口径冻结 | `docs/任务规划/数据可信.md` §2.1 |
|
||||
| 「卡」+ 数字 2 | 标定折算落地 | `docs/任务规划/数据可信.md` `docs/编号规范.md` §4.1 |
|
||||
| 「卡」+ 数字 3 | 有符号零点类型(CFG_VAL_INT) | `docs/任务规划/数据可信.md` `docs/编号规范.md` §4.4 |
|
||||
| 「卡」+ 数字 4 | 标定落盘与整定入口 | `docs/任务规划/数据可信.md` `docs/编号规范.md` §4.4 |
|
||||
| 「卡」+ 数字 5 | 未标定即闭锁 | `docs/任务规划/数据可信.md` `docs/编号规范.md` §4.3 |
|
||||
| 「卡」+ 数字 2 | 标定折算落地 | `docs/任务规划/数据可信.md` 原编号规范 §4.1 |
|
||||
| 「卡」+ 数字 3 | 有符号零点类型(CFG_VAL_INT) | `docs/任务规划/数据可信.md` 原编号规范 §4.4 |
|
||||
| 「卡」+ 数字 4 | 标定落盘与整定入口 | `docs/任务规划/数据可信.md` 原编号规范 §4.4 |
|
||||
| 「卡」+ 数字 5 | 未标定即闭锁 | `docs/任务规划/数据可信.md` 原编号规范 §4.3 |
|
||||
| 「卡」+ 数字 6 | 下游常数按工程量重定 | `docs/任务规划/数据可信.md` §2.3 |
|
||||
| 「卡」+ 数字 7 | 量纲回归用例 | `docs/任务规划/数据可信.md` `docs/编号规范.md` §3 退出判据第 ⑥ 条;用例在 `test/host/prot_dim` |
|
||||
| 「卡」+ 数字 7 | 量纲回归用例 | `docs/任务规划/数据可信.md` 原编号规范 §3 退出判据第 ⑥ 条;用例在 `test/host/prot_dim` |
|
||||
| 「卡」+ 数字 8 | 遥测快照发布 | `docs/任务规划/数据可信.md` §4.5 |
|
||||
| 「卡」+ 数字 9 | 104 改读快照 | `docs/任务规划/数据可信.md` §4.5 |
|
||||
| 「卡」+ 数字 10 | 运行参数段 | `App/algo/run_par.h` 头注释 + `docs/子系统设计/IEC104上行设计说明.md` |
|
||||
| 「卡」+ 数字 11 | 频率点绑定 | `docs/子系统设计/IEC104上行设计说明.md` 的 `0x401D` 行 |
|
||||
| 「卡」+ 数字 12 | 两点标定 | `docs/任务规划/数据可信.md` `docs/编号规范.md` §5(未开始,等标准源) |
|
||||
| 「卡」+ 数字 12 | 两点标定 | `docs/任务规划/数据可信.md` 原编号规范 §5(未开始,等标准源) |
|
||||
|
||||
**本表把形态写成「卡」+ 数字、不复述字面量**:本文是门禁语料,复述形态会把"讲规则的文档"变成
|
||||
自己的引用站点(§9.1 批次四第 2 条同一条教训);要查旧号,看左列形态 + 属主文档的历史行。
|
||||
|
||||
- **旧号永久作废、不得重新取走**:这一族**没有机器识别面**(中文前缀不进语料),停发今天只有
|
||||
`docs/编号规范.md` §4.1.1 本行 + 本表 + 评审兜住。要机械化,得先给"中文前缀 + 数字"设计候选形态——那与 §9.1 末尾
|
||||
原编号规范 §4.1.1 本行 + 本表 + 评审兜住。要机械化,得先给"中文前缀 + 数字"设计候选形态——那与 §9.1 末尾
|
||||
「族级加字面量上限」同属追溯机制改造,**按 §7.3 单独开卡**,别夹在清退批里顺手做。
|
||||
- **同形态不同属主**:`docs/任务规划/UI补齐.md` 的条目现在写「第 N 项」,历史上被别处写成同一形态的
|
||||
4 处(其实指已入库的 `[comm]` 段前置项)已随本批改成不带号的语义形态。同一裸形态跨两个属主文档,
|
||||
正是 `docs/编号规范.md` §4.1「别拿同形当同族」的实证——清号必须**按属主文档逐处判语义**,不许全局查找替换。
|
||||
正是 原编号规范 §4.1「别拿同形当同族」的实证——清号必须**按属主文档逐处判语义**,不许全局查找替换。
|
||||
- **不在本批的**:里程碑号(字母 M + 数字)与并行道号(道A/道D/道G)一律保持原样,是否清退等用户
|
||||
单独裁定,**不要顺手做**。
|
||||
|
||||
@@ -343,7 +343,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
——全仓无别名登记、无第二个引用点,指向已不可还原;看门狗设计说明「原 L2 基线 3/10」按上下文
|
||||
(38 次上板启动复现)读作主机侧回归的早期基线,改写为「主机侧回归的早期基线 3/10」。
|
||||
4. **登记簿条目 `L5 队列往返基线待重验` 改名**为「队列往返基线待重验」:这里的 `L5` 曾**长在语义
|
||||
短语里**(`id_aliases.json` 当年就是这么登记的),属"短语里混着号"的坏例子——`docs/编号规范.md`
|
||||
短语里**(`id_aliases.json` 当年就是这么登记的),属"短语里混着号"的坏例子——`编号规范.md`
|
||||
§1 的好例子清单里正是它。引用侧 5 处同批改(登记簿 §1/§7、实机测试实施指南 §7.3 标题与步骤表、
|
||||
编号规范好例子清单);归档里那条历史 note 原文不动,它是当时决定的记录。
|
||||
|
||||
@@ -355,14 +355,14 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
| 日期 | 变更 | 说明 |
|
||||
|---|---|---|
|
||||
| 2026-10-28 | **编号门禁第三步收口:全库语料审计退役(钩子 52 → 51)** | 用户裁定跳过观察期直接做。`check_ids.py` 与两份语料(`id_registry.json` 87.6 KB / `id_aliases.json` 187 KB)+ 债务台账整体移入 `scripts/archive/id_gate/`(附归档 README,含"为什么退役 / 现在用什么 / 怎么手工跑");`id-check` 钩子摘除,现役编号门禁只剩 `id-check-new`(只查新增行)。连带改:`rename_ids.py` 的别名表路径指向归档、新门禁排除面加 `scripts/archive/`、`doc-links` 跳过 `.mnemon/` 与 `ci-artifacts/`(本地状态与草稿,非项目文档)、`id-check.md` 加退役横幅、`门禁说明/README` 与 `AGENTS` 的钩子数三数对齐(声明 51 / commit 阶段 50 + gitlint 1)。归档脚本从新路径实跑:811 文件 / 8,051 字面量、`--strict` rc=0。 |
|
||||
| 2026-10-28 | **编号门禁第二步落地:新增行拦截(零语料)** | 脚本(今在 `scripts/archive/id_gate/check_ids_new.py`)+ 钩子 `id-check-new`:只看新增行,破折形态未知前缀 FAIL、已停发族只 WARN、单字母+数字放行(元件位号同形,见该门禁 §6 盲区)。白名单是**前缀级**两张表(活族 11 条 / 器件与协议约 90 条),不是字面量账本——后者会退化成 `id_aliases.json` 的老路。调参依据:最近 80 笔真实提交回放,未知形态 15 种(12 种是设备与协议名、3 种是停发族),调好后误报 0;自检 5 正例 + 29 反例。与 `id-check` **双跑**一个观察期后再按 `docs/编号规范.md` §8.5 ③ 退役旧语料。 |
|
||||
| 2026-10-28 | **编号门禁减负第一步:两根护栏转报告制** | 用户裁定「编号门禁每次浪费很多时间」→ 先摘掉语料审计的强制面。护栏 1(可判定比例基线)与护栏 2(不可判定绝对数上限)自此**只打印、不拦提交**;实测把基线调到 99.9%、上限调到 1 处,退出码仍为 0。硬拦只剩校验 1~6 的台账外新账(同一实测:新文件里写一个自造前缀 + 数字,校验 1 与增量拦截照旧 FAIL)。退役路线 ①②③ 写进 `docs/编号规范.md` §8.5;减负依据 = 近 80 笔提交有 61 笔被编号体系牵连、语料共 99 族(78 族已冻结)。 |
|
||||
| 2026-10-28 | **变更记录行里已停发/作废族的示例编号改形态描述;并用门禁自身计数器把「这一笔能不能压下不可判定绝对数」钉死为零** | 用户指令:把变更记录行里已停发族的那几枚示例编号改成语义形态描述,并确认它让不可判定引用绝对数净减、不是只算自己这一笔。**实测裁定:净减 = 0**。门禁把「表格首格是日期」的行整行豁免于编号判定(registry 侧的变更记录豁免,本笔前全库已豁免 198 处站点),本表的示例编号从来不进引用总数分母,改它必然不动绝对数——改前改后同一个计数器均为 **1003**(上限 1166;可判定 87.43%,三项都是 2026-10-28 本回合实测)。唯一移动的是那行豁免计数本身(本文件少 1 处站点),把它当清退成果就是把自记账成全局减量,正是本笔要排除的错法。本文对该计数器的全部贡献 **6** 处,逐文件集合差实测:全是「非编号」判定栏里既定的噪声名与裸形盲区(哈希算法名、总线名、严重度档位、硬件位号),不是编号,不清。本笔动的 3 处只是写法:作废的网络条目孤儿号(F 前缀 + 模块码段 + 数字序号三段)与已删报告的 UI 簇(字母 U 紧跟一位数字,区间两端即该簇首尾两枚);事实本体仍在别名表、registry 游标备注与 git 历史,一处没丢。刻意不动:硬件位号形态的举例(判非编号)、保留现存号族的冻结游标数字(冻结水位的证据本体)、其它文档与注册表里的同名字段(各自写域)。`docs/编号规范.md` §5.5 同步写死该例外的硬口径。零代码、零编号增删、两根护栏基线均未调整。 |
|
||||
| 2026-10-27 | **批次五:「数据可信」任务卡号整族清退 + 注入验证卡销项删行** | 用户指令「数据可信.md 已经完成的内容请进行销项删除,去除相关编号」。实测 **288 站点 / 56 文件**(代码与测试 191 / 文档 56 / 门禁配置与本文 41)全改语义短语;`docs/编号规范.md` §5 表首列由「序」改「标识(任务名)」、14 个旧号进 §9.3 换算表;顺带按属主文档判语义清掉同形态的悬空引用 4 处(「UI 补齐」波次的 `[comm]` 段前置项)。门禁面:编号字面量与不可判定绝对数**零变化**(中文前缀不在语料),收口复跑 `check_ids.py --strict` 与 `check_doc_links.py --all --sections-strict` |
|
||||
| 2026-10-27 | **批次四:`L-PROT` / `FEAT` 发号口关闭(`docs/编号规范.md` §4.1 七行→五行)+ 本文自述形态化 + 登记 `T-TEST` 机器面空白** | 用户指令「语义标识已定为默认形态,看看还有哪些编号族仍被引用、各自还剩多少,把能清的族清掉一批」。按门禁 `Checker` 实测三口径重打 §9 存量表:**真编号活引用只剩 `TC-*`(保留、水位 497/81 未涨)、`TRAP-*`、`CODE-RULE-*`、`MENU-STATE-*` 四族**,批次一/二涉及的 `N-*`/`TM-*`/`T-TEST`/`L-PROT`/`FEAT` 活引用均已归零。本笔:① `docs/编号规范.md` §4.1 把 `L<n>-<nn>`、`F-<MOD>-<nn>` 从『允许继续发号』整行移出并在『已停发』栏各写一行(含探针证据:新形态号 → 校验 3 错误级);② 本文 6 处形态自述改「字母+数字」描述,使四个族门禁命中归零、lesson 不丢;③ registry 给 `L-PROT`/`FEAT` 补 `retired`、给 `T-TEST` 补 cursor_note(pattern 上限即 3 → 冻结游标是空操作,停发今天只有规范效力);④ 分类登记 `docs/编号规范.md` §4.4 误判面(版本记号 / 活表代号 / 状态组合 / 位号)与 `docs/编号规范.md` §4.3 冻结波次号两类**不清**的理由。未改门禁判定逻辑、未动冻结历史与原始串口日志、未新增任何号。 |
|
||||
| 2026-10-28 | **编号门禁第二步落地:新增行拦截(零语料)** | 脚本(今在 `scripts/archive/id_gate/check_ids_new.py`)+ 钩子 `id-check-new`:只看新增行,破折形态未知前缀 FAIL、已停发族只 WARN、单字母+数字放行(元件位号同形,见该门禁 §6 盲区)。白名单是**前缀级**两张表(活族 11 条 / 器件与协议约 90 条),不是字面量账本——后者会退化成 `id_aliases.json` 的老路。调参依据:最近 80 笔真实提交回放,未知形态 15 种(12 种是设备与协议名、3 种是停发族),调好后误报 0;自检 5 正例 + 29 反例。与 `id-check` **双跑**一个观察期后再按 原编号规范 §8.5 ③ 退役旧语料。 |
|
||||
| 2026-10-28 | **编号门禁减负第一步:两根护栏转报告制** | 用户裁定「编号门禁每次浪费很多时间」→ 先摘掉语料审计的强制面。护栏 1(可判定比例基线)与护栏 2(不可判定绝对数上限)自此**只打印、不拦提交**;实测把基线调到 99.9%、上限调到 1 处,退出码仍为 0。硬拦只剩校验 1~6 的台账外新账(同一实测:新文件里写一个自造前缀 + 数字,校验 1 与增量拦截照旧 FAIL)。退役路线 ①②③ 写进 原编号规范 §8.5;减负依据 = 近 80 笔提交有 61 笔被编号体系牵连、语料共 99 族(78 族已冻结)。 |
|
||||
| 2026-10-28 | **变更记录行里已停发/作废族的示例编号改形态描述;并用门禁自身计数器把「这一笔能不能压下不可判定绝对数」钉死为零** | 用户指令:把变更记录行里已停发族的那几枚示例编号改成语义形态描述,并确认它让不可判定引用绝对数净减、不是只算自己这一笔。**实测裁定:净减 = 0**。门禁把「表格首格是日期」的行整行豁免于编号判定(registry 侧的变更记录豁免,本笔前全库已豁免 198 处站点),本表的示例编号从来不进引用总数分母,改它必然不动绝对数——改前改后同一个计数器均为 **1003**(上限 1166;可判定 87.43%,三项都是 2026-10-28 本回合实测)。唯一移动的是那行豁免计数本身(本文件少 1 处站点),把它当清退成果就是把自记账成全局减量,正是本笔要排除的错法。本文对该计数器的全部贡献 **6** 处,逐文件集合差实测:全是「非编号」判定栏里既定的噪声名与裸形盲区(哈希算法名、总线名、严重度档位、硬件位号),不是编号,不清。本笔动的 3 处只是写法:作废的网络条目孤儿号(F 前缀 + 模块码段 + 数字序号三段)与已删报告的 UI 簇(字母 U 紧跟一位数字,区间两端即该簇首尾两枚);事实本体仍在别名表、registry 游标备注与 git 历史,一处没丢。刻意不动:硬件位号形态的举例(判非编号)、保留现存号族的冻结游标数字(冻结水位的证据本体)、其它文档与注册表里的同名字段(各自写域)。原编号规范 §5.5 同步写死该例外的硬口径。零代码、零编号增删、两根护栏基线均未调整。 |
|
||||
| 2026-10-27 | **批次五:「数据可信」任务卡号整族清退 + 注入验证卡销项删行** | 用户指令「数据可信.md 已经完成的内容请进行销项删除,去除相关编号」。实测 **288 站点 / 56 文件**(代码与测试 191 / 文档 56 / 门禁配置与本文 41)全改语义短语;原编号规范 §5 表首列由「序」改「标识(任务名)」、14 个旧号进 §9.3 换算表;顺带按属主文档判语义清掉同形态的悬空引用 4 处(「UI 补齐」波次的 `[comm]` 段前置项)。门禁面:编号字面量与不可判定绝对数**零变化**(中文前缀不在语料),收口复跑 `check_ids.py --strict` 与 `check_doc_links.py --all --sections-strict` |
|
||||
| 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>` 从『允许继续发号』整行移出并在『已停发』栏各写一行(含探针证据:新形态号 → 校验 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 前缀 + 模块码段 + 数字序号的三段形态;§7 从无定义行)删号留事实、不补定义;13 个旧号标 `retired-to-phrase`。刻意不动:§7 编号列(历史对照)、`BSD_Socket_API_使用指南.md` 变更记录行、`docs/硬件平台/` 位号、Mermaid 节点名。`scripts/archive/id_gate/id_registry.json` FEAT `cursor_note` 改记停发口径(三模块各有最高号 → 不冻结游标的理由写在里面)。零代码语义变更。 |
|
||||
| 2026-10-27 | **停发机械化落地:34 个 `TC-HOST-*` 子族游标冻结,`docs/编号规范.md` §8 校验 5 开始咬新配的 TC 号** | 上一笔把缺口登记为「停发今天只有规范效力」并写明机械化怎么做;本笔照它落地、把话兑现:`scripts/archive/id_gate/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`,`docs/编号规范.md` §4.1 框内第三条与 §9.1 末段把这块空白及其兜底(校验 3 + 冻结水位 564/474/79 只减不增 + 评审)写明,并规定「给这些模块补号即使在文档里补了定义行也算违令」。§9.1 末段由「效力边界」改写为「机器口径已落地」,当日实测留作历史不抹。零代码、零编号增删。 |
|
||||
| 2026-10-27 | **停发口径收口:`TC-*` 从『允许继续发号』表整行移出,并登记「机器面还没冻结」这个缺口** | 裁定上一笔已入档,但效力写在了会被扫表读过的地方:`TC-*` 仍占着「允许继续发号」表第一行、用途列还写着「要进 C 断言标签」,那句"注意它已停发"只是表前的脚注;而那张表连表头行都在早先瘦身时丢了(GFM 里表格不能紧跟段落,整张塌成正文)。本笔:① 移出该行、补回表头与空行,『允许继续发号』写成**恰好 7 行**;② 表下加防误读框,把「不做了」的两条误读各钉一次——「维持原状所以还能发」与「停发所以顺手清掉/复用号」,并写明唯一重启入口 = 先裁定再回本节改表;③ 实测登记效力边界:registry 37 个 TC 类族仍有 35 个 `frozen: false` 带活游标,`docs/编号规范.md` §8 第 5 项碰不到它们(且 `cursor` 为空时该校验直接跳过),所以停发今天只有规范效力,机械化单独开卡走 §7.3;④ `docs/编号规范.md` §5.1 补「不在 7 行内第 ① 步就走不通」、§9.1 两条硬口径扩成三条(新增「停发 ≠ 待清」)并补效力边界段、§9.2 计数 8 → 7。同步:`AGENTS.md` 索引行、`docs/测试说明/流程与规范/测试文档模板规范.md` §6.3、`docs/门禁说明/host-unit-tests.md` §7 号段行(那里原文写着「新增用例要带号」,是最直接的误读源头)。零代码、零编号增删。 |
|
||||
| 2026-10-27 | **批次三裁定「不做」:`TC-*` 保留现状但即日停发** | 用户原话「批次三,不坐」(即不做)。裁定写进 §9.1 批次三(含理由与两条硬口径)、`docs/编号规范.md` §4.1『已停发』栏加一行、§9 结果表同步。停发的硬口径:游标冻结、现存号只减不增、**新用例一律用语义化测试函数名 + 文档表格行名,不再配 `TC-` 号**;真要清则先让追溯器同时认新旧两种形态、核对通过后单独开卡,不许先改文档再改代码(会造悬空号)。留着的判据依据:`TC-*` 是 `docs/编号规范.md` §4.1 那条判据(有脚本按字面量匹配)唯一真满足的族,字母号的痛在「人读」侧,解法是不再造给人读的号,而不是拆掉机器面的把手。 |
|
||||
| 2026-10-27 | **语义标识定为唯一默认形态;编号收窄为「机器按字面量匹配」的例外,并首次给出现量清点与三批计划** | 用户原话:「不要用字母加数字的编号,简直太难以理解了,语义标识是最好的」。本笔:① 标题下的一句话从「允许用号的族只有 8 个」改成「语义标识是唯一默认、编号是例外」,并把 `docs/编号规范.md` §4.1 拆成『允许继续发号』8 族与『已停发、存量待清』4 族(`N-*` / `TM-*` / 台架阶段裸形 / `F-*`)——原表自称穷举,实际漏登记了这三类在用族,属真缺陷。② 新增 §9 存量清点(用门禁自身接口实测:26 族仍有引用、565 个字面量、1,108 个引用站点)与三批计划:批次一 62 站点不碰门禁即可清、批次二保护功能号 184 站点转功能名、批次三 `TC-*` 561 站点需先换追溯机制(等用户裁定)。③ §8.1 基线按 2026-10-27 复测重打:784 文件 / 7,828 字面量、护栏 2 实跑 1,161 / 上限 1,166。 |
|
||||
| 2026-10-26 | **编号治理收口:清死号 → 停发活号 → 本文重写为短版(用户三次裁定)** | 全仓字母+数字编号 10,956 → 8,230 处。① **清死号**:属主登记处已删或从未启用的号一律就地删号留事实、禁补号(文本实删约 1,557 处)。② **停发活号**:登记簿 `N-x`/`S-x`/`T-x`、专项(A 前缀 + 数字)、已删报告的 UI 簇(字母 U 紧跟一位数字,区间两端即该簇首尾两枚)共 20 个号转成语义短语(约 418 处)——登记簿表首格就是短语,旧号进 `scripts/archive/id_gate/id_aliases.json` 标 `retired-to-phrase`;已销项的死号**故意不进别名表**,让门禁继续咬残留引用。③ **本文瘦身**:619 行 → 229 行,删掉八原则长表、迁移映射表、模块码表与门禁细节(那些各有事实源:registry / 别名表 / `docs/门禁说明/id-check.md`),改成「先问三句再决定要不要发号」+ `docs/编号规范.md` §4.1 允许用号的族**穷举 = 8 个**。④ **门禁配套**:`check_ids.py` 加变更记录行豁免与第二根护栏 `undecidable_total_ceiling`(比值会被清号动作稀释,绝对数不会),债务台账还清到 0 条 → `--strict` 实为全量拦截,比例基线重打为 86.0%。**本表按用户 2026-10-26 的明确指示只保留最近一条**,更早沿革看 `git log` 与 `docs/门禁说明/id-check.md` §7.5(含其后的方案 B 一节);这是**本文档的例外**,不改变 `docs/编号规范.md` §5.5对其他文档「冻结历史不回改」的约束。 |
|
||||
| 2026-10-27 | **停发机械化落地:34 个 `TC-HOST-*` 子族游标冻结,原编号规范 §8 校验 5 开始咬新配的 TC 号** | 上一笔把缺口登记为「停发今天只有规范效力」并写明机械化怎么做;本笔照它落地、把话兑现:`scripts/archive/id_gate/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 号段行(那里原文写着「新增用例要带号」,是最直接的误读源头)。零代码、零编号增删。 |
|
||||
| 2026-10-27 | **批次三裁定「不做」:`TC-*` 保留现状但即日停发** | 用户原话「批次三,不坐」(即不做)。裁定写进 §9.1 批次三(含理由与两条硬口径)、原编号规范 §4.1『已停发』栏加一行、§9 结果表同步。停发的硬口径:游标冻结、现存号只减不增、**新用例一律用语义化测试函数名 + 文档表格行名,不再配 `TC-` 号**;真要清则先让追溯器同时认新旧两种形态、核对通过后单独开卡,不许先改文档再改代码(会造悬空号)。留着的判据依据:`TC-*` 是 原编号规范 §4.1 那条判据(有脚本按字面量匹配)唯一真满足的族,字母号的痛在「人读」侧,解法是不再造给人读的号,而不是拆掉机器面的把手。 |
|
||||
| 2026-10-27 | **语义标识定为唯一默认形态;编号收窄为「机器按字面量匹配」的例外,并首次给出现量清点与三批计划** | 用户原话:「不要用字母加数字的编号,简直太难以理解了,语义标识是最好的」。本笔:① 标题下的一句话从「允许用号的族只有 8 个」改成「语义标识是唯一默认、编号是例外」,并把 原编号规范 §4.1 拆成『允许继续发号』8 族与『已停发、存量待清』4 族(`N-*` / `TM-*` / 台架阶段裸形 / `F-*`)——原表自称穷举,实际漏登记了这三类在用族,属真缺陷。② 新增 §9 存量清点(用门禁自身接口实测:26 族仍有引用、565 个字面量、1,108 个引用站点)与三批计划:批次一 62 站点不碰门禁即可清、批次二保护功能号 184 站点转功能名、批次三 `TC-*` 561 站点需先换追溯机制(等用户裁定)。③ §8.1 基线按 2026-10-27 复测重打:784 文件 / 7,828 字面量、护栏 2 实跑 1,161 / 上限 1,166。 |
|
||||
| 2026-10-26 | **编号治理收口:清死号 → 停发活号 → 本文重写为短版(用户三次裁定)** | 全仓字母+数字编号 10,956 → 8,230 处。① **清死号**:属主登记处已删或从未启用的号一律就地删号留事实、禁补号(文本实删约 1,557 处)。② **停发活号**:登记簿 `N-x`/`S-x`/`T-x`、专项(A 前缀 + 数字)、已删报告的 UI 簇(字母 U 紧跟一位数字,区间两端即该簇首尾两枚)共 20 个号转成语义短语(约 418 处)——登记簿表首格就是短语,旧号进 `scripts/archive/id_gate/id_aliases.json` 标 `retired-to-phrase`;已销项的死号**故意不进别名表**,让门禁继续咬残留引用。③ **本文瘦身**:619 行 → 229 行,删掉八原则长表、迁移映射表、模块码表与门禁细节(那些各有事实源:registry / 别名表 / `docs/门禁说明/id-check.md`),改成「先问三句再决定要不要发号」+ 原编号规范 §4.1 允许用号的族**穷举 = 8 个**。④ **门禁配套**:`check_ids.py` 加变更记录行豁免与第二根护栏 `undecidable_total_ceiling`(比值会被清号动作稀释,绝对数不会),债务台账还清到 0 条 → `--strict` 实为全量拦截,比例基线重打为 86.0%。**本表按用户 2026-10-26 的明确指示只保留最近一条**,更早沿革看 `git log` 与 `docs/门禁说明/id-check.md` §7.5(含其后的方案 B 一节);这是**本文档的例外**,不改变 原编号规范 §5.5对其他文档「冻结历史不回改」的约束。 |
|
||||
|
||||
Reference in New Issue
Block a user