已关闭
[Bug-Report|缺陷反馈]: codearts_check_rule_config.md 第 87 行 CPP 代码块缺闭合围栏,但补它必被 codespell 拦(NAM 是规则编号) #6434
eieiei创建于 15 天前关闭于 8 天前
yuning_chen
15 天前 评论:
15 天前 评论:
15 天前 将 cong-jiyu 设为负责人
14 天前 关联了pull request:fix: Modify the AIDD docs issue
14 天前 删除了关联的pull request:fix: Modify the AIDD docs issue
14 天前 issue状态由 进行中 改变为 已确认
14 天前 关联了pull request:fix: Modify the AIDD docs issue
丛吉钰
14 天前 评论:
14 天前 评论:
/assign zwj223


8 天前 关闭了 issue
8 天前 添加了label:resolved
问题一:漏闭合围栏(同一判据在全仓扫描里唯一剩下的一处)
codearts_check_rule_config.md第 87 行开了CPP之后没有闭合围栏,于是第 96 行的CPP(带 info,按 CommonMark 不算闭栏)被当成代码内容,真正的裸闭栏要到第 100 行才出现 —— 结果第 91 行的## 【错误示例】标题与第 93-95 行正文整段被吞进代码块,页面上不再渲染成标题。复核方式(本机 python3 即可,不需要 CANN 环境)。判据:裸 ``` 才算闭栏,带 info 的围栏只是内容:
import re lines = open("codearts_check_rule_config.md", encoding="utf-8").read().splitlines() open_, spans = None, [] for i, ln in enumerate(lines, 1): m = re.match(r"^\s*(`{3,}|~{3,})(.*)$", ln) if not m: continue fence, rest = m.group(1), m.group(2).strip() if open_ is None: open_ = (fence, i) elif len(fence) >= len(open_[0]) and rest == "": spans.append((open_[1], i)); open_ = None print("配对出的代码块:", spans)实测:第 87 行的开栏与第 100 行的裸闭栏配对,即
(87, 100)一个代码块;而作者的意图是(87, 90)+(96, 100)两块。同一判据我扫了 ops-nn 全仓 1451 个
.md,除 !11552 覆盖的 12 份算子文档外只剩这一处。问题二:修它一定红门禁 ——
NAM是规则编号,不是拼写错误我在 !11552 里先按「同一判据一致执行」补了那 1 行闭栏,CI 立刻红在 pre-commit 的 codespell(run#11294,https://gitcode.com/CANN/ops-nn/actions/runs/fd9d4c9d8fa04f68852c6e073357cf86 ,日志原文):
原因是 pre-commit 只在「本 PR 变更的文件」上跑 codespell,这个文件历史上没被改过所以一直没被查;而仓内
.pre-commit-config.yaml给的忽略表是:NAM不在里面。可NAM并不是拼错:它是这篇文档的规则编号命名空间 —— 第 25 行是表格行[G.NAM.02-CPP C++文件名和类名保持一致](中英双链,锚点也带G.NAM.02),第 1228 行是对应的章节标题# G.NAM.02-CPP C++文件名和类名保持一致。照 codespell 的建议改成G.NAME.02会同时改掉规则号和站内锚点,属于改内容而不是修格式。本机复现(用上面那串原样参数跑 !11552 的 13 个变更文件,只有这个文件报错,与 CI 逐行一致):
(codespell 2.4.3 本机版;仓内 pre-commit 钉的是 v2.4.1。)
(另:CI 报
:1229而本机跑 master 原文件报:1228,差 1 行是因为我那版在上方多插了 1 行闭栏;两边指向的都是同一条# G.NAM.02-…标题。)请定口径(修法不唯一,我不替你猜)
.pre-commit-config.yaml的 codespell-L列表里加NAM—— 一行配置,之后这篇文档能正常维护;:25、:1229加行内豁免codespell:ignore—— 但这是 Markdown 表格行,豁免串会进正文,显示上不干净;NAM就是会撞 codespell」,调整这篇文档的编号命名空间 —— 影响面最大,历史引用与外链锚点会断。口径定了之后我可以把两处一起提:问题一的那 1 行闭栏 + 问题二选定的那 1 处配置。已撤出 !11552 的对应改动与定界证据见该 PR 里 08:56 的评论。
影响
## 【错误示例】整节以代码形式显示,「错误示例」的标题层级丢失,页内目录里也看不到。(自查:!11552 上一版因为我加了那 1 行闭栏而红 run#11294,已撤下并把范围收回 12 份算子文档,新 head
cead154b5。)