@passwerk/rules 0.1.0
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/LICENSE +202 -0
- package/PROVENANCE.md +64 -0
- package/README.md +59 -0
- package/artefacts/aas/3.0.9/aas.json +1522 -0
- package/artefacts/aas/3.1.2/aas.json +1532 -0
- package/artefacts/batterypass/2025_Battery_Passport_Data_Attributes_V1.2.xlsx +0 -0
- package/artefacts/batterypass/samm/CarbonFootprint-1.2.0.ttl +96 -0
- package/artefacts/batterypass/samm/Circularity-1.2.0.ttl +280 -0
- package/artefacts/batterypass/samm/GeneralProductInformation-1.2.0.ttl +200 -0
- package/artefacts/batterypass/samm/Labels-1.2.0.ttl +65 -0
- package/artefacts/batterypass/samm/MaterialComposition-1.2.0.ttl +188 -0
- package/artefacts/batterypass/samm/Performance-1.2.1.ttl +660 -0
- package/artefacts/batterypass/samm/SupplyChainDueDiligence-1.2.0.ttl +45 -0
- package/artefacts/ec/2026-08-15_data-points-by-category_v2.0.pdf +0 -0
- package/artefacts/idta/02035-1/1.0/template.aasx +0 -0
- package/artefacts/idta/02035-1/1.0/template.json +2276 -0
- package/artefacts/idta/02035-1/1.0/template.noexamples.json +2263 -0
- package/artefacts/idta/02035-2/1.0/template.aasx +0 -0
- package/artefacts/idta/02035-2/1.0/template.json +2991 -0
- package/artefacts/idta/02035-2/1.0/template.noexamples.json +2990 -0
- package/artefacts/idta/02035-3/1.0/template.aasx +0 -0
- package/artefacts/idta/02035-3/1.0/template.json +1644 -0
- package/artefacts/idta/02035-3/1.0/template.noexamples.json +1643 -0
- package/artefacts/idta/02035-4/1.0.1/template.aasx +0 -0
- package/artefacts/idta/02035-4/1.0.1/template.json +4248 -0
- package/artefacts/idta/02035-4/1.0.1/template.noexamples.json +4219 -0
- package/artefacts/idta/02035-5/1.0.2/template.aasx +0 -0
- package/artefacts/idta/02035-5/1.0.2/template.json +4185 -0
- package/artefacts/idta/02035-6/1.0.1/template.aasx +0 -0
- package/artefacts/idta/02035-6/1.0.1/template.json +2167 -0
- package/artefacts/idta/02035-6/1.0.1/template.noexamples.json +2160 -0
- package/artefacts/idta/02035-7/1.0.1/template.aasx +0 -0
- package/artefacts/idta/02035-7/1.0.1/template.json +3296 -0
- package/artefacts/idta/02035-7/1.0.1/template.noexamples.json +3296 -0
- package/artefacts/manifest.json +417 -0
- package/dist/artefacts/aas/3.0.9/aas.json +1522 -0
- package/dist/artefacts/aas/3.1.2/aas.json +1532 -0
- package/dist/artefacts/idta/02035-1/1.0/template.json +2276 -0
- package/dist/artefacts/idta/02035-1/1.0/template.noexamples.json +2263 -0
- package/dist/artefacts/idta/02035-2/1.0/template.json +2991 -0
- package/dist/artefacts/idta/02035-2/1.0/template.noexamples.json +2990 -0
- package/dist/artefacts/idta/02035-3/1.0/template.json +1644 -0
- package/dist/artefacts/idta/02035-3/1.0/template.noexamples.json +1643 -0
- package/dist/artefacts/idta/02035-4/1.0.1/template.json +4248 -0
- package/dist/artefacts/idta/02035-4/1.0.1/template.noexamples.json +4219 -0
- package/dist/artefacts/idta/02035-5/1.0.2/template.json +4185 -0
- package/dist/artefacts/idta/02035-6/1.0.1/template.json +2167 -0
- package/dist/artefacts/idta/02035-6/1.0.1/template.noexamples.json +2160 -0
- package/dist/artefacts/idta/02035-7/1.0.1/template.json +3296 -0
- package/dist/artefacts/idta/02035-7/1.0.1/template.noexamples.json +3296 -0
- package/dist/artefacts/manifest.json +417 -0
- package/dist/kb/attributes/01-identifiers.json +483 -0
- package/dist/kb/attributes/02-labels-conformity.json +319 -0
- package/dist/kb/attributes/03-carbon-footprint.json +421 -0
- package/dist/kb/attributes/04-due-diligence.json +163 -0
- package/dist/kb/attributes/05-materials.json +264 -0
- package/dist/kb/attributes/06-circularity.json +758 -0
- package/dist/kb/attributes/07-performance-electrical.json +1118 -0
- package/dist/kb/attributes/08-performance-lifetime.json +837 -0
- package/dist/kb/carrier.json +44 -0
- package/dist/kb/ec-datapoints.json +866 -0
- package/dist/kb/generated/batterypass-samm.json +3310 -0
- package/dist/kb/generated/din-longlist.json +2610 -0
- package/dist/kb/generated/template-catalogue.json +7788 -0
- package/dist/kb/rules.json +524 -0
- package/dist/kb/timeline.json +422 -0
- package/dist/src/index.d.ts +75 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +214 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/types.d.ts +298 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +6 -0
- package/dist/src/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/kb/attributes/01-identifiers.json +483 -0
- package/kb/attributes/02-labels-conformity.json +319 -0
- package/kb/attributes/03-carbon-footprint.json +421 -0
- package/kb/attributes/04-due-diligence.json +163 -0
- package/kb/attributes/05-materials.json +264 -0
- package/kb/attributes/06-circularity.json +758 -0
- package/kb/attributes/07-performance-electrical.json +1118 -0
- package/kb/attributes/08-performance-lifetime.json +837 -0
- package/kb/attributes/README.md +74 -0
- package/kb/carrier.json +44 -0
- package/kb/ec-datapoints.json +866 -0
- package/kb/generated/batterypass-samm.json +3310 -0
- package/kb/generated/din-longlist.json +2610 -0
- package/kb/generated/template-catalogue.json +7788 -0
- package/kb/rules.json +524 -0
- package/kb/timeline.json +422 -0
- package/package.json +59 -0
|
@@ -0,0 +1,422 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$comment": "Legal timeline for the EU battery passport. Every date was read from the consolidated text of Regulation (EU) 2023/1542 (02023R1542-20250731, as amended by Regulations (EU) 2024/1781 and 2025/1561) or from the cited official document on 2026-09-03. 'dateRule' = 'fixed' means the date is in the regulation text; 'latest_of' means the regulation says 'from <date> or <n> months after entry into force of the delegated/implementing act, whichever is the latest', so the effective date moves if the act is late. Entries with verify: true were taken from secondary sources and must be confirmed against the primary act before being shown to users as fact.",
|
|
3
|
+
"lastVerified": "2026-09-03",
|
|
4
|
+
"sources": {
|
|
5
|
+
"BR": {
|
|
6
|
+
"title": "Regulation (EU) 2023/1542 of the European Parliament and of the Council of 12 July 2023 concerning batteries and waste batteries",
|
|
7
|
+
"consolidated": "02023R1542-20250731",
|
|
8
|
+
"url": "https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:02023R1542-20250731",
|
|
9
|
+
"amendedBy": ["Regulation (EU) 2024/1781 (ESPR)", "Regulation (EU) 2025/1561"]
|
|
10
|
+
},
|
|
11
|
+
"AMEND-2025-1561": {
|
|
12
|
+
"title": "Regulation (EU) 2025/1561 of 18 July 2025 amending Regulation (EU) 2023/1542 as regards obligations of economic operators concerning battery due diligence policies",
|
|
13
|
+
"url": "http://data.europa.eu/eli/reg/2025/1561/oj",
|
|
14
|
+
"published": "2025-07-30"
|
|
15
|
+
},
|
|
16
|
+
"EC-GUIDANCE-V2": {
|
|
17
|
+
"title": "European Commission, Guidance Document: Digital Batteries Passport - data points by category, Version 2.0",
|
|
18
|
+
"date": "2026-08-15",
|
|
19
|
+
"reference": "Ares(2026)7968977"
|
|
20
|
+
},
|
|
21
|
+
"IDTA-02035": {
|
|
22
|
+
"title": "IDTA 02035-1 to -7 Digital Battery Passport submodel templates (IDTA / Catena-X)",
|
|
23
|
+
"url": "https://github.com/admin-shell-io/submodel-templates/tree/main/published/Digital%20Battery%20Passport"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"events": [
|
|
27
|
+
{
|
|
28
|
+
"id": "br-entry-into-force",
|
|
29
|
+
"date": "2023-08-17",
|
|
30
|
+
"dateRule": "fixed",
|
|
31
|
+
"title": {
|
|
32
|
+
"en": "Batteries Regulation enters into force",
|
|
33
|
+
"de": "Batterieverordnung tritt in Kraft"
|
|
34
|
+
},
|
|
35
|
+
"legalRef": "BR Article 96(1) (twentieth day after publication in OJ L 191 of 28 July 2023)",
|
|
36
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
37
|
+
"status": "in_force",
|
|
38
|
+
"affectsAttributes": [],
|
|
39
|
+
"verify": false
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "br-application",
|
|
43
|
+
"date": "2024-02-18",
|
|
44
|
+
"dateRule": "fixed",
|
|
45
|
+
"title": {
|
|
46
|
+
"en": "Batteries Regulation applies (general application date)",
|
|
47
|
+
"de": "Batterieverordnung gilt (allgemeiner Geltungsbeginn)"
|
|
48
|
+
},
|
|
49
|
+
"legalRef": "BR Article 96(2)",
|
|
50
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
51
|
+
"status": "in_force",
|
|
52
|
+
"affectsAttributes": [],
|
|
53
|
+
"verify": false
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "bms-state-of-health-data",
|
|
57
|
+
"date": "2024-08-18",
|
|
58
|
+
"dateRule": "fixed",
|
|
59
|
+
"title": {
|
|
60
|
+
"en": "State of health and expected lifetime data must be held in the battery management system",
|
|
61
|
+
"de": "Daten zu Gesundheitszustand und erwarteter Lebensdauer müssen im Batteriemanagementsystem vorliegen"
|
|
62
|
+
},
|
|
63
|
+
"legalRef": "BR Article 14(1), Annex VII",
|
|
64
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
65
|
+
"status": "in_force",
|
|
66
|
+
"affectsAttributes": [
|
|
67
|
+
"remainingCapacity",
|
|
68
|
+
"stateOfCertifiedEnergy",
|
|
69
|
+
"remainingPowerCapability",
|
|
70
|
+
"remainingRoundTripEnergyEfficiency",
|
|
71
|
+
"evolutionOfSelfDischarge",
|
|
72
|
+
"numberOfFullCycles",
|
|
73
|
+
"energyThroughput",
|
|
74
|
+
"capacityThroughput",
|
|
75
|
+
"timeInExtremeHighTemperature",
|
|
76
|
+
"timeInExtremeLowTemperature",
|
|
77
|
+
"timeChargingInExtremeHighTemperature",
|
|
78
|
+
"timeChargingInExtremeLowTemperature",
|
|
79
|
+
"deepDischargeEvents",
|
|
80
|
+
"dateOfPuttingIntoService"
|
|
81
|
+
],
|
|
82
|
+
"verify": false
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "cf-declaration-ev",
|
|
86
|
+
"date": "2025-02-18",
|
|
87
|
+
"dateRule": "latest_of",
|
|
88
|
+
"alternative": "12 months after the date of entry into force of the delegated act (calculation methodology) or the implementing act (declaration format), whichever is the latest",
|
|
89
|
+
"title": {
|
|
90
|
+
"en": "Carbon footprint declaration required for electric vehicle batteries",
|
|
91
|
+
"de": "CO2-Fußabdruck-Erklärung für Elektrofahrzeugbatterien erforderlich"
|
|
92
|
+
},
|
|
93
|
+
"legalRef": "BR Article 7(1)",
|
|
94
|
+
"appliesTo": ["EV"],
|
|
95
|
+
"status": "pending_act",
|
|
96
|
+
"note": {
|
|
97
|
+
"en": "The delegated act on the calculation methodology and the implementing act on the format were still pending as of the Commission's v2.0 guidance (15 August 2026), which marks the declaration as not to be filled/displayed as of February 2027.",
|
|
98
|
+
"de": "Der delegierte Rechtsakt zur Berechnungsmethode und der Durchführungsrechtsakt zum Format standen laut Leitlinie v2.0 der Kommission (15. August 2026) noch aus; sie stuft die Erklärung als ab Februar 2027 nicht auszufüllen/anzuzeigen ein."
|
|
99
|
+
},
|
|
100
|
+
"affectsAttributes": [
|
|
101
|
+
"carbonFootprintPerFunctionalUnit",
|
|
102
|
+
"carbonFootprintShareRawMaterials",
|
|
103
|
+
"carbonFootprintShareManufacturing",
|
|
104
|
+
"carbonFootprintShareDistribution",
|
|
105
|
+
"carbonFootprintShareEndOfLife",
|
|
106
|
+
"carbonFootprintStudyLink",
|
|
107
|
+
"carbonFootprintGeneralInformation"
|
|
108
|
+
],
|
|
109
|
+
"verify": false
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"id": "cf-declaration-industrial",
|
|
113
|
+
"date": "2026-02-18",
|
|
114
|
+
"dateRule": "latest_of",
|
|
115
|
+
"alternative": "18 months after the date of entry into force of the delegated act or the implementing act, whichever is the latest",
|
|
116
|
+
"title": {
|
|
117
|
+
"en": "Carbon footprint declaration required for rechargeable industrial batteries (except those with exclusively external storage)",
|
|
118
|
+
"de": "CO2-Fußabdruck-Erklärung für wiederaufladbare Industriebatterien erforderlich (außer solche mit ausschließlich externem Speicher)"
|
|
119
|
+
},
|
|
120
|
+
"legalRef": "BR Article 7(1)",
|
|
121
|
+
"appliesTo": ["INDUSTRIAL_GT_2KWH"],
|
|
122
|
+
"status": "pending_act",
|
|
123
|
+
"affectsAttributes": ["carbonFootprintPerFunctionalUnit"],
|
|
124
|
+
"verify": false
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"id": "cf-declaration-lmt",
|
|
128
|
+
"date": "2028-08-18",
|
|
129
|
+
"dateRule": "latest_of",
|
|
130
|
+
"alternative": "18 months after the date of entry into force of the delegated act or the implementing act, whichever is the latest",
|
|
131
|
+
"title": {
|
|
132
|
+
"en": "Carbon footprint declaration required for LMT batteries",
|
|
133
|
+
"de": "CO2-Fußabdruck-Erklärung für LMT-Batterien erforderlich"
|
|
134
|
+
},
|
|
135
|
+
"legalRef": "BR Article 7(1)",
|
|
136
|
+
"appliesTo": ["LMT"],
|
|
137
|
+
"status": "scheduled",
|
|
138
|
+
"affectsAttributes": ["carbonFootprintPerFunctionalUnit"],
|
|
139
|
+
"verify": false
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"id": "cf-declaration-external-storage",
|
|
143
|
+
"date": "2030-08-18",
|
|
144
|
+
"dateRule": "latest_of",
|
|
145
|
+
"alternative": "18 months after the date of entry into force of the delegated act or the implementing act, whichever is the latest",
|
|
146
|
+
"title": {
|
|
147
|
+
"en": "Carbon footprint declaration required for industrial batteries with external storage",
|
|
148
|
+
"de": "CO2-Fußabdruck-Erklärung für Industriebatterien mit externem Speicher erforderlich"
|
|
149
|
+
},
|
|
150
|
+
"legalRef": "BR Article 7(1)",
|
|
151
|
+
"appliesTo": ["INDUSTRIAL_GT_2KWH"],
|
|
152
|
+
"status": "scheduled",
|
|
153
|
+
"affectsAttributes": ["carbonFootprintPerFunctionalUnit"],
|
|
154
|
+
"verify": false
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"id": "cf-performance-class-ev",
|
|
158
|
+
"date": "2026-08-18",
|
|
159
|
+
"dateRule": "latest_of",
|
|
160
|
+
"alternative": "18 months after the date of entry into force of the delegated act establishing the performance classes",
|
|
161
|
+
"title": {
|
|
162
|
+
"en": "Carbon footprint performance class label required for electric vehicle batteries",
|
|
163
|
+
"de": "Leistungsklassen-Label zum CO2-Fußabdruck für Elektrofahrzeugbatterien erforderlich"
|
|
164
|
+
},
|
|
165
|
+
"legalRef": "BR Article 7(2)",
|
|
166
|
+
"appliesTo": ["EV"],
|
|
167
|
+
"status": "pending_act",
|
|
168
|
+
"affectsAttributes": ["carbonFootprintPerformanceClass", "carbonFootprintLabel"],
|
|
169
|
+
"verify": false
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"id": "cf-performance-class-industrial",
|
|
173
|
+
"date": "2027-08-18",
|
|
174
|
+
"dateRule": "latest_of",
|
|
175
|
+
"alternative": "18 months after the date of entry into force of the delegated act establishing the performance classes",
|
|
176
|
+
"title": {
|
|
177
|
+
"en": "Carbon footprint performance class label required for rechargeable industrial batteries",
|
|
178
|
+
"de": "Leistungsklassen-Label zum CO2-Fußabdruck für wiederaufladbare Industriebatterien erforderlich"
|
|
179
|
+
},
|
|
180
|
+
"legalRef": "BR Article 7(2)",
|
|
181
|
+
"appliesTo": ["INDUSTRIAL_GT_2KWH"],
|
|
182
|
+
"status": "pending_act",
|
|
183
|
+
"affectsAttributes": ["carbonFootprintPerformanceClass", "carbonFootprintLabel"],
|
|
184
|
+
"verify": false
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"id": "cf-performance-class-lmt",
|
|
188
|
+
"date": "2030-02-18",
|
|
189
|
+
"dateRule": "latest_of",
|
|
190
|
+
"alternative": "18 months after the date of entry into force of the delegated act establishing the performance classes",
|
|
191
|
+
"title": {
|
|
192
|
+
"en": "Carbon footprint performance class label required for LMT batteries",
|
|
193
|
+
"de": "Leistungsklassen-Label zum CO2-Fußabdruck für LMT-Batterien erforderlich"
|
|
194
|
+
},
|
|
195
|
+
"legalRef": "BR Article 7(2)",
|
|
196
|
+
"appliesTo": ["LMT"],
|
|
197
|
+
"status": "scheduled",
|
|
198
|
+
"affectsAttributes": ["carbonFootprintPerformanceClass", "carbonFootprintLabel"],
|
|
199
|
+
"verify": false
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"id": "cf-max-threshold-ev",
|
|
203
|
+
"date": "2028-02-18",
|
|
204
|
+
"dateRule": "latest_of",
|
|
205
|
+
"alternative": "18 months after the date of entry into force of the delegated act establishing the maximum threshold",
|
|
206
|
+
"title": {
|
|
207
|
+
"en": "Maximum life-cycle carbon footprint threshold applies to electric vehicle batteries",
|
|
208
|
+
"de": "Höchstwert für den Lebenszyklus-CO2-Fußabdruck gilt für Elektrofahrzeugbatterien"
|
|
209
|
+
},
|
|
210
|
+
"legalRef": "BR Article 7(3)",
|
|
211
|
+
"appliesTo": ["EV"],
|
|
212
|
+
"status": "scheduled",
|
|
213
|
+
"affectsAttributes": ["carbonFootprintPerFunctionalUnit"],
|
|
214
|
+
"verify": false
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"id": "recycled-content-documentation",
|
|
218
|
+
"date": "2028-08-18",
|
|
219
|
+
"dateRule": "latest_of",
|
|
220
|
+
"alternative": "24 months after the date of entry into force of the delegated act on the calculation and verification methodology, whichever is the latest",
|
|
221
|
+
"title": {
|
|
222
|
+
"en": "Documentation of recycled cobalt, lead, lithium and nickel content required",
|
|
223
|
+
"de": "Dokumentation des Rezyklatanteils von Kobalt, Blei, Lithium und Nickel erforderlich"
|
|
224
|
+
},
|
|
225
|
+
"legalRef": "BR Article 8(1)",
|
|
226
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
227
|
+
"status": "pending_act",
|
|
228
|
+
"note": {
|
|
229
|
+
"en": "Applies to industrial batteries above 2 kWh, EV batteries and SLI batteries containing these materials in active materials; the Commission's v2.0 guidance marks the passport data points as not to be filled/displayed as of February 2027.",
|
|
230
|
+
"de": "Gilt für Industriebatterien über 2 kWh, Elektrofahrzeug- und Starterbatterien mit diesen Materialien in Aktivmaterialien; die Leitlinie v2.0 der Kommission stuft die Passdatenpunkte als ab Februar 2027 nicht auszufüllen/anzuzeigen ein."
|
|
231
|
+
},
|
|
232
|
+
"affectsAttributes": [
|
|
233
|
+
"recycledNickelPreConsumer",
|
|
234
|
+
"recycledCobaltPreConsumer",
|
|
235
|
+
"recycledLithiumPreConsumer",
|
|
236
|
+
"recycledLeadPreConsumer",
|
|
237
|
+
"recycledNickelPostConsumer",
|
|
238
|
+
"recycledCobaltPostConsumer",
|
|
239
|
+
"recycledLithiumPostConsumer",
|
|
240
|
+
"recycledLeadPostConsumer"
|
|
241
|
+
],
|
|
242
|
+
"verify": false
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"id": "recycled-content-minimum-2031",
|
|
246
|
+
"date": "2031-08-18",
|
|
247
|
+
"dateRule": "fixed",
|
|
248
|
+
"title": {
|
|
249
|
+
"en": "Minimum recycled content: cobalt 16 %, lead 85 %, lithium 6 %, nickel 6 %",
|
|
250
|
+
"de": "Mindest-Rezyklatanteil: Kobalt 16 %, Blei 85 %, Lithium 6 %, Nickel 6 %"
|
|
251
|
+
},
|
|
252
|
+
"legalRef": "BR Article 8(2)",
|
|
253
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
254
|
+
"status": "scheduled",
|
|
255
|
+
"thresholds": { "cobalt": 16, "lead": 85, "lithium": 6, "nickel": 6 },
|
|
256
|
+
"affectsAttributes": [
|
|
257
|
+
"recycledNickelPreConsumer",
|
|
258
|
+
"recycledCobaltPreConsumer",
|
|
259
|
+
"recycledLithiumPreConsumer",
|
|
260
|
+
"recycledLeadPreConsumer",
|
|
261
|
+
"recycledNickelPostConsumer",
|
|
262
|
+
"recycledCobaltPostConsumer",
|
|
263
|
+
"recycledLithiumPostConsumer",
|
|
264
|
+
"recycledLeadPostConsumer"
|
|
265
|
+
],
|
|
266
|
+
"verify": false
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"id": "recycled-content-minimum-2036",
|
|
270
|
+
"date": "2036-08-18",
|
|
271
|
+
"dateRule": "fixed",
|
|
272
|
+
"title": {
|
|
273
|
+
"en": "Minimum recycled content: cobalt 26 %, lead 85 %, lithium 12 %, nickel 15 %",
|
|
274
|
+
"de": "Mindest-Rezyklatanteil: Kobalt 26 %, Blei 85 %, Lithium 12 %, Nickel 15 %"
|
|
275
|
+
},
|
|
276
|
+
"legalRef": "BR Article 8(3)",
|
|
277
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
278
|
+
"status": "scheduled",
|
|
279
|
+
"thresholds": { "cobalt": 26, "lead": 85, "lithium": 12, "nickel": 15 },
|
|
280
|
+
"affectsAttributes": [
|
|
281
|
+
"recycledNickelPreConsumer",
|
|
282
|
+
"recycledCobaltPreConsumer",
|
|
283
|
+
"recycledLithiumPreConsumer",
|
|
284
|
+
"recycledLeadPreConsumer",
|
|
285
|
+
"recycledNickelPostConsumer",
|
|
286
|
+
"recycledCobaltPostConsumer",
|
|
287
|
+
"recycledLithiumPostConsumer",
|
|
288
|
+
"recycledLeadPostConsumer"
|
|
289
|
+
],
|
|
290
|
+
"verify": false
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"id": "separate-collection-symbol",
|
|
294
|
+
"date": "2025-08-18",
|
|
295
|
+
"dateRule": "fixed",
|
|
296
|
+
"title": {
|
|
297
|
+
"en": "Separate collection symbol (crossed-out wheeled bin) required on all batteries",
|
|
298
|
+
"de": "Symbol für die getrennte Sammlung (durchgestrichene Mülltonne) auf allen Batterien erforderlich"
|
|
299
|
+
},
|
|
300
|
+
"legalRef": "BR Article 13(4), Annex VI Part B",
|
|
301
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
302
|
+
"status": "in_force",
|
|
303
|
+
"affectsAttributes": ["separateCollectionSymbol"],
|
|
304
|
+
"verify": false
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"id": "general-labelling",
|
|
308
|
+
"date": "2026-08-18",
|
|
309
|
+
"dateRule": "latest_of",
|
|
310
|
+
"alternative": "18 months after the date of entry into force of the implementing act on labelling specifications",
|
|
311
|
+
"title": {
|
|
312
|
+
"en": "General labelling requirements (Annex VI Part A information) apply",
|
|
313
|
+
"de": "Allgemeine Kennzeichnungspflichten (Angaben nach Anhang VI Teil A) gelten"
|
|
314
|
+
},
|
|
315
|
+
"legalRef": "BR Article 13(1)",
|
|
316
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
317
|
+
"status": "pending_act",
|
|
318
|
+
"affectsAttributes": [
|
|
319
|
+
"manufacturerInformation",
|
|
320
|
+
"batteryCategory",
|
|
321
|
+
"batteryIdentifier",
|
|
322
|
+
"manufacturingPlace",
|
|
323
|
+
"manufacturingDate",
|
|
324
|
+
"batteryMass",
|
|
325
|
+
"ratedCapacity",
|
|
326
|
+
"batteryChemistry",
|
|
327
|
+
"hazardousSubstances",
|
|
328
|
+
"extinguishingAgent",
|
|
329
|
+
"criticalRawMaterials"
|
|
330
|
+
],
|
|
331
|
+
"verify": false
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"id": "qr-code",
|
|
335
|
+
"date": "2027-02-18",
|
|
336
|
+
"dateRule": "fixed",
|
|
337
|
+
"title": {
|
|
338
|
+
"en": "QR code linking to the battery passport required on all batteries",
|
|
339
|
+
"de": "QR-Code mit Verknüpfung zum Batteriepass auf allen Batterien erforderlich"
|
|
340
|
+
},
|
|
341
|
+
"legalRef": "BR Article 13(6), Article 77(3)",
|
|
342
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
343
|
+
"status": "scheduled",
|
|
344
|
+
"affectsAttributes": ["batteryPassportIdentifier"],
|
|
345
|
+
"verify": false
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"id": "battery-passport",
|
|
349
|
+
"date": "2027-02-18",
|
|
350
|
+
"dateRule": "fixed",
|
|
351
|
+
"title": {
|
|
352
|
+
"en": "Battery passport required for every LMT battery, industrial battery above 2 kWh and electric vehicle battery placed on the market or put into service",
|
|
353
|
+
"de": "Batteriepass für jede LMT-Batterie, Industriebatterie über 2 kWh und Elektrofahrzeugbatterie erforderlich, die in Verkehr gebracht oder in Betrieb genommen wird"
|
|
354
|
+
},
|
|
355
|
+
"legalRef": "BR Article 77(1), Annex XIII",
|
|
356
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
357
|
+
"status": "scheduled",
|
|
358
|
+
"affectsAttributes": [],
|
|
359
|
+
"verify": false
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"id": "due-diligence-obligations",
|
|
363
|
+
"date": "2027-08-18",
|
|
364
|
+
"dateRule": "fixed",
|
|
365
|
+
"title": {
|
|
366
|
+
"en": "Battery due diligence obligations apply (postponed by two years)",
|
|
367
|
+
"de": "Sorgfaltspflichten in der Batterie-Lieferkette gelten (um zwei Jahre verschoben)"
|
|
368
|
+
},
|
|
369
|
+
"legalRef": "BR Article 48(1) as amended by Regulation (EU) 2025/1561 Article 1(a) ('18 August 2025' replaced by '18 August 2027')",
|
|
370
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
371
|
+
"status": "scheduled",
|
|
372
|
+
"note": {
|
|
373
|
+
"en": "Recital 4 of Regulation (EU) 2025/1561: postponed to allow time for the notification of conformity assessment bodies and for economic operators to comply. The due diligence report (Article 52(3)) is therefore not expected in passports as of February 2027.",
|
|
374
|
+
"de": "Erwägungsgrund 4 der Verordnung (EU) 2025/1561: verschoben, um Zeit für die Notifizierung von Konformitätsbewertungsstellen und die Umsetzung durch Wirtschaftsakteure zu geben. Der Sorgfaltspflichtbericht (Artikel 52(3)) wird daher ab Februar 2027 noch nicht im Pass erwartet."
|
|
375
|
+
},
|
|
376
|
+
"affectsAttributes": ["dueDiligenceReport", "thirdPartyAssurances", "supplyChainIndices"],
|
|
377
|
+
"verify": false
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"id": "idta-02035-published",
|
|
381
|
+
"date": "2026-02-18",
|
|
382
|
+
"dateRule": "fixed",
|
|
383
|
+
"title": {
|
|
384
|
+
"en": "IDTA 02035-1 to -7 Digital Battery Passport submodel templates published (IDTA and Catena-X)",
|
|
385
|
+
"de": "IDTA 02035-1 bis -7 Teilmodell-Templates Digital Battery Passport veröffentlicht (IDTA und Catena-X)"
|
|
386
|
+
},
|
|
387
|
+
"legalRef": "not a legal act; IDTA specification, conformant to DIN DKE SPEC 99100",
|
|
388
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
389
|
+
"status": "in_force",
|
|
390
|
+
"affectsAttributes": [],
|
|
391
|
+
"verify": true
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"id": "ec-guidance-v2",
|
|
395
|
+
"date": "2026-08-15",
|
|
396
|
+
"dateRule": "fixed",
|
|
397
|
+
"title": {
|
|
398
|
+
"en": "Commission guidance 'Digital Batteries Passport - data points by category' version 2.0 published",
|
|
399
|
+
"de": "Leitlinie der Kommission 'Digital Batteries Passport - data points by category' Version 2.0 veröffentlicht"
|
|
400
|
+
},
|
|
401
|
+
"legalRef": "not a legal act; Ares(2026)7968977, does not extend the obligations of the Regulation",
|
|
402
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
403
|
+
"status": "in_force",
|
|
404
|
+
"affectsAttributes": [],
|
|
405
|
+
"verify": false
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"id": "dpp-registry-operational",
|
|
409
|
+
"date": "2026-07-20",
|
|
410
|
+
"dateRule": "fixed",
|
|
411
|
+
"title": {
|
|
412
|
+
"en": "EU Digital Product Passport registry operational",
|
|
413
|
+
"de": "EU-Register für digitale Produktpässe in Betrieb"
|
|
414
|
+
},
|
|
415
|
+
"legalRef": "Commission Implementing Regulation (EU) 2026/1778 (reported; primary act not yet checked)",
|
|
416
|
+
"appliesTo": ["EV", "LMT", "INDUSTRIAL_GT_2KWH"],
|
|
417
|
+
"status": "in_force",
|
|
418
|
+
"affectsAttributes": ["batteryPassportIdentifier"],
|
|
419
|
+
"verify": true
|
|
420
|
+
}
|
|
421
|
+
]
|
|
422
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @passwerk/rules: bundled, checksummed, offline artefacts and knowledge base for the
|
|
3
|
+
* EU Digital Battery Passport.
|
|
4
|
+
*
|
|
5
|
+
* Everything exported here is data resolved at module load from JSON that ships inside the
|
|
6
|
+
* package. No filesystem, no network, no Node-only APIs: this module runs unchanged in the
|
|
7
|
+
* browser (docs/DECISIONS.md D-006).
|
|
8
|
+
*/
|
|
9
|
+
import type { AasEnvironment, ApplicabilityCell, ArtefactManifest, Attribute, BatteryCategory, CarrierScheme, CatalogueElement, CatalogueTemplate, EcDataPoint, EcDataPoints, Longlist, PlausibilityRule, TemplateCatalogue, Timeline, TimelineEvent } from './types.js';
|
|
10
|
+
export * from './types.js';
|
|
11
|
+
export { BATTERY_CATEGORIES } from './types.js';
|
|
12
|
+
export declare const PACKAGE_NAME: "@passwerk/rules";
|
|
13
|
+
export declare const artefactManifest: ArtefactManifest;
|
|
14
|
+
export declare const ecDataPoints: EcDataPoints;
|
|
15
|
+
export declare const dinLonglist: Longlist;
|
|
16
|
+
export declare const templateCatalogue: TemplateCatalogue;
|
|
17
|
+
export declare const plausibilityRules: PlausibilityRule[];
|
|
18
|
+
export declare const carrierSchemes: CarrierScheme[];
|
|
19
|
+
export declare const timeline: Timeline;
|
|
20
|
+
/** AAS metamodel JSON Schemas, keyed by IDTA-01001 schema version. */
|
|
21
|
+
export declare const aasJsonSchemas: Record<'3.0.9' | '3.1.2', unknown>;
|
|
22
|
+
export interface BundledTemplate {
|
|
23
|
+
part: number;
|
|
24
|
+
idta: string;
|
|
25
|
+
version: string;
|
|
26
|
+
submodelIdShort: string;
|
|
27
|
+
submodelSemanticId: string | null;
|
|
28
|
+
/** The official template.json (AAS V3.0 Environment, kind=Template, with example values) */
|
|
29
|
+
environment: AasEnvironment;
|
|
30
|
+
/** The flattened element index for this template */
|
|
31
|
+
catalogue: CatalogueTemplate;
|
|
32
|
+
}
|
|
33
|
+
/** The seven IDTA 02035 submodel templates, ordered by part. */
|
|
34
|
+
export declare const templates: BundledTemplate[];
|
|
35
|
+
/** All 93 attributes (DIN DKE SPEC 99100 grain), fully resolved, in longlist order. */
|
|
36
|
+
export declare const attributes: Attribute[];
|
|
37
|
+
export declare function getAttribute(id: string): Attribute | undefined;
|
|
38
|
+
/** Attributes whose effective status for `category` is one of `statuses` (default: mandatory). */
|
|
39
|
+
export declare function getAttributesForCategory(category: BatteryCategory, statuses?: readonly ApplicabilityCell['status'][]): Attribute[];
|
|
40
|
+
export declare function getEcDataPoint(number: number): EcDataPoint | undefined;
|
|
41
|
+
export declare function getTemplate(part: number): BundledTemplate | undefined;
|
|
42
|
+
export declare function getTemplateElement(path: string): CatalogueElement | undefined;
|
|
43
|
+
/** Template elements that carry a given attribute, or attributes that map to a given path. */
|
|
44
|
+
export declare function getAttributesForTemplatePath(path: string): Attribute[];
|
|
45
|
+
export declare function getRule(id: string): PlausibilityRule | undefined;
|
|
46
|
+
export declare function getCarrierScheme(id: string): CarrierScheme | undefined;
|
|
47
|
+
/** Timeline events that apply to a category, sorted by date. */
|
|
48
|
+
export declare function getTimeline(category?: BatteryCategory): TimelineEvent[];
|
|
49
|
+
export interface Capabilities {
|
|
50
|
+
package: typeof PACKAGE_NAME;
|
|
51
|
+
templates: {
|
|
52
|
+
part: number;
|
|
53
|
+
idta: string;
|
|
54
|
+
version: string;
|
|
55
|
+
sha256: string;
|
|
56
|
+
}[];
|
|
57
|
+
aasSchemaVersions: string[];
|
|
58
|
+
ecGuidance: {
|
|
59
|
+
version: string;
|
|
60
|
+
date: string;
|
|
61
|
+
dataPoints: number;
|
|
62
|
+
};
|
|
63
|
+
knowledgeBase: {
|
|
64
|
+
attributes: number;
|
|
65
|
+
attributesToVerify: number;
|
|
66
|
+
dinLonglistRows: number;
|
|
67
|
+
plausibilityRules: number;
|
|
68
|
+
timelineEvents: number;
|
|
69
|
+
languages: string[];
|
|
70
|
+
};
|
|
71
|
+
artefactsRetrievedAt: string;
|
|
72
|
+
sovereignty: string;
|
|
73
|
+
}
|
|
74
|
+
export declare function listCapabilities(): Capabilities;
|
|
75
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|