gate: 占位符检测忽略代码围栏与反引号内文本——接口枚举值本身可能叫 TODO(团期芯片聚合态,#7204)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7Xpgcv9nncadAXQtWhg4P
这个提交包含在:
@@ -411,7 +411,9 @@ export function validateV2Document(file, text, { requireV2 = false } = {}) {
|
|||||||
errors.push(ruleError('E_TYPE_MISMATCH', file, `change_type=${metadata.change_type} 与文件名=${filenameType} 不一致`));
|
errors.push(ruleError('E_TYPE_MISMATCH', file, `change_type=${metadata.change_type} 与文件名=${filenameType} 不一致`));
|
||||||
}
|
}
|
||||||
// 单花括号是 REST 路径参数惯例({orderId}),只拦真正的模板残留:双花括号、TODO、待补充
|
// 单花括号是 REST 路径参数惯例({orderId}),只拦真正的模板残留:双花括号、TODO、待补充
|
||||||
if (/\{\{[^{}\n]+\}\}|\bTODO\b|待补充/i.test(body)) {
|
// 代码围栏与反引号内文本不参与占位符检测:接口枚举值本身可能就叫 TODO(团期芯片聚合态 TODO/DOING/DONE,#7204),契约必须能原样写枚举值。
|
||||||
|
const proseBody = body.replace(/```[\s\S]*?```/g, '').replace(/`[^`\n]*`/g, '');
|
||||||
|
if (/\{\{[^{}\n]+\}\}|\bTODO\b|待补充/i.test(proseBody)) {
|
||||||
errors.push(ruleError('E_PLACEHOLDER', file, '正文仍有 TODO、待补充或模板占位符'));
|
errors.push(ruleError('E_PLACEHOLDER', file, '正文仍有 TODO、待补充或模板占位符'));
|
||||||
}
|
}
|
||||||
// 接口类条目必须逐项遵循根模板,保证前端不依赖 Swagger 或口头补充也能联调。
|
// 接口类条目必须逐项遵循根模板,保证前端不依赖 Swagger 或口头补充也能联调。
|
||||||
|
|||||||
在新工单中引用
屏蔽一个用户