Files
leaudit-platform-backend/rules/govdoc/govdoc_general/rules.yaml
T

547 lines
16 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
metadata:
type_id: govdoc_general
name: 内部公文通用规则
version: "0.1.0"
source: 公文文稿常见错误汇编(第一期)·2025-11
description: 基于旧内部公文正式规则语义整理的当前平台规则集。
extract:
# 8 个内置实体(title / doc_number / recipient / date /
# signature / attachments / wenzhong / issuer)由代码自动产出。
entities: []
rules:
- group: 标题(错误汇编 一)
rules:
- rule_id: GW-T-001
name: 标题文种合规性
severity: error
category: 标题
target: title
on_missing: fail
stages:
- check: ai
prompt: |
审查公文标题是否符合规范。
标题:{{title.text}}
15 种合法文种:决议、决定、命令(令)、公报、公告、通告、意见、
通知、通报、报告、请示、批复、议案、函、纪要
检查要点:
1. 是否使用了合法文种
2. 方案/规划/办法/细则等是否以"通知"形式下发(应为"关于印发〈xxx〉的通知"
3. 标题中是否有"印发"等动词
messages:
pass: 标题文种合规
fail: 标题文种不合规
- rule_id: GW-T-002
name: 标题不可有"请求"+"请示"重复
severity: error
category: 标题
target: title
on_missing: skip
stages:
- check: regex_forbid
pattern: '关于请求.*的请示'
messages:
pass: ok
fail: '"请示"已包含"请求"之意,应删去"请求"'
- rule_id: GW-T-003
name: 标题不可有"上报"+"报告"重复
severity: error
category: 标题
target: title
on_missing: skip
stages:
- check: regex_forbid
pattern: '关于上报.*的报告'
messages:
pass: ok
fail: '"报告"已包含"上报"之意,应删去"上报"'
- rule_id: GW-T-004
name: 标题介词连用
severity: warning
category: 标题
target: title
on_missing: skip
stages:
- check: regex_forbid
pattern: '关于对.*的(批复|通知|通报)'
messages:
pass: ok
fail: '"关于"+"对" 介词连用不规范'
- rule_id: GW-T-005
name: 标题文种白名单
severity: error
category: 文种
target: wenzhong
on_missing: skip
stages:
- check: wenzhong_whitelist
messages:
pass: 文种合规
fail: 非法定文种(出现"工作情况""汇报""方案""办法"等当文种)
- rule_id: GW-T-006
name: 标题回行词意完整
severity: warning
category: 标题
target: title
on_missing: skip
stages:
- check: ai
prompt: |
只在标题里**明确出现破词**时才报错。
破词示例:「广东省烟草专卖局关于xx的通知」如果在"专"和"卖"之间有换行 → fail
其它情况(单行标题、合理换行点、词意完整)→ **必须 pass**
判断准则:
- 标题已经是单行字符串,没有明显断点 → pass
- 不要凭直觉揣测,只判断是否能在原文中**逐字定位**破词位置
- 找不到具体破词位置就 pass
标题原文:
{{title.text}}
messages:
pass: 标题回行合规
fail: 标题回行破词
- group: 发文字号(错误汇编 三、六.3
rules:
- rule_id: GW-N-001
name: 发文字号必须用六角括号
severity: error
category: 发文
target: doc_number
on_missing: fail
stages:
- check: forbid_chars
chars: ["[", "]"]
messages:
pass: ok
fail: 发文字号年份应用六角括号「〔〕」,不得使用方括号
- rule_id: GW-N-002
name: 发文字号不可加"第"字
severity: error
category: 发文
target: doc_number
on_missing: fail
stages:
- check: regex_forbid
pattern: '\d{4}〕第\d+号'
messages:
pass: ok
fail: 发文字号顺序号前不应加"第"字
- rule_id: GW-N-003
name: 发文字号顺序号不编虚位
severity: error
category: 发文
target: doc_number
on_missing: fail
stages:
- check: regex_forbid
pattern: '\d{4}0\d+号'
messages:
pass: ok
fail: 发文字号顺序号不编虚位(如"02号"应为"2号"
- group: 格式(错误汇编 二)
rules:
- rule_id: GW-F-001
name: 主标题用方正小标宋简体二号
severity: error
category: 格式
target: title
on_missing: fail
stages:
- check: font
expect:
eastasia: 方正小标宋简体
size_pt: 22
messages:
pass: ok
fail: 主标题应使用方正小标宋简体二号
- rule_id: GW-F-002
name: 一级标题用黑体三号
severity: error
category: 格式
applies_to:
role: heading_1
on_missing: skip
stages:
- check: font
expect:
eastasia: 黑体
size_pt: 16
messages:
pass: ok
fail: 一级标题应使用黑体三号
- rule_id: GW-F-003
name: 二级标题用楷体三号
severity: error
category: 格式
applies_to:
role: heading_2
on_missing: skip
stages:
- check: font
expect:
eastasia: 楷体
size_pt: 16
messages:
pass: ok
fail: 二级标题应使用楷体三号
- rule_id: GW-F-004
name: 正文用仿宋三号
severity: warning
category: 格式
applies_to:
role: body
on_missing: skip
stages:
- check: font
expect:
eastasia: 仿宋
size_pt: 16
messages:
pass: ok
fail: 正文应使用仿宋(GB2312)三号
- rule_id: GW-F-005
name: 附件后不加冒号
severity: error
category: 格式
applies_to:
role: attachment_marker
on_missing: skip
stages:
- check: regex_forbid
pattern: '^附件\d+'
messages:
pass: ok
fail: '"附件1"等字样后不应加冒号'
- rule_id: GW-F-006
name: 不使用"(此页无正文)"
severity: warning
category: 格式
applies_to:
role: any
on_missing: skip
stages:
- check: forbid_phrase
phrases:
- (此页无正文)
- (此页无正文)
messages:
pass: ok
fail: 应通过编辑排版避免出现"(此页无正文)"
- rule_id: GW-F-007
name: 附件项末尾不加标点
severity: warning
category: 格式
applies_to:
role: any
on_missing: skip
stages:
- check: cross_role
rules:
- type: attachment_item_no_trailing_punct
messages:
pass: ok
fail: 附件名称(内容)后不应使用标点符号
- rule_id: GW-F-008
name: 三级标题用仿宋三号
severity: warning
category: 格式
applies_to:
role: heading_3
on_missing: skip
stages:
- check: font
expect:
eastasia: 仿宋
size_pt: 16
messages:
pass: ok
fail: 三级标题应使用仿宋(GB2312)三号
- rule_id: GW-F-009
name: 四级标题用仿宋三号
severity: warning
category: 格式
applies_to:
role: heading_4
on_missing: skip
stages:
- check: font
expect:
eastasia: 仿宋
size_pt: 16
messages:
pass: ok
fail: 四级标题应使用仿宋(GB2312)三号
- rule_id: GW-F-010
name: 附件标记用黑体三号不加粗
severity: error
category: 格式
applies_to:
role: attachment_marker
on_missing: skip
stages:
- check: attachment_marker_style
expect:
eastasia: 黑体
size_pt: 16
bold: false
messages:
pass: ok
fail: '"附件:"或"附件1"等标记应使用黑体三号,且不加粗'
- group: 层级序号(错误汇编 四)
rules:
- rule_id: GW-H-001
name: 层级序号格式
severity: error
category: 层级
applies_to:
role: any
on_missing: skip
stages:
- check: hierarchy
forbid_patterns:
- '^[一二三四五六七八九十]+、.*[、。]$'
- '^\d+、'
- '^([一二三四五六七八九十]+)、'
messages:
pass: ok
fail: 层级序号格式错误
- rule_id: GW-H-002
name: 二级标题换行不带句号
severity: warning
category: 层级
applies_to:
role: heading_2
on_missing: skip
stages:
- check: cross_role
rules:
- type: h2_no_period_then_break
messages:
pass: ok
fail: 二级标题在换行分段时不应使用句号
- group: 标点符号(错误汇编 六)
rules:
- rule_id: GW-P-001
name: 多书名号/引号并列不加顿号
severity: warning
category: 标点
applies_to:
role: any
on_missing: skip
stages:
- check: punctuation
rules:
- type: no_dunhao_between_quotes
messages:
pass: ok
fail: 多个书名号/引号并列时不应用顿号分隔
- rule_id: GW-P-002
name: 句内括号末尾不加标点
severity: warning
category: 标点
applies_to:
role: any
on_missing: skip
stages:
- check: punctuation
rules:
- type: no_punct_inside_inline_paren
messages:
pass: ok
fail: 句内括号行文末尾通常不应含标点
- rule_id: GW-P-003
name: 引号嵌套不规范
severity: warning
category: 标点
applies_to:
role: any
on_missing: skip
stages:
- check: punctuation
rules:
- type: no_outer_quote_when_inner_quote
messages:
pass: ok
fail: 双引号内已含单引号强调时,外层不应再加双引号(如"卓'粤'创一流"应为 卓"粤"创一流)
- group: 文字表述与提法(错误汇编 七、八、九)
rules:
- rule_id: GW-W-001
name: 易混淆词使用
severity: warning
category: 文字
applies_to:
role: any
on_missing: skip
stages:
- check: confused_pair
pairs:
- wrong: 截至到
correct: 截止到
reason: '"截至" 已含"到"之意'
- wrong: 下称
correct: 以下简称
reason: 标注简称应用"以下简称"
- wrong_pattern: '截止\d{4}年'
suggest: 截至YYYY年
reason: 用于到某时点应为"截至"
messages:
pass: ok
fail: 易混淆词使用不当
- rule_id: GW-W-002
name: 简称使用规范
severity: warning
category: 简称
applies_to:
role: body
on_missing: skip
stages:
- check: ai
prompt: |
只在文中出现以下两种省级职务简称错误时才报错,否则一律 pass:
- "X省省委书记" 错误(应为 "X省委书记",省字不重复)
- "X省长" 错误(应为 "X省省长",省字不可省略)
若文中没有"省委书记"或"省长"等省级职务字样,**必须 pass**。
若不能在文中找到准确的错误原文,**必须 pass**。
不要做语气、措辞、其它简称的检查。
全文片段:
{{paragraphs[0]}}
messages:
pass: 简称规范
fail: 简称使用不规范
- rule_id: GW-W-003
name: 成文日期用阿拉伯数字
severity: error
category: 提法
target: date
on_missing: fail
stages:
- check: regex_forbid
pattern: '[一二三四五六七八九十○〇零]+年'
messages:
pass: ok
fail: 成文日期应使用阿拉伯数字(如"2023年10月9日"
- rule_id: GW-W-004
name: 成文日期不编虚位
severity: warning
category: 提法
target: date
on_missing: fail
stages:
- check: regex_forbid
pattern: '\d{4}年0\d月|\d{4}年\d{1,2}月0\d日'
messages:
pass: ok
fail: 成文日期月、日不编虚位
- group: 发文机关(错误汇编 十)
rules:
- rule_id: GW-S-001
name: 发文机关署名不能用简称
severity: error
category: 机关
target: signature
on_missing: fail
stages:
- check: ai
prompt: |
判断署名是否含**明确的简称错误**。
典型错误:
- "广东省烟草专卖局(公司)" — 用括号缩短两个机关 → 错
- "省局" / "粤烟" 等单独缩写 → 错
典型正确:
- "广东省烟草专卖局" 单独出现 → pass(即使可能存在配套总公司,但单独存在不算简称)
- "广东省烟草专卖局 中国烟草总公司广东省公司" → pass
判断准则:
- 若署名是一个完整、官方、可独立成立的机关名 → **必须 pass**
- 若署名带"(公司)"、"省局"、明显缩写、行业内部代号 → fail
署名原文:
{{signature.text}}
messages:
pass: 署名规范
fail: 发文机关署名使用了简称
- rule_id: GW-S-002
name: 发文机关确定严谨性
severity: warning
category: 机关
target: signature
on_missing: fail
stages:
- check: ai
prompt: |
只判断**这一个明确条件**:
- 标题或正文里明确涉及"党组""党的xx工作""组织部""纪委"等党务事项,
但署名是行政机关(局/公司/委员会等),未署"党组"或党务机构 → fail
- 其它情况(行政事务、缺乏证据、性质模糊)→ **必须 pass**
判断时需要看到**明确的党务关键词**(党组/党委/党的xx会议/党风/反腐倡廉等),
没有这些关键词就 pass。
署名原文:{{signature.text}}
标题:{{title.text}}
messages:
pass: 发文机关一致
fail: 发文机关与文稿性质不一致
- group: 标题字体(target 通道示例)
rules:
- rule_id: GW-T-008
name: 标题字体(语义实体通道)
severity: warning
category: 标题
target: title
on_missing: warn
stages:
- check: ai
prompt: |
判断公文标题的字体与字号是否合规。
要求:字体 = 方正小标宋简体;字号 = 22pt(或 22.0)。
实际:
- 标题:{{title.text}}
- 字体:{{title.style.font_eastasia}}
- 字号:{{title.style.font_size_pt}}pt
若实际字体为空或与要求一致 → pass
若字体明显不符(例如 仿宋/楷体/黑体)→ fail
若仅字号轻微差异 → warn
messages:
pass: 标题字体字号合规
fail: 标题字体或字号不符合 GB/T 9704