1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
//! The Annex IV point 5 inputs an operator declares, and the Art. 1 exclusion.
//!
//! ✅ COMPLIANCE-PIN: EU 2023/1669, Annex IV point 5 and Art. 1 (OJ L 214,
//! 31.8.2023, pp. 12 and 26). Read from the Official Journal text.
//!
//! # What this is, and what it deliberately is not
//!
//! **Declared inputs, not a score.** Annex IV point 5 computes the index as
//! `R = (SDD*0,25)+(SF*0,15)+(ST*0,15)+(SSP*0,15)+(SSU*0,15)+(SRI*0,15)` over
//! six parameters, three of them scored per priority part. This module carries
//! the six parameters as an operator states them. It does not compute `R`, and
//! nothing here grades anything.
//!
//! That split is the useful shape and it is the one the Regulation itself
//! describes: **Annex IX Table 10** sets a verification tolerance — *"The
//! determined value shall not be more than 4 % lower than the declared
//! value."* Declared by the supplier, re-determined by an authority. A passport
//! carrying the inputs, and a receipt recomputing the index from them, is the
//! same structure.
//!
//! # Why the shape is restated here rather than shared with the calculator
//!
//! The calculator's input type and this one describe the same six parameters and
//! are answerable to different things. This is **passport content** — a set of
//! values an operator declares, versioned with the electronics schema, and bound
//! by the signature over the record. The calculator's is a function signature.
//! Neither crate depends on the other by design, and that boundary is what keeps
//! a change to a calculation from silently changing what a passport means.
//!
//! The cost is real: the two can drift, and only a consumer wiring them together
//! would notice. Worth a shared home if a third consumer appears; not worth
//! inverting the crate graph for a second.
//!
//! # No obligation attaches to any of this
//!
//! **The word "passport" does not appear in Reg. (EU) 2023/1669.** The index
//! belongs on the energy label and in the product information sheet. Carrying it
//! here is a product decision, not a duty being discharged, and this note exists
//! so nobody later cites the Regulation for an obligation it does not create.
use ;
use ;
/// The complete Annex IV point 5 input set for one smartphone or slate tablet.
///
/// Three part-level parameters carrying per-part scores, and three product-level
/// parameters that are single 1–5 scores. Every rubric below is Annex IV's.