@tracepass/dpp-schemas 1.0.2 → 1.1.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/README.md CHANGED
@@ -39,8 +39,8 @@ this repository contains.
39
39
 
40
40
  ## What's in here
41
41
 
42
- Thirteen JSON files, one per product category. **1,004 fields in total. 190 are required by
43
- an instrument in force; 214 are anticipated under a rule that has not yet been adopted.**
42
+ Thirteen JSON files, one per product category. **1,004 fields in total. 188 are required by
43
+ an instrument in force; 215 are anticipated under a rule that has not yet been adopted.**
44
44
 
45
45
  | Category | Fields | Required | Instrument |
46
46
  |---|---:|---:|---|
@@ -51,9 +51,9 @@ an instrument in force; 214 are anticipated under a rule that has not yet been a
51
51
  | `fmcg` | 42 | 9 | ESPR (EU) 2024/1781 |
52
52
  | `furniture` | 79 | 4 | ESPR (EU) 2024/1781 |
53
53
  | `jewelry` | 53 | 3 | ESPR (EU) 2024/1781 |
54
- | `packaging` | 66 | 9 | PPWR (EU) 2025/40 |
54
+ | `packaging` | 66 | 8 | PPWR (EU) 2025/40 |
55
55
  | `paints-coatings` | 75 | 25 | Directive 2004/42/EC |
56
- | `steel` | 84 | 29 | ESPR (EU) 2024/1781 |
56
+ | `steel` | 84 | 28 | ESPR (EU) 2024/1781 |
57
57
  | `textile` | 60 | 5 | ESPR (EU) 2024/1781 |
58
58
  | `toys` | 28 | 14 | Regulation (EU) 2025/2509 |
59
59
  | `tyres` | 95 | 2 | ESPR (EU) 2024/1781 |
package/index.json CHANGED
@@ -8,8 +8,8 @@
8
8
  "totals": {
9
9
  "categories": 13,
10
10
  "fields": 1004,
11
- "requiredFields": 190,
12
- "anticipatedFields": 214
11
+ "requiredFields": 188,
12
+ "anticipatedFields": 215
13
13
  },
14
14
  "categories": [
15
15
  {
@@ -133,8 +133,8 @@
133
133
  "file": "templates/packaging.json",
134
134
  "version": 2,
135
135
  "fieldCount": 66,
136
- "requiredFieldCount": 9,
137
- "anticipatedFieldCount": 29,
136
+ "requiredFieldCount": 8,
137
+ "anticipatedFieldCount": 30,
138
138
  "regulation": {
139
139
  "name": "Packaging and Packaging Waste Regulation",
140
140
  "number": "(EU) 2025/40",
@@ -165,7 +165,7 @@
165
165
  "file": "templates/steel.json",
166
166
  "version": 2,
167
167
  "fieldCount": 84,
168
- "requiredFieldCount": 29,
168
+ "requiredFieldCount": 28,
169
169
  "anticipatedFieldCount": 16,
170
170
  "regulation": {
171
171
  "name": "EU ESPR - Iron, Steel & Aluminium",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tracepass/dpp-schemas",
3
- "version": "1.0.2",
3
+ "version": "1.1.1",
4
4
  "description": "Machine-readable field specifications for EU Digital Product Passports (ESPR) — 13 product categories, 1004 fields, each traced to the article of EU law that mandates it. Pure JSON, no dependencies.",
5
5
  "keywords": [
6
6
  "digital-product-passport",
@@ -3785,7 +3785,7 @@
3785
3785
  "regulationRef": {
3786
3786
  "article": "EU Ecolabel Decision 2017/1218",
3787
3787
  "instrument": "32010R0066",
3788
- "kind": "legislation",
3788
+ "kind": "scheme",
3789
3789
  "description": "The EU Ecolabel is a VOLUNTARY scheme. Reg (EC) 66/2010 has a real CELEX, so citing it looks legislative while imposing no obligation on a product that does not seek the label. Critical dilution volume is a criterion for award, not a legal requirement."
3790
3790
  },
3791
3791
  "aiHints": {
@@ -5735,7 +5735,7 @@
5735
5735
  "regulationRef": {
5736
5736
  "article": "Regulation (EC) 66/2010",
5737
5737
  "instrument": "32010R0066",
5738
- "kind": "legislation",
5738
+ "kind": "scheme",
5739
5739
  "description": "A licence number exists only where the manufacturer has voluntarily applied for and been awarded the EU Ecolabel. Nothing requires seeking it, so nothing requires publishing it."
5740
5740
  },
5741
5741
  "aiHints": {
@@ -3965,7 +3965,7 @@
3965
3965
  "regulationRef": {
3966
3966
  "article": "EU Ecolabel Decision 2016/1332 Criterion 4; EN 16516",
3967
3967
  "instrument": "32010R0066",
3968
- "kind": "legislation",
3968
+ "kind": "scheme",
3969
3969
  "provision": "Reg. (EC) 66/2010 Art. 1 — the EU Ecolabel is a VOLUNTARY award scheme",
3970
3970
  "description": "The EU Ecolabel is a voluntary scheme: holding the label creates duties, not holding it creates none. A real CELEX here does not make the field mandatory."
3971
3971
  },
@@ -5228,7 +5228,7 @@
5228
5228
  "regulationRef": {
5229
5229
  "article": "EU Ecolabel Decision 2014/391/EU; delegated act (mattresses)",
5230
5230
  "instrument": "32010R0066",
5231
- "kind": "legislation",
5231
+ "kind": "scheme",
5232
5232
  "provision": "Reg. (EC) 66/2010 Art. 1 — the EU Ecolabel is a VOLUNTARY award scheme",
5233
5233
  "description": "The EU Ecolabel is a voluntary scheme: holding the label creates duties, not holding it creates none. A real CELEX here does not make the field mandatory."
5234
5234
  },
@@ -5334,7 +5334,7 @@
5334
5334
  "regulationRef": {
5335
5335
  "article": "EU Ecolabel Decision 2014/391/EU",
5336
5336
  "instrument": "32010R0066",
5337
- "kind": "legislation",
5337
+ "kind": "scheme",
5338
5338
  "provision": "Reg. (EC) 66/2010 Art. 1 — the EU Ecolabel is a VOLUNTARY award scheme",
5339
5339
  "description": "The EU Ecolabel is a voluntary scheme: holding the label creates duties, not holding it creates none. A real CELEX here does not make the field mandatory."
5340
5340
  },
@@ -5748,7 +5748,7 @@
5748
5748
  "regulationRef": {
5749
5749
  "article": "EU Ecolabel Decision 2014/391/EU Criterion 5",
5750
5750
  "instrument": "32010R0066",
5751
- "kind": "legislation",
5751
+ "kind": "scheme",
5752
5752
  "provision": "Reg. (EC) 66/2010 Art. 1 — the EU Ecolabel is a VOLUNTARY award scheme",
5753
5753
  "description": "The EU Ecolabel is a voluntary scheme: holding the label creates duties, not holding it creates none. A real CELEX here does not make the field mandatory."
5754
5754
  },
@@ -7563,7 +7563,7 @@
7563
7563
  "regulationRef": {
7564
7564
  "article": "Regulation (EC) No 66/2010; Decision 2016/1332",
7565
7565
  "instrument": "32010R0066",
7566
- "kind": "legislation",
7566
+ "kind": "scheme",
7567
7567
  "description": "Reg (EC) No 66/2010 is a VOLUNTARY scheme — a licence exists only if the manufacturer applied and was awarded one. Nothing requires holding an Ecolabel, so nothing requires publishing the number. Decision 2016/1332 sets the furniture criteria for those who opt in."
7568
7568
  },
7569
7569
  "aiHints": {
@@ -8180,7 +8180,10 @@
8180
8180
  "defaultValue": 5,
8181
8181
  "enumOptions": [],
8182
8182
  "validation": {
8183
- "required": true
8183
+ "required": true,
8184
+ "anticipated": false,
8185
+ "anticipatedUnder": "32024R1781",
8186
+ "anticipatedNote": "Anticipated under an ESPR Art. 4 delegated act for packaging; none is adopted. ESPR Art. 10 sets essential requirements for a passport, but Art. 9(1) makes the passport duty itself flow from the applicable Art. 4 delegated act — so Art. 10 attaches only where a passport is already mandated. Packaging is governed by PPWR (EU) 2025/40, which creates no passport, so no retention obligation binds today."
8184
8187
  },
8185
8188
  "category": "data_carrier",
8186
8189
  "categoryLabel": {
@@ -8212,10 +8215,11 @@
8212
8215
  "sortOrder": 62,
8213
8216
  "defaultAccessLevel": "public",
8214
8217
  "regulationRef": {
8215
- "article": "ESPR Art. 10",
8216
- "instrument": "32024R1781",
8217
- "provision": "Art. 10",
8218
- "kind": "legislation"
8218
+ "article": "PPWR Art. 15(3)",
8219
+ "instrument": "32025R0040",
8220
+ "provision": "PPWR (EU) 2025/40 Art. 15(3) — manufacturers shall keep the technical documentation and EU declaration of conformity for 5 years (single-use) or 10 years (reusable) from placing on the market",
8221
+ "kind": "legislation",
8222
+ "description": "In force and unconditional: Art. 15(3) binds every packaging manufacturer today, with no delegated act and no passport precondition, and fixes the 5/10-year split this field records. The duty is to RETAIN the technical documentation and DoC, not to publish a retention figure — but the period is determined by law rather than chosen, so the value is not voluntary. Previously cited to ESPR Art. 10, which cannot bind packaging: ESPR passport-retention attaches only where an Art. 4 delegated act mandates a passport, and none does for packaging."
8219
8223
  },
8220
8224
  "aiHints": {
8221
8225
  "alternateNames": [
@@ -8373,7 +8377,10 @@
8373
8377
  }
8374
8378
  ],
8375
8379
  "validation": {
8376
- "required": true
8380
+ "required": false,
8381
+ "anticipated": true,
8382
+ "anticipatedUnder": "32024R1781",
8383
+ "anticipatedNote": "Anticipated under an ESPR Art. 4 delegated act for packaging; none is adopted. ESPR Art. 10(1)(g) regulates access to passport data, but only for a passport mandated under Art. 9(1) via an Art. 4 delegated act. PPWR (EU) 2025/40 governs packaging and creates no passport, so no access-tier obligation binds today."
8377
8384
  },
8378
8385
  "category": "data_carrier",
8379
8386
  "categoryLabel": {
@@ -8408,7 +8415,8 @@
8408
8415
  "article": "ESPR Art. 10",
8409
8416
  "instrument": "32024R1781",
8410
8417
  "provision": "Art. 10",
8411
- "kind": "legislation"
8418
+ "kind": "legislation",
8419
+ "description": "Voluntary today. ESPR Art. 10(1)(g) governs access to passport data, but only for a passport mandated under Art. 9(1) via an Art. 4 delegated act — none is adopted for packaging, which PPWR governs without creating a passport."
8412
8420
  },
8413
8421
  "aiHints": {
8414
8422
  "alternateNames": [
@@ -8745,7 +8753,7 @@
8745
8753
  }
8746
8754
  ],
8747
8755
  "fieldCount": 66,
8748
- "requiredFieldCount": 9,
8756
+ "requiredFieldCount": 8,
8749
8757
  "categories": [
8750
8758
  {
8751
8759
  "key": "packaging_identification",
@@ -11676,7 +11676,7 @@
11676
11676
  }
11677
11677
  ],
11678
11678
  "validation": {
11679
- "required": true,
11679
+ "required": false,
11680
11680
  "minLength": null,
11681
11681
  "maxLength": null,
11682
11682
  "min": null,
@@ -11716,8 +11716,9 @@
11716
11716
  "article": "Art. 13-15",
11717
11717
  "annex": null,
11718
11718
  "instrument": "32024R3110",
11719
- "provision": "Arts. 8-9",
11720
- "kind": "legislation"
11719
+ "provision": "CPR (EU) 2024/3110 Arts. 8-9 — CE marking, only where a harmonised technical specification or a European Technical Assessment covers the product",
11720
+ "kind": "legislation",
11721
+ "description": "CE marking under the CPR is CONDITIONAL: it applies only where a harmonised technical specification or a European Technical Assessment covers the product, and a product covered by neither cannot be CE-marked at all. For steel this is the sub-case — structural steelwork under a harmonised standard (paradigm EN 1090-1) is covered; mill products and much rebar are not. Never model steel as always-CE or never-CE, which is why not_applicable is an enum member and why the field cannot be required."
11721
11722
  },
11722
11723
  "aiHints": {
11723
11724
  "alternateNames": [
@@ -11730,7 +11731,7 @@
11730
11731
  }
11731
11732
  ],
11732
11733
  "fieldCount": 84,
11733
- "requiredFieldCount": 29,
11734
+ "requiredFieldCount": 28,
11734
11735
  "categories": [
11735
11736
  {
11736
11737
  "key": "product_identification",