dsh-eia-guide-check 0.0.0-stage → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/LICENSE +15 -0
- package/README-es.md +95 -0
- package/README-hi.md +95 -0
- package/README-pt.md +95 -0
- package/README-zh.md +95 -0
- package/README.md +140 -2
- package/SECURITY.md +39 -0
- package/cordis.patch.yml +8 -0
- package/icon.svg +6 -0
- package/lib/index.d.mts +52 -0
- package/lib/index.mjs +2717 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +90 -4
- package/rules/citations-baseline.json +4 -0
- package/rules/eia-guide-check.yaml +184 -0
package/locale/en.json
ADDED
package/locale/zh.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,92 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-eia-guide-check",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "环评导则适用性核对(按要素、导则名称与执行标准核对台账自洽,仅提示差异,不作出定性结论)",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "lib/index.mjs",
|
|
7
|
+
"types": "lib/index.d.mts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./lib/index.d.mts",
|
|
11
|
+
"default": "./lib/index.mjs"
|
|
12
|
+
},
|
|
13
|
+
"./locale/*.json": "./locale/*.json",
|
|
14
|
+
"./icon": "./icon.svg"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"lib",
|
|
18
|
+
"cordis.patch.yml",
|
|
19
|
+
"README.md",
|
|
20
|
+
"README-zh.md",
|
|
21
|
+
"README-es.md",
|
|
22
|
+
"README-pt.md",
|
|
23
|
+
"README-hi.md",
|
|
24
|
+
"locale/*.json",
|
|
25
|
+
"icon.svg",
|
|
26
|
+
"rules",
|
|
27
|
+
"CHANGELOG.md",
|
|
28
|
+
"SECURITY.md"
|
|
29
|
+
],
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "tsdown",
|
|
32
|
+
"typecheck": "tsc --noEmit",
|
|
33
|
+
"test": "vitest run",
|
|
34
|
+
"verify:self-contained": "node scripts/verify-self-contained.mjs",
|
|
35
|
+
"check:lockfile": "node scripts/check-lockfile-drift.mjs",
|
|
36
|
+
"check:readmes": "node scripts/check-readme-sync.mjs",
|
|
37
|
+
"prepublishOnly": "pnpm run typecheck && pnpm test && pnpm run build && pnpm run verify:self-contained && pnpm run check:lockfile && pnpm run check:readmes && pnpm run check:citations",
|
|
38
|
+
"prepare": "tsdown",
|
|
39
|
+
"check:citations": "node scripts/check-citations.mjs"
|
|
40
|
+
},
|
|
41
|
+
"dsh": {
|
|
42
|
+
"manifestVersion": 1,
|
|
43
|
+
"bundle": {
|
|
44
|
+
"patch": "./cordis.patch.yml"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"keywords": [
|
|
48
|
+
"deepseek-harness",
|
|
49
|
+
"dsh",
|
|
50
|
+
"dsh-plugin",
|
|
51
|
+
"cordis",
|
|
52
|
+
"eia",
|
|
53
|
+
"guide"
|
|
54
|
+
],
|
|
55
|
+
"author": {
|
|
56
|
+
"name": "PerryLink"
|
|
57
|
+
},
|
|
58
|
+
"license": "Apache-2.0",
|
|
59
|
+
"repository": {
|
|
60
|
+
"type": "git",
|
|
61
|
+
"url": "git+https://github.com/PerryLink/dsh-eia-guide-check.git"
|
|
62
|
+
},
|
|
63
|
+
"bugs": {
|
|
64
|
+
"url": "https://github.com/PerryLink/dsh-eia-guide-check/issues"
|
|
65
|
+
},
|
|
66
|
+
"homepage": "https://github.com/PerryLink/dsh-eia-guide-check#readme",
|
|
67
|
+
"publishConfig": {
|
|
68
|
+
"access": "public"
|
|
69
|
+
},
|
|
70
|
+
"engines": {
|
|
71
|
+
"node": "^22.19.0 || >=24.0.0",
|
|
72
|
+
"dsh": ">=0.2.1-alpha.1"
|
|
73
|
+
},
|
|
74
|
+
"packageManager": "pnpm@11.7.0",
|
|
75
|
+
"peerDependencies": {
|
|
76
|
+
"@deepseek-ai/cordis": "^4.0.2",
|
|
77
|
+
"@deepseek-ai/dsh-tools": ">=0.1.2-rc.1 <0.2.0 || >=0.2.0-0 <0.3.0",
|
|
78
|
+
"@deepseek-ai/schemastery": "^3.18.2"
|
|
79
|
+
},
|
|
80
|
+
"devDependencies": {
|
|
81
|
+
"@deepseek-ai/cordis": "4.0.5-alpha.1",
|
|
82
|
+
"@deepseek-ai/dsh-package-manifest": "0.2.1-alpha.1",
|
|
83
|
+
"@deepseek-ai/dsh-tools": "0.2.1-alpha.1",
|
|
84
|
+
"@deepseek-ai/schemastery": "3.18.5-alpha.1",
|
|
85
|
+
"@types/node": "^22.20.1",
|
|
86
|
+
"vitest": "^3.2.7"
|
|
87
|
+
},
|
|
88
|
+
"dependencies": {
|
|
89
|
+
"tsdown": "^0.22.14",
|
|
90
|
+
"typescript": "^5.9.3"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# 环评导则适用性核对 规则库
|
|
2
|
+
#
|
|
3
|
+
# 规则数据与代码分离:替换本文件即可切换规则集版本,无需改动 TypeScript。
|
|
4
|
+
#
|
|
5
|
+
# 条款引用纪律(由 shared/ruleset.ts 强制校验):
|
|
6
|
+
# - 每条规则必须写全 document / number / clause / excerpt / kind / source,
|
|
7
|
+
# 且 excerpt 必须是逐字摘录,不得改写。
|
|
8
|
+
# - kind: direct 条款直接规定了所检查的要求
|
|
9
|
+
# - kind: derived-from-principle 条款未直接规定,仅能由原则性条款推论(severity 最多 warn)
|
|
10
|
+
# - kind: institutional-configuration 阈值出自本机构配置(severity 最多 info)
|
|
11
|
+
#
|
|
12
|
+
# ⚠️⚠️ 本规则库的诚实说明:**excerpt 一律不是引文。**
|
|
13
|
+
# 本插件核对的是"环境影响评价导则适用性核对表"的**齐备与可追溯**:
|
|
14
|
+
# 评价要素是否填写、是否指明适用导则名称与编号、导则现行状态是否在册、
|
|
15
|
+
# 评价方法与执行标准是否填写、评价范围与因子是否记录、
|
|
16
|
+
# 要素是否重复登记、是否残留模板占位符。
|
|
17
|
+
# 其规范载体是**《环境影响评价技术导则》系列(HJ 2.1 总纲、HJ 2.2 大气、HJ 2.3 地表水、
|
|
18
|
+
# HJ 2.4 声环境、HJ 964 土壤、HJ 19 生态影响等)**与《建设项目环境影响评价分类管理名录》。
|
|
19
|
+
# **核查未取得这些导则的逐字条文,也未逐一核实各导则的现行版本号**,
|
|
20
|
+
# 故每条 excerpt 如实写明,kind 降为 derived-from-principle(封顶 warn)。
|
|
21
|
+
#
|
|
22
|
+
# ⚠️⚠️ 另一条**必须保留**的边界:**本插件绝不判定环评文件是否合规、
|
|
23
|
+
# 评价等级划分是否正确、预测模式是否适用、结论是否成立**。
|
|
24
|
+
# 那需要环评工程师与审批部门依法审查,也是环评工作的实质内容。
|
|
25
|
+
# → **本插件不内置导则清单**:它没有能力把"评价要素"映射到"应当适用哪本导则",
|
|
26
|
+
# 也**不试图做这件事**。"适用导则"栏是台账自己写的,本插件只核对它是否写了、写了什么状态。
|
|
27
|
+
# → 因此它**发现不了"该用 HJ 2.3 却用了别的导则"** —— 这是本插件最重要的能力边界。
|
|
28
|
+
# → **导则编号格式(guideCodePattern)与现行状态取值(guideStatusValues)都出厂为空。**
|
|
29
|
+
|
|
30
|
+
plugin: dsh-eia-guide-check
|
|
31
|
+
version: "2026.1"
|
|
32
|
+
|
|
33
|
+
rules:
|
|
34
|
+
- id: EG-001
|
|
35
|
+
title: 每条要素都应指明适用导则
|
|
36
|
+
severity: warn
|
|
37
|
+
basis:
|
|
38
|
+
document: 《环境影响评价技术导则》系列
|
|
39
|
+
number: 各导则现行版本号本次未逐一核实
|
|
40
|
+
clause: 关于评价导则适用的条款(本次未取得条号)
|
|
41
|
+
excerpt: 该条文本次未取得:核查未获得该文件的逐字原文,本规则库不伪造引文。
|
|
42
|
+
kind: derived-from-principle
|
|
43
|
+
source: https://www.mee.gov.cn/
|
|
44
|
+
params:
|
|
45
|
+
check:
|
|
46
|
+
kind: presenceAny
|
|
47
|
+
fields: ["guideName","guideCode"]
|
|
48
|
+
fix: 补填适用导则名称与编号;本条只核对是否指明,不判断适用是否正确
|
|
49
|
+
note: >-
|
|
50
|
+
"某个环境要素依据哪本导则评价"是环评工作的**第一个追溯点**:
|
|
51
|
+
不写明,评审与复核都无从判断方法是否正确。
|
|
52
|
+
本次未取得明文条号,故封顶 warn。
|
|
53
|
+
⚠️ **本条只核对"是否指明",不核对"指明得对不对"** ——
|
|
54
|
+
把某个要素映射到应当适用的导则需要查阅名录与各导则的适用范围,
|
|
55
|
+
**本插件不内置导则清单,也不做这个映射**。
|
|
56
|
+
|
|
57
|
+
- id: EG-002
|
|
58
|
+
title: 导则编号应符合本机构配置的形式
|
|
59
|
+
severity: warn
|
|
60
|
+
basis:
|
|
61
|
+
document: 《环境影响评价技术导则》系列
|
|
62
|
+
number: 各导则现行版本号本次未逐一核实
|
|
63
|
+
clause: 关于导则编号的条款(本次未取得条号)
|
|
64
|
+
excerpt: 该条文本次未取得:核查未获得该文件的逐字原文,本规则库不伪造引文。
|
|
65
|
+
kind: derived-from-principle
|
|
66
|
+
source: https://www.mee.gov.cn/
|
|
67
|
+
params:
|
|
68
|
+
check:
|
|
69
|
+
kind: pattern
|
|
70
|
+
field: guideCode
|
|
71
|
+
pattern: ^HJ\s?[0-9]+(\.[0-9]+)?[-—][0-9]{4}$
|
|
72
|
+
fix: 导则编号应写成 HJ 2.3—2018 这样的形式
|
|
73
|
+
note: >-
|
|
74
|
+
导则编号是**可复核的定位符**:写法不规范,就无法在标准文本中定位到具体版本。
|
|
75
|
+
本条按"HJ 数字(可带小数)—四位年份"的形式核对;本次未取得明文条号,故封顶 warn。
|
|
76
|
+
⚠️ 本条**只核对形式**,**不核对编号是否真实存在、是否现行有效**,
|
|
77
|
+
也**不核对是否与所填名称对应** —— 名号是否匹配需要查标准目录,本插件不做。
|
|
78
|
+
若本机构台账使用其它写法,改 pattern 即可。
|
|
79
|
+
|
|
80
|
+
- id: EG-003
|
|
81
|
+
title: 导则现行状态应使用本机构口径的取值
|
|
82
|
+
severity: info
|
|
83
|
+
basis:
|
|
84
|
+
document: 本机构环评质量管理口径(本机构配置)
|
|
85
|
+
number: 无统一标准(本条依据为本机构配置的状态口径)
|
|
86
|
+
clause: 关于导则版本状态的条款(本次未取得条号)
|
|
87
|
+
excerpt: 本条依据为本机构配置的口径,不存在可引用的标准条文;本规则库不伪造引文。
|
|
88
|
+
kind: institutional-configuration
|
|
89
|
+
source: https://www.mee.gov.cn/
|
|
90
|
+
params:
|
|
91
|
+
check:
|
|
92
|
+
kind: enum
|
|
93
|
+
field: guideStatus
|
|
94
|
+
values: []
|
|
95
|
+
note: >-
|
|
96
|
+
values 出厂为空,表示**未配置**,本条进 skipped。
|
|
97
|
+
依据说明:导则状态的口径(例如「现行」「已废止」「被替代」「部分适用」)
|
|
98
|
+
随**本机构质量管理口径**变化,本插件**不硬编码任何取值清单**,
|
|
99
|
+
也**不内置各导则的现行版本表**(那需要持续跟踪生态环境部的发布与废止公告)。
|
|
100
|
+
本条只核对所填值是否在册,**不判断该导则是否真的现行有效**。
|
|
101
|
+
|
|
102
|
+
- id: EG-004
|
|
103
|
+
title: 每条要素都应填写评价方法与执行标准
|
|
104
|
+
severity: warn
|
|
105
|
+
basis:
|
|
106
|
+
document: 《环境影响评价技术导则 总纲》
|
|
107
|
+
number: HJ 2.1(现行版本号与条号本次未核实)
|
|
108
|
+
clause: 关于评价方法与标准依据的条款(本次未取得条号)
|
|
109
|
+
excerpt: 该条文本次未取得:核查未获得该文件的逐字原文,本规则库不伪造引文。
|
|
110
|
+
kind: derived-from-principle
|
|
111
|
+
source: https://www.mee.gov.cn/
|
|
112
|
+
params:
|
|
113
|
+
check:
|
|
114
|
+
kind: presenceAny
|
|
115
|
+
fields: ["method","standard"]
|
|
116
|
+
fix: 补填评价方法与执行标准;本条只核对是否填写,不判断方法是否适用
|
|
117
|
+
note: >-
|
|
118
|
+
评价方法与执行标准是环评结论的**两个支撑点**:缺其一,
|
|
119
|
+
预测结果与达标判断都没有依据。本次未取得明文条号,故封顶 warn。
|
|
120
|
+
本条只核对"至少填了一个",**不判断该方法是否适用、该标准是否正确**。
|
|
121
|
+
|
|
122
|
+
- id: EG-005
|
|
123
|
+
title: 评价要素不应在表内重复登记
|
|
124
|
+
severity: warn
|
|
125
|
+
basis:
|
|
126
|
+
document: 《环境影响评价技术导则 总纲》
|
|
127
|
+
number: HJ 2.1(现行版本号与条号本次未核实)
|
|
128
|
+
clause: 关于评价要素识别的条款(本次未取得条号)
|
|
129
|
+
excerpt: 该条文本次未取得:核查未获得该文件的逐字原文,本规则库不伪造引文。
|
|
130
|
+
kind: derived-from-principle
|
|
131
|
+
source: https://www.mee.gov.cn/
|
|
132
|
+
params:
|
|
133
|
+
check:
|
|
134
|
+
kind: unique
|
|
135
|
+
field: element
|
|
136
|
+
note: >-
|
|
137
|
+
同一评价要素重复登记,会让人无法判断该要素到底按哪一本导则评价,
|
|
138
|
+
也可能意味着适用导则前后不一致。本次未取得明文条号,故封顶 warn。
|
|
139
|
+
⚠️ 本条**命中需要人工确认**:同一要素分环境介质(如"地表水"下分水质与底泥)
|
|
140
|
+
分别评价是常见的,此时应在要素名称里写清子项,而不是简单删除。
|
|
141
|
+
|
|
142
|
+
- id: EG-006
|
|
143
|
+
title: 核对表应声明项目与环评文件类型
|
|
144
|
+
severity: warn
|
|
145
|
+
basis:
|
|
146
|
+
document: 《建设项目环境影响评价分类管理名录》
|
|
147
|
+
number: 现行版本与条号本次未核实
|
|
148
|
+
clause: 关于环评文件类型的条款(本次未取得条号)
|
|
149
|
+
excerpt: 该条文本次未取得:核查未获得该文件的逐字原文,本规则库不伪造引文。
|
|
150
|
+
kind: derived-from-principle
|
|
151
|
+
source: https://www.mee.gov.cn/
|
|
152
|
+
params:
|
|
153
|
+
check:
|
|
154
|
+
kind: headerPresence
|
|
155
|
+
fields: ["project","reportType"]
|
|
156
|
+
note: >-
|
|
157
|
+
核对表若不写明项目与环评文件类型(报告书/报告表/登记表),
|
|
158
|
+
导则适用性与评价等级就无从判断——**因为类型决定了适用哪一套要求**。
|
|
159
|
+
本次未取得明文条号,故封顶 warn。
|
|
160
|
+
配置项 project 对应材料表头的项目名称,reportType 对应环评文件类型。
|
|
161
|
+
⚠️ 本条只核对表头是否声明,**不判断该类型划分是否正确**。
|
|
162
|
+
|
|
163
|
+
- id: EG-007
|
|
164
|
+
title: 执行标准栏不应残留未替换的占位符
|
|
165
|
+
severity: warn
|
|
166
|
+
basis:
|
|
167
|
+
document: 《环境影响评价技术导则 总纲》
|
|
168
|
+
number: HJ 2.1(现行版本号与条号本次未核实)
|
|
169
|
+
clause: 关于执行标准的条款(本次未取得条号)
|
|
170
|
+
excerpt: 该条文本次未取得:核查未获得该文件的逐字原文,本规则库不伪造引文。
|
|
171
|
+
kind: derived-from-principle
|
|
172
|
+
source: https://www.mee.gov.cn/
|
|
173
|
+
params:
|
|
174
|
+
check:
|
|
175
|
+
kind: containsAny
|
|
176
|
+
field: standard
|
|
177
|
+
terms: ["【","】","{{","}}","XXX","xxx","待填","待补充","TBD","todo","示例"]
|
|
178
|
+
fix: 执行标准应填写实际标准号;残留占位符说明核对表是照模板抄的
|
|
179
|
+
note: >-
|
|
180
|
+
核对表常由模板复制而来,执行标准栏留下【】、XXX、待填、TBD 之类占位符时,
|
|
181
|
+
会让人误以为已经查了标准 —— **而没有标准的达标判断是没有意义的**。
|
|
182
|
+
本次未取得明文条号,故封顶 warn。terms 可按本机构模板调整。
|
|
183
|
+
|
|
184
|
+
disabled: []
|