vehicles 0.9.0 → 0.9.2

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.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +57 -7
  3. data/README.md +353 -69
  4. data/data/PROVENANCE-vehicles.md +2 -2
  5. data/data/plates/PROVENANCE.md +2 -2
  6. data/data/plates/_decode/at-districts.yml +2 -2
  7. data/data/plates/_decode/cn-issuing-offices.yml +2 -2
  8. data/data/plates/_decode/cn-provinces.yml +2 -2
  9. data/data/plates/_decode/cz-kraj.yml +1 -1
  10. data/data/plates/_decode/dk-serial-blocks.yml +1 -1
  11. data/data/plates/_decode/es-provinces.yml +1 -1
  12. data/data/plates/_decode/fr-departements.yml +2 -2
  13. data/data/plates/_decode/gb-age-identifiers.yml +1 -1
  14. data/data/plates/_decode/gb-memory-tags.yml +1 -1
  15. data/data/plates/_decode/gr-prefectures.yml +1 -1
  16. data/data/plates/_decode/hr-cities.yml +3 -3
  17. data/data/plates/_decode/ie-counties.yml +3 -3
  18. data/data/plates/_decode/in-state-codes.yml +2 -2
  19. data/data/plates/_decode/it-provinces.yml +3 -3
  20. data/data/plates/_decode/jp-office-marks.yml +2 -2
  21. data/data/plates/_decode/jp-use-marks.yml +2 -2
  22. data/data/plates/_decode/kr-authority-marks.yml +1 -1
  23. data/data/plates/_decode/mx-entity-series.yml +1 -1
  24. data/data/plates/_decode/my-index-marks.yml +4 -4
  25. data/data/plates/_decode/pt-trailer-services.yml +1 -1
  26. data/data/plates/_decode/ro-counties.yml +1 -1
  27. data/data/plates/_decode/se-diplomatic.yml +1 -1
  28. data/data/plates/_decode/si-regions.yml +1 -1
  29. data/data/plates/_decode/ua-regions.yml +1 -1
  30. data/data/plates/_meta/classes.yml +1 -1
  31. data/data/plates/_meta/separators.yml +1 -1
  32. data/data/plates/ad.yml +555 -52
  33. data/data/plates/ar.yml +8 -8
  34. data/data/plates/at.yml +91 -10
  35. data/data/plates/au-act.yml +13 -13
  36. data/data/plates/au-nsw.yml +9 -9
  37. data/data/plates/au-nt.yml +13 -14
  38. data/data/plates/au-qld.yml +7 -7
  39. data/data/plates/au-sa.yml +7 -7
  40. data/data/plates/au-tas.yml +10 -10
  41. data/data/plates/au-vic.yml +6 -6
  42. data/data/plates/au-wa.yml +8 -8
  43. data/data/plates/be.yml +11 -11
  44. data/data/plates/br.yml +14 -14
  45. data/data/plates/ca-ab.yml +10 -10
  46. data/data/plates/ca-bc.yml +6 -6
  47. data/data/plates/ca-mb.yml +4 -4
  48. data/data/plates/ca-nb.yml +9 -9
  49. data/data/plates/ca-nl.yml +11 -11
  50. data/data/plates/ca-ns.yml +12 -12
  51. data/data/plates/ca-nt.yml +7 -7
  52. data/data/plates/ca-nu.yml +7 -7
  53. data/data/plates/ca-on.yml +21 -21
  54. data/data/plates/ca-pe.yml +13 -13
  55. data/data/plates/ca-qc.yml +11 -11
  56. data/data/plates/ca-sk.yml +6 -6
  57. data/data/plates/ca-yt.yml +6 -6
  58. data/data/plates/ch.yml +14 -14
  59. data/data/plates/cn.yml +9 -9
  60. data/data/plates/cy.yml +6 -6
  61. data/data/plates/cz.yml +9 -9
  62. data/data/plates/de.yml +8 -8
  63. data/data/plates/dk.yml +12 -12
  64. data/data/plates/ee.yml +13 -13
  65. data/data/plates/eg.yml +708 -0
  66. data/data/plates/es.yml +8 -8
  67. data/data/plates/fi.yml +14 -14
  68. data/data/plates/fr.yml +12 -12
  69. data/data/plates/gb.yml +16 -16
  70. data/data/plates/gr.yml +14 -14
  71. data/data/plates/hr.yml +15 -15
  72. data/data/plates/hu.yml +16 -16
  73. data/data/plates/ie.yml +7 -7
  74. data/data/plates/in.yml +7 -7
  75. data/data/plates/is.yml +3 -3
  76. data/data/plates/it.yml +21 -21
  77. data/data/plates/jp.yml +121 -121
  78. data/data/plates/kr.yml +6 -6
  79. data/data/plates/li.yml +6 -6
  80. data/data/plates/lt.yml +10 -10
  81. data/data/plates/lu.yml +4 -4
  82. data/data/plates/lv.yml +9 -9
  83. data/data/plates/mc.yml +4 -4
  84. data/data/plates/mt.yml +5 -5
  85. data/data/plates/mx.yml +7 -7
  86. data/data/plates/my.yml +18 -18
  87. data/data/plates/ng.yml +346 -0
  88. data/data/plates/nl.yml +5 -5
  89. data/data/plates/no.yml +7 -7
  90. data/data/plates/nz.yml +18 -18
  91. data/data/plates/pl.yml +4 -4
  92. data/data/plates/pt.yml +13 -5
  93. data/data/plates/ro.yml +14 -14
  94. data/data/plates/se.yml +13 -13
  95. data/data/plates/si.yml +8 -8
  96. data/data/plates/sk.yml +15 -15
  97. data/data/plates/sm.yml +7 -7
  98. data/data/plates/th.yml +10 -10
  99. data/data/plates/tr.yml +432 -0
  100. data/data/plates/ua.yml +9 -9
  101. data/data/plates/us-ak.yml +11 -11
  102. data/data/plates/us-al.yml +12 -12
  103. data/data/plates/us-ar.yml +15 -15
  104. data/data/plates/us-as.yml +10 -10
  105. data/data/plates/us-az.yml +10 -10
  106. data/data/plates/us-ca.yml +13 -13
  107. data/data/plates/us-co.yml +14 -14
  108. data/data/plates/us-ct.yml +24 -24
  109. data/data/plates/us-dc.yml +7 -7
  110. data/data/plates/us-de.yml +10 -10
  111. data/data/plates/us-fl.yml +17 -17
  112. data/data/plates/us-ga.yml +10 -10
  113. data/data/plates/us-gu.yml +11 -11
  114. data/data/plates/us-hi.yml +11 -11
  115. data/data/plates/us-ia.yml +9 -9
  116. data/data/plates/us-id.yml +13 -13
  117. data/data/plates/us-il.yml +11 -11
  118. data/data/plates/us-in.yml +9 -9
  119. data/data/plates/us-ks.yml +8 -8
  120. data/data/plates/us-ky.yml +11 -11
  121. data/data/plates/us-la.yml +11 -11
  122. data/data/plates/us-ma.yml +10 -10
  123. data/data/plates/us-md.yml +7 -7
  124. data/data/plates/us-me.yml +16 -16
  125. data/data/plates/us-mi.yml +8 -8
  126. data/data/plates/us-mn.yml +13 -13
  127. data/data/plates/us-mo.yml +13 -13
  128. data/data/plates/us-mp.yml +12 -12
  129. data/data/plates/us-ms.yml +8 -8
  130. data/data/plates/us-mt.yml +12 -12
  131. data/data/plates/us-nc.yml +12 -12
  132. data/data/plates/us-nd.yml +10 -10
  133. data/data/plates/us-ne.yml +10 -10
  134. data/data/plates/us-nh.yml +8 -8
  135. data/data/plates/us-nj.yml +8 -8
  136. data/data/plates/us-nm.yml +14 -14
  137. data/data/plates/us-nv.yml +18 -18
  138. data/data/plates/us-ny.yml +17 -17
  139. data/data/plates/us-oh.yml +13 -13
  140. data/data/plates/us-ok.yml +12 -12
  141. data/data/plates/us-or.yml +15 -15
  142. data/data/plates/us-pa.yml +14 -14
  143. data/data/plates/us-pr.yml +15 -15
  144. data/data/plates/us-ri.yml +10 -10
  145. data/data/plates/us-sc.yml +7 -7
  146. data/data/plates/us-sd.yml +12 -12
  147. data/data/plates/us-tn.yml +8 -8
  148. data/data/plates/us-tx.yml +17 -17
  149. data/data/plates/us-ut.yml +12 -12
  150. data/data/plates/us-va.yml +14 -14
  151. data/data/plates/us-vi.yml +16 -16
  152. data/data/plates/us-vt.yml +9 -9
  153. data/data/plates/us-wa.yml +18 -18
  154. data/data/plates/us-wi.yml +8 -8
  155. data/data/plates/us-wv.yml +9 -9
  156. data/data/plates/us-wy.yml +10 -10
  157. data/data/plates/va.yml +7 -7
  158. data/data/plates/za.yml +11 -11
  159. data/data/vehicles.json +121081 -62015
  160. data/lib/generators/vehicles/templates/initializer.rb +21 -12
  161. data/lib/generators/vehicles/templates/vehicles_refresh_job.rb +8 -4
  162. data/lib/vehicles/color.rb +8 -1
  163. data/lib/vehicles/colors.rb +14 -10
  164. data/lib/vehicles/configuration.rb +82 -3
  165. data/lib/vehicles/data_source.rb +220 -0
  166. data/lib/vehicles/dataset.rb +38 -6
  167. data/lib/vehicles/dataset_resolution.rb +39 -3
  168. data/lib/vehicles/dataset_slice.rb +90 -0
  169. data/lib/vehicles/hosted_result.rb +94 -0
  170. data/lib/vehicles/http.rb +75 -7
  171. data/lib/vehicles/id_lookup.rb +37 -0
  172. data/lib/vehicles/kind_rule.rb +63 -0
  173. data/lib/vehicles/labels.rb +131 -0
  174. data/lib/vehicles/make.rb +45 -19
  175. data/lib/vehicles/model.rb +66 -19
  176. data/lib/vehicles/model_match.rb +16 -2
  177. data/lib/vehicles/model_matcher.rb +6 -7
  178. data/lib/vehicles/plates/series.rb +87 -8
  179. data/lib/vehicles/plates/template_fill.rb +2 -2
  180. data/lib/vehicles/plates/templates.rb +9 -5
  181. data/lib/vehicles/plates.rb +54 -8
  182. data/lib/vehicles/providers/hosted_provider.rb +145 -32
  183. data/lib/vehicles/providers/local_provider.rb +2 -2
  184. data/lib/vehicles/refresh_result.rb +74 -0
  185. data/lib/vehicles/refresher.rb +190 -54
  186. data/lib/vehicles/release_checks.rb +72 -0
  187. data/lib/vehicles/text_matcher.rb +19 -10
  188. data/lib/vehicles/validators/vehicle_make_validator.rb +18 -1
  189. data/lib/vehicles/validators/vehicle_model_validator.rb +17 -1
  190. data/lib/vehicles/version.rb +1 -1
  191. data/lib/vehicles.rb +119 -67
  192. data/rakelib/data_refresh.rake +1 -1
  193. data/rakelib/plates_refresh.rake +1 -1
  194. data/sig/vehicles.rbs +67 -13
  195. metadata +13 -2
data/data/plates/hr.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/hr.yml — Croatia (PRD-PLATES gate L1, wave 2).
1
+ # plates/hr.yml — Croatia (the plates spec gate L1, wave 2).
2
2
  #
3
3
  # EVERY format, colour and class claim in this file is read from Narodne novine
4
4
  # — the Croatian official gazette — in the instruments' own published text, on
@@ -64,7 +64,7 @@
64
64
  # ČK, KŽ, PŽ, ŠI, VŽ and ŽU carry a caron; the serial alphabet in
65
65
  # plates/_meta/separators.yml is A-Z 0-9. Every `[A-Z]{2}` prefix below is
66
66
  # therefore NARROWER than the issuing grammar for those six areas — still
67
- # `matching: strict` per PRD-PLATES §2.7 (narrower is strict), but a
67
+ # `matching: strict` per the plates spec §2.7 (narrower is strict), but a
68
68
  # consumer matching a photographed plate must ASCII-fold first. The
69
69
  # regulation knows the problem: čl. 22 st. 7 refuses a by-choice mark that
70
70
  # could "doći do dupliranja prilikom transliteracije registarskih brojeva".
@@ -88,7 +88,7 @@
88
88
  # 22/93, 19/96, 149/02), which NN 12/1993 čl. 34 expressly kept alive for a
89
89
  # transitional period and which was not fetched.
90
90
  # The registration-area position prints six codes with a caron (ČK KŽ PŽ ŠI
91
- # VŽ ŽU). Declared here in exact codepoints per PRD-PLATES §2.6 so the regexes
91
+ # VŽ ŽU). Declared here in exact codepoints per the plates spec §2.6 so the regexes
92
92
  # below can express the plate's REAL alphabet instead of an ASCII shadow of it.
93
93
  # The SERIAL-suffix position does NOT carry diacritics — see regex_strict, which
94
94
  # enumerates the Croatian alphabet without them — so only the AREA position is
@@ -188,7 +188,7 @@ common:
188
188
  For the ORDINARY mark, čl. 18 prescribes no separator glyph at all — the
189
189
  hyphen is visible only in Obrazac 3, a drawing. Every ordinary regex here
190
190
  therefore spells that position as the separator-only class `[- ]`
191
- (PRD-PLATES §2.8, the es-consular precedent): the printed hyphen is
191
+ (the plates spec §2.8, the es-consular precedent): the printed hyphen is
192
192
  certain from the drawing, its statutory basis is not, and `pattern` shows
193
193
  the canonical printed form.
194
194
  arms_position: >-
@@ -203,7 +203,7 @@ common:
203
203
  font: >-
204
204
  NO TYPEFACE IS NAMED. As in the UK, Germany, Spain and Austria, the legal
205
205
  object is a DRAWING — Obrazac 15 — and the render layer must derive glyphs
206
- from it rather than from any third-party TTF (PRD-PLATES §6). Unlike the
206
+ from it rather than from any third-party TTF (the plates spec §6). Unlike the
207
207
  Austrian KDV, Obrazac 15 publishes no per-glyph millimetres in a form this
208
208
  pass could read (see structural fact 6). Recorded gap.
209
209
  source: "https://narodne-novine.nn.hr/clanci/sluzbeni/2017_12_130_2993.html # čl. 19. Accessed 2026-08-02"
@@ -230,7 +230,7 @@ common:
230
230
  artwork_note: >-
231
231
  The Croatian coat of arms is a state symbol whose use is regulated
232
232
  independently of copyright, and no assessment was made in this pass.
233
- PRD-PLATES §3 applies unchanged: `rendered: placeholder` on every series.
233
+ The plates spec §3 applies unchanged: `rendered: placeholder` on every series.
234
234
  dimensions:
235
235
  obrazac_3: { note: "single-line plate for motor vehicles, trailers, tractors and machines — čl. 18 st. 5. Dimensions NOT legible in the published raster; see structural fact 6" }
236
236
  obrazac_4: { w: 280, h: 200, unit: mm, basis: read-from-drawing, note: "two-line plate for vehicles whose construction cannot take Obrazac 3 — čl. 18 st. 6. 280 and 200 are the two figures legible in the published drawing" }
@@ -244,7 +244,7 @@ common:
244
244
  system in 1991, so authoring it in each national file would duplicate a
245
245
  single historical layer in two places, give it two ids, and invite the two
246
246
  copies to drift. It belongs in ONE historical jurisdiction file at gate L4
247
- (PRD-PLATES §7), not twice at L1. What IS recorded here is the hinge, from
247
+ (the plates spec §7), not twice at L1. What IS recorded here is the hinge, from
248
248
  the Croatian primary itself.
249
249
  hinge: >-
250
250
  NN 12/1993 čl. 34, verbatim: "Danom stupanja na snagu ovoga Pravilnika
@@ -325,7 +325,7 @@ series:
325
325
  code holds the ŠAHOVNICA and is written as an optional emitted space.
326
326
  The gap between digits and letters is a printed hyphen, certain from
327
327
  Obrazac 3 but not spelled in čl. 18, so it is written as the
328
- separator-only class `[- ]` per PRD-PLATES §2.8.
328
+ separator-only class `[- ]` per the plates spec §2.8.
329
329
  design:
330
330
  plate: { w: 520, h: 110, unit: mm, basis: secondary-wikipedia, basis_note: "the pravilnik delegates dimensions to Obrazac 3, whose figures are illegible in the published 229x70 raster — see the file header, structural fact 6" }
331
331
  plate_variants:
@@ -358,7 +358,7 @@ series:
358
358
  plates carrying "unaprijed zadanim registarskim brojem vozila iz
359
359
  članka 18. stavka 2. ovoga Pravilnika ako je zatraženi registarski
360
360
  broj slobodan" — a CHOSEN serial inside the ordinary grammar, so a
361
- sub-entry rather than a series (PRD-PLATES §2.3). Format and design
361
+ sub-entry rather than a series (the plates spec §2.3). Format and design
362
362
  are identical to the standard series. It is new in NN 130/2017: no
363
363
  equivalent appears in NN 151/2008. Čl. 21 st. 2 supplies the file's
364
364
  only direct statement about the ordinary alphabet.
@@ -373,7 +373,7 @@ series:
373
373
  kojima je odobren privremeni ili stalni boravak i za privremeno
374
374
  registrirana vozila, otisnute brojke i slova zelene su boje." A
375
375
  COLOUR-ONLY variant of the same format and period, therefore a
376
- sub-entry and not a series (PRD-PLATES §2.3). Note that the 2008 text
376
+ sub-entry and not a series (the plates spec §2.3). Note that the 2008 text
377
377
  of the same rule also covered foreign trade, transport and cultural
378
378
  representations and foreign correspondents; NN 130/2017 dropped that
379
379
  clause.
@@ -494,7 +494,7 @@ series:
494
494
  - "https://narodne-novine.nn.hr/files/_web/sluzbeni-dio/2017/130000/images/9521.jpg # Obrazac 5, the dimensioned drawing: 180 x 180 mm, three-line layout"
495
495
  - "https://narodne-novine.nn.hr/clanci/sluzbeni/2016_05_45_1165.html # čl. 9 replaces Obrasci 5-12 and čl. 10 dates the change to 2016-07-04"
496
496
  notes: >-
497
- A SEPARATE SERIES ON DESIGN, NOT ON FORMAT (PRD-PLATES §2.3): the mark is
497
+ A SEPARATE SERIES ON DESIGN, NOT ON FORMAT (the plates spec §2.3): the mark is
498
498
  the čl. 18 st. 2 mark, but the plate is a 180 mm square whose layout puts
499
499
  the digits and letters on separate lines, which a renderer must model and
500
500
  a one-line pattern cannot express. NN 130/2017 čl. 59 defers the motorcycle
@@ -556,7 +556,7 @@ series:
556
556
  Obrazac 8, or on the 7+8 combination, are three to SIX characters.
557
557
  why_recall_only: >-
558
558
  The regex above is deliberately wider than the issuing grammar and a
559
- match is a shape hit only (PRD-PLATES §2.7). It does not enforce the
559
+ match is a shape hit only (the plates spec §2.7). It does not enforce the
560
560
  "at least one letter if digits are chosen" rule, does not count the
561
561
  hyphen against the seven-character budget, does not enforce the
562
562
  three-character floor, and cannot express čl. 22 st. 7 at all — that
@@ -620,7 +620,7 @@ series:
620
620
  notes: >-
621
621
  PV IS A LITERAL, NOT A LETTER GROUP: the two characters are fixed, so this
622
622
  series' regex is genuinely strict without a strict twin — the sourced
623
- grammar IS the pattern (the PRD-PLATES §2.7 case where 29 of 31 L0 series
623
+ grammar IS the pattern (the plates spec §2.7 case where 29 of 31 L0 series
624
624
  needed no twin). The oldtimer mark is protected from collision in two
625
625
  directions: čl. 22 st. 7 refuses a by-choice mark that would coincide with
626
626
  it, and čl. 22 st. 9 forbids choosing a mark for an oldtimer at all.
@@ -753,7 +753,7 @@ series:
753
753
  mission, not a geographic area code — hr-cities.yml must not be consulted
754
754
  for it. The country-code table itself is NOT published in the pravilnik
755
755
  and was not obtained from any primary in this pass: it is a RECORDED GAP,
756
- and PRD-PLATES puts diplomatic decode tables at gate L4 in any case.
756
+ and the plates spec puts diplomatic decode tables at gate L4 in any case.
757
757
  sources:
758
758
  - "https://narodne-novine.nn.hr/clanci/sluzbeni/1993_02_12_185.html # NN 12/1993 čl. 19 — the blue/yellow plate with country number, activity letter and vehicle number, from the founding instrument"
759
759
  - "https://narodne-novine.nn.hr/clanci/sluzbeni/2008_12_151_4118.html # NN 151/2008 čl. 16 — the A/C/M letter set stated in the modern wording, plus the CMD/CD/CC ellipse"
@@ -790,7 +790,7 @@ series:
790
790
  Because there is nothing to be strict about. The regex is an admitted
791
791
  catch-all: a match says only "this string has a shape a Croatian test
792
792
  plate could have" and is emphatically not a validity claim
793
- (PRD-PLATES §2.7). Shipping a confident pattern here would be inventing
793
+ (the plates spec §2.7). Shipping a confident pattern here would be inventing
794
794
  one; the gap is recorded instead.
795
795
  design:
796
796
  background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec_note: "'bijele su boje' plus 'retro-reflektivnog bijelog laminata' (čl. 34 st. 3) — laminate, not the metal-and-foil construction of čl. 18" }
data/data/plates/hu.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/hu.yml — Hungary (PRD-PLATES gate L1, wave 2).
1
+ # plates/hu.yml — Hungary (the plates spec gate L1, wave 2).
2
2
  #
3
3
  # WHAT IS PRIMARY HERE AND WHAT IS NOT — read this before trusting any line.
4
4
  #
@@ -32,7 +32,7 @@
32
32
  # instrument's date is 2021 and the SERIES date is 2022-07-01, thirteen
33
33
  # months later. This file records 2022, not 2021 — which is exactly the trap
34
34
  # plates/es.yml fell into once (a 1999-2000 decree window shipped as the
35
- # period for a format that ran three decades) and the reason PRD-PLATES §5.3
35
+ # period for a format that ran three decades) and the reason the plates spec §5.3
36
36
  # puts era boundaries at the top of the audit. The thirteen-month gap is not
37
37
  # incidental: it is the lead time the plate manufacturer and the county
38
38
  # government offices were given.
@@ -73,7 +73,7 @@
73
73
  # decide which Latin letters count as vowels for the purpose (is Y a vowel
74
74
  # here? is I issued at all, given that I, O and Q are avoided elsewhere in
75
75
  # the system?), and the source states the rule without stating the letter
76
- # sets. Inventing them would be precisely the confident guess PRD-PLATES
76
+ # sets. Inventing them would be precisely the confident guess the plates spec
77
77
  # forbids, so the rule is recorded verbatim in `format.charset` and NO
78
78
  # `regex_strict` is shipped for the standard series. The gap is named in
79
79
  # `verifier_targets`.
@@ -202,7 +202,7 @@ common:
202
202
  it in the gap between the two letter pairs. If that placement is right,
203
203
  Hungary joins Italy (the marchio ufficiale) and Austria (the Landeswappen)
204
204
  in the class of jurisdictions whose printed "separator" is in fact an
205
- EMBLEM occupying the gap — see PRD-PLATES §2.6 and the never_separator
205
+ EMBLEM occupying the gap — see the plates spec §2.6 and the never_separator
206
206
  note in _meta/separators.yml. The dataset accordingly writes that gap as
207
207
  the emitted SPACE and carries the emblem in `design.emblem`; no glyph is
208
208
  ever inside a Hungarian serial. THE PLACEMENT ITSELF IS SECONDARY and is a
@@ -210,7 +210,7 @@ common:
210
210
  pattern is unaffected but `design.emblem.position` is wrong.
211
211
  licensing: >-
212
212
  The coat of arms of Hungary is a state symbol whose use is regulated
213
- independently of copyright. PRD-PLATES §3 placeholder rule applies:
213
+ independently of copyright. The plates spec §3 placeholder rule applies:
214
214
  renders carry `emblem: {present: true, rendered: placeholder}`.
215
215
  source: "https://hu.wikipedia.org/wiki/Magyarorsz%C3%A1gi_forgalmi_rendsz%C3%A1mok # the coat of arms was added with the 2022 format. Accessed 2026-08-02"
216
216
  personalisation:
@@ -219,14 +219,14 @@ common:
219
219
  egyénileg kiválasztott és az egyedileg előállított rendszámtábla" — the
220
220
  individually CHOSEN plate (a serial picked out of the ordinary grammar)
221
221
  and the individually PRODUCED plate (a serial made to order). Two distinct
222
- products, both inside the official frame, hence PRD-PLATES §2.3 sub-entry
222
+ products, both inside the official frame, hence the plates spec §2.3 sub-entry
223
223
  treatment rather than a series of their own. The fee, the eligibility and
224
224
  the grammar each product must obey are in the mellékletek and were not
225
225
  retrieved.
226
226
  source: "https://njt.jog.gov.hu/jogszabaly/2011-326-20-22 # §§ 58-59 headings and scope, Nemzeti Jogszabálytár, accessed 2026-08-02"
227
227
 
228
228
  # ---------------------------------------------------------------------------
229
- # Dead ends — recorded so the next pass does not repeat them (PRD-PLATES §5.3).
229
+ # Dead ends — recorded so the next pass does not repeat them (the plates spec §5.3).
230
230
  # ---------------------------------------------------------------------------
231
231
  dead_ends:
232
232
  - what: "The mellékletek (annexes) of 326/2011 — the plate-type table, colours, dimensions and the serial grammar."
@@ -282,7 +282,7 @@ series:
282
282
  separator_note: >-
283
283
  The gap between the two letter pairs is reported to be occupied by the
284
284
  Hungarian coat of arms, not by a separator glyph; the hyphen before the
285
- digits is printed. Both are written per PRD-PLATES §2.6: the emblem gap
285
+ digits is printed. Both are written per the plates spec §2.6: the emblem gap
286
286
  as an optional emitted SPACE, the printed hyphen as an optional emitted
287
287
  HYPHEN-MINUS. `pattern` shows the canonical printed form.
288
288
  progression: >-
@@ -309,7 +309,7 @@ series:
309
309
  of 326/2011 create two distinct personalisation products: a plate whose
310
310
  serial the applicant CHOOSES out of the ordinary grammar, and a plate
311
311
  individually PRODUCED to order. A sub-entry rather than a series
312
- (PRD-PLATES §2.3) because neither is reported to change the format or
312
+ (the plates spec §2.3) because neither is reported to change the format or
313
313
  the design. Which of the two may depart from the ordinary grammar, and
314
314
  how far, is in the mellékletek and is a recorded gap.
315
315
  sources:
@@ -432,7 +432,7 @@ series:
432
432
  ABC-123, and the change dropped the commercial/private colour inversion
433
433
  that had been the visual signature of the previous system. This entry
434
434
  exists as its own series rather than as a design note on hu-standard-2004
435
- because the EU band is a design difference of exactly the kind PRD-PLATES
435
+ because the EU band is a design difference of exactly the kind the plates spec
436
436
  §2.3 makes a series boundary — the same cut plates/it.yml makes at 1999.
437
437
 
438
438
  # =========================================================================
@@ -483,7 +483,7 @@ series:
483
483
  WHITE CHARACTERS ON BLACK. Same format, opposite colours, and the
484
484
  inversion disappeared with the 1990 reform. Modelled here as a
485
485
  documented colour inversion on one series rather than as two series,
486
- because format and period are identical (PRD-PLATES §2.3).
486
+ because format and period are identical (the plates spec §2.3).
487
487
  inverse_background: "#000000"
488
488
  inverse_foreground: "#FFFFFF"
489
489
  evidence_tier: secondary-wikipedia
@@ -575,7 +575,7 @@ series:
575
575
  carried an ordinary six-character serial drawn from a reserved range, on a
576
576
  yellow ground — so the FORMAT is the standard one and only the block and
577
577
  the colour distinguish it. It is a series rather than a sub-entry because
578
- the design differs (PRD-PLATES §2.3). Its dates are the system's, not its
578
+ the design differs (the plates spec §2.3). Its dates are the system's, not its
579
579
  own; see period_note.
580
580
 
581
581
  # =========================================================================
@@ -642,7 +642,7 @@ series:
642
642
  THE GREEN PLATE AFTER THE FORMAT CHANGE — the same environmental class on
643
643
  the seven-character grammar. Modelled as its own series rather than as a
644
644
  period extension because the FORMAT differs from hu-electric-2015, which is
645
- the PRD-PLATES §2.3 boundary; the two are otherwise the same programme and
645
+ the plates spec §2.3 boundary; the two are otherwise the same programme and
646
646
  that continuity is the reason both carry the same class.
647
647
 
648
648
  # =========================================================================
@@ -672,7 +672,7 @@ series:
672
672
  rather than a geographic one, so it does not disturb this file's
673
673
  no-decode-table finding. Two reported points: 001 is the Holy See and
674
674
  020 the United States. The full mission-to-code mapping was NOT sourced
675
- and is NOT authored here; PRD-PLATES puts diplomatic decode tables at
675
+ and is NOT authored here; the plates spec puts diplomatic decode tables at
676
676
  gate L4, and plates/fi.yml made the same call for the Finnish table.
677
677
  design:
678
678
  plate: { w: 520, h: 110, unit: mm }
@@ -941,7 +941,7 @@ unmodelled_series:
941
941
  source: "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Hungary # every row below. Accessed 2026-08-02"
942
942
  reason_not_modelled: >-
943
943
  Each lacks at least one of: a start date this file could defend, a format
944
- whose grouping is known, or a colour. PRD-PLATES §5.3 prefers the recorded
944
+ whose grouping is known, or a colour. The plates spec §5.3 prefers the recorded
945
945
  gap to the averaged guess, and a well-evidenced gap is a deliverable.
946
946
  rows:
947
947
  - { token: "H + letter + 4 digits", use: military, note: "the letter is reported to denote vehicle kind (A cars, B buses, N motorcycles, T trucks); a tricolour design is reported. Reported to have become HA under the 2022 system. No date at either end." }
@@ -956,4 +956,4 @@ unmodelled_series:
956
956
  - { token: "M + 6 digits", use: agricultural, note: "green on white, three-year validity; replaced by the general I plate in July 2022. No start date sourced." }
957
957
  - { token: "Y + 3 letters + 3 digits", use: "slow vehicles", note: "red on white; moved onto the normal series in July 2022. No start date sourced." }
958
958
  - { token: "OT + 4 digits", use: "old-timer, pre-2022 form", note: "the predecessor of hu-historic-2022; no start date sourced, which is why only the post-2022 form is authored." }
959
- - { token: "grey repeater plate", use: "bicycle-rack repeater", note: "reported from April 2017. A REPEATER plate has no class in _meta/classes.yml; adding one is a vocabulary PR (PRD-PLATES §2.3), not a data-file decision." }
959
+ - { token: "grey repeater plate", use: "bicycle-rack repeater", note: "reported from April 2017. A REPEATER plate has no class in _meta/classes.yml; adding one is a vocabulary PR (the plates spec §2.3), not a data-file decision." }
data/data/plates/ie.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/ie.yml — Ireland (PRD-PLATES gate L1, wave 2).
1
+ # plates/ie.yml — Ireland (the plates spec gate L1, wave 2).
2
2
  #
3
3
  # EVERY format, colour, dimension and period claim in this file is read off an
4
4
  # instrument on irishstatutebook.ie, fetched 2026-08-02. Wikipedia was used as a
@@ -163,7 +163,7 @@ common:
163
163
  millimetres which shall extend horizontally for a distance of not less than
164
164
  13 millimetres and not more than 22 millimetres." So `ie-standard-1987`
165
165
  spells a space and `ie-standard-1991`/`ie-standard-2013` spell a hyphen, and
166
- both are the printed form the instrument itself prescribes (PRD-PLATES §2.6
166
+ both are the printed form the instrument itself prescribes (the plates spec §2.6
167
167
  rule 2).
168
168
  no_nought_rule: >-
169
169
  First Schedule para. 3(b), verbatim: "The identification mark shall not
@@ -172,7 +172,7 @@ common:
172
172
  the Irish no-leading-zero rule: the sequence number is printed as assigned,
173
173
  never padded, so "121-D-7" is a whole registration and "121-D-0007" is not
174
174
  one. It is carried in `regex_strict`, never in `regex`, because the
175
- round-trip (PRD-PLATES §2.7) forbids `regex` from carrying charset rules.
175
+ round-trip (the plates spec §2.7) forbids `regex` from carrying charset rules.
176
176
  NOTE THE PERIOD: this paragraph is in Third Schedule Part III (1991) and the
177
177
  First Schedule (1992 onward). Part II (1987-1990) has no equivalent, so
178
178
  ie-standard-1987 makes no leading-zero claim.
@@ -318,7 +318,7 @@ series:
318
318
  stripe: { side: right, color: "#009639", hex_basis: observed, color_spec: "Pantone 7481 C", w: 30, unit: mm, finish: retroreflective }
319
319
  note: >-
320
320
  THE GREEN FLASH, from 1 July 2025 (S.I. 268/2025 art. 2). A sub-entry
321
- and not a series, on the PRD-PLATES §2.3 test: same format, same
321
+ and not a series, on the plates spec §2.3 test: same format, same
322
322
  period, same mark — only the design differs, and only optionally. New
323
323
  Reg. 9(10): "an eligible vehicle MAY display a plate which contains a
324
324
  stripe which is green in colour", where "eligible vehicle" is defined
@@ -478,7 +478,7 @@ series:
478
478
  characters at least 81 mm tall, groups separated by a wide SPACE, and no
479
479
  EU band, no black border and no Irish county name anywhere on it. It ran
480
480
  for exactly four years. Cutting it as its own series rather than as the
481
- early stretch of ie-standard-1991 is the PRD-PLATES §2.3 test applied
481
+ early stretch of ie-standard-1991 is the plates spec §2.3 test applied
482
482
  literally: the design differs (no band, no placename, no border), the
483
483
  printed format differs (space versus hyphen) and the period is closed by
484
484
  an instrument — three of three. START DATE PRECISION: both halves of the
@@ -531,7 +531,7 @@ series:
531
531
  only "that the index mark appears as a separate unit from the
532
532
  registration number", and para. 8 sets the minimum gap at 38 mm on
533
533
  one-line layouts. The regex spells the position as the separator-only
534
- class `[- ]` (PRD-PLATES §2.8) because the instrument prescribes a
534
+ class `[- ]` (the plates spec §2.8) because the instrument prescribes a
535
535
  separation and no character to make it with.
536
536
  design:
537
537
  background: { color: "#000000", finish: painted, hex_basis: observed }
@@ -618,7 +618,7 @@ series:
618
618
  digits in the pattern follow that example and the regex allows one to
619
619
  six, claiming nothing.
620
620
  separator_note: >-
621
- Spelled as the separator-only class `[- ]` (PRD-PLATES §2.8) because the
621
+ Spelled as the separator-only class `[- ]` (the plates spec §2.8) because the
622
622
  instrument leaves the position genuinely open: First Schedule para. 16(d)
623
623
  would prescribe a hyphen, but para. 23 expressly lets a ZV mark comply
624
624
  instead with the OLD 1982 Part I spec, which prescribes a gap and no
data/data/plates/in.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/in.yml — India (PRD-PLATES gate L3). DRAFT for human verification.
1
+ # plates/in.yml — India (the plates spec gate L3). DRAFT for human verification.
2
2
  #
3
3
  # EVERY format, colour, dimension and class claim in this file comes from one
4
4
  # of five primaries, all fetched and quoted verbatim in the dossier:
@@ -102,7 +102,7 @@
102
102
  # instrument imposes NO digit count and our regex invents a practical bound
103
103
  # (the diplomatic series).
104
104
  #
105
- # SEPARATOR NOTE (PRD-PLATES § 2.6): an Indian plate prints NO separator
105
+ # SEPARATOR NOTE (the plates spec § 2.6): an Indian plate prints NO separator
106
106
  # glyph. Rule 50(3) prescribes a two-LINE layout (state+district code above,
107
107
  # the rest below) and rule 51 prescribes inter-character spacing in
108
108
  # millimetres; the space in every `pattern` here is the conventional textual
@@ -388,7 +388,7 @@ series:
388
388
  calls it "registering authority code" and rule 35(3) calls it "RTO Code".
389
389
  Each State creates, merges and renumbers its own offices, and there are
390
390
  well over a thousand of them, so this dimension is OPEN and is deliberately
391
- NOT tabled here (PRD-PLATES § 2.4 mechanism-note rule). A decode may
391
+ NOT tabled here (the plates spec § 2.4 mechanism-note rule). A decode may
392
392
  return the State with confidence and the district only against a
393
393
  State-published list of that State's own offices, dated. THIRD ELEMENT,
394
394
  FLAGGED AS UNSOURCED: several States are widely reported to spend the
@@ -541,7 +541,7 @@ series:
541
541
  photograph of an Indian truck-trailer combination will see the same
542
542
  mark twice and a second, different mark once; it must not treat the
543
543
  repetition as two vehicles. Colour-only variant of this series, hence
544
- a sub-entry (PRD-PLATES § 2.3). Rule 50(6) exempts agricultural
544
+ a sub-entry (the plates spec § 2.3). Rule 50(6) exempts agricultural
545
545
  tractors: "The registration mark of the drawing agricultural tractor
546
546
  may not be exhibited on the agricultural trailer or trailers", and
547
547
  rule 50(7) does the same for a modular hydraulic trailer behind a
@@ -587,7 +587,7 @@ series:
587
587
  colour on Green background" (rule 50(2A)) — the same green plate with
588
588
  yellow characters instead of white. Colour-only variant of the same
589
589
  format and period, hence a sub-entry rather than a series
590
- (PRD-PLATES § 2.3). This is the one place in Indian plate law where
590
+ (the plates spec § 2.3). This is the one place in Indian plate law where
591
591
  the transport/non-transport split changes the FOREGROUND rather than
592
592
  the background.
593
593
  sources:
@@ -800,7 +800,7 @@ series:
800
800
  Rule 35(3) says the letter "Represents serial number of class of
801
801
  vehicle as prescribed in Rule 34(2) i.e. from A to J"; rule 34(2)
802
802
  lists those classes as clauses (a) to (j), which is the closed
803
- primary list inlined above (PRD-PLATES § 2.4 small-inline-table
803
+ primary list inlined above (the plates spec § 2.4 small-inline-table
804
804
  rule). NOTE THE TRAP: this is the one Indian series in which the
805
805
  letter I IS issued — it is E-cart — while BH and temporary marks
806
806
  expressly exclude I. A parse API must not apply a blanket I/O
@@ -961,7 +961,7 @@ series:
961
961
  not a place decode — and the MEA list was NOT reached in this pass, so
962
962
  this dataset cannot turn "13 CD 1" into a country. That table is the
963
963
  single most requested Indian plate decode after the state codes and is a
964
- recorded gap for gate L4 (PRD-PLATES § 7 lists diplomatic decode tables
964
+ recorded gap for gate L4 (the plates spec § 7 lists diplomatic decode tables
965
965
  there).
966
966
  sources:
967
967
  - "https://web.archive.org/web/20211130113450id_/https://morth.nic.in/sites/default/files/CMVR-chapter3.pdf # rule 76(1)-(6) with footnote 96 dating the substitution of sub-rule (6) to G.S.R. 221(E) 28-3-2001; rule 77(1)(i) 'with deep blue background, the registration mark and the number being in white'; rule 77(1) plate size '41 centimetres by 14 centimetres'; rule 77(2)-(3); accessed 2026-08-02"
data/data/plates/is.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/is.yml — Iceland (PRD-PLATES gate L1, wave 2).
1
+ # plates/is.yml — Iceland (the plates spec gate L1, wave 2).
2
2
  #
3
3
  # THE 1989 CUTOVER IS THE WHOLE STORY, AND IT IS DATED — just not by the
4
4
  # instrument that made it. Read this before trusting any period below.
@@ -152,7 +152,7 @@ common:
152
152
  "rönd á brúnum, stafir og bandstrik" together in every colour rule, and
153
153
  the two-row rule of 669/2008 places the bandstrik on the letter row. It is
154
154
  therefore written as the emitted HYPHEN in every `pattern` below, per
155
- PRD-PLATES §2.6, and the regexes accept a hyphen or a space at that
155
+ the plates spec §2.6, and the regexes accept a hyphen or a space at that
156
156
  position under the §2.8 separator-only class rule.
157
157
  source: "https://www.reglugerd.is/reglugerdir/allar/nr/751-2003 # 18.-19. gr. Accessed 2026-08-02"
158
158
 
@@ -457,7 +457,7 @@ series:
457
457
  ORANGE, for létt bifhjól í flokki I (the slowest class, up to 25 km/h),
458
458
  added by reglugerð 1515/2020 of 14 December 2020 together with plate
459
459
  type E. A colour-only variant of the same format and period, hence a
460
- sub-entry per PRD-PLATES §2.3.
460
+ sub-entry per the plates spec §2.3.
461
461
  sources:
462
462
  - "https://www.reglugerd.is/reglugerdir/allar/nr/1515-2020 # adds gerð E (168 x 133 mm) and the orange plate for létt bifhjól í flokki I. Accessed 2026-08-02"
463
463
  sources:
data/data/plates/it.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/it.yml — Italy (PRD-PLATES gate L1).
1
+ # plates/it.yml — Italy (the plates spec gate L1).
2
2
  #
3
3
  # EVERY format, colour, dimension and period claim in this file comes from the
4
4
  # consolidated text of the REGOLAMENTO DI ESECUZIONE E DI ATTUAZIONE DEL NUOVO
@@ -12,10 +12,10 @@
12
12
  #
13
13
  # The L0 EU research dossier recorded Italy as its worst gap — "**No primary
14
14
  # source secured.** Everything below is from Wikipedia and must be confirmed
15
- # against the Codice della Strada and DPR 495/1992" (plates-research-eu-intl.md
15
+ # against the Codice della Strada and DPR 495/1992" (the EU research dossier
16
16
  # §2.5 and DEAD-ENDS §8). This file closes that gap: every claim below is
17
17
  # instrument-dated, and where the primaries and the enthusiast web disagree the
18
- # disagreement is RECORDED rather than averaged (PRD-PLATES §5.3).
18
+ # disagreement is RECORDED rather than averaged (the plates spec §5.3).
19
19
  #
20
20
  # THE SIX STRUCTURAL FACTS THAT SHAPE THIS FILE
21
21
  #
@@ -41,7 +41,7 @@
41
41
  # always names it BETWEEN two character groups, so the printed gaps on an
42
42
  # Italian plate are occupied by an emblem, exactly as the German gap is
43
43
  # occupied by the Plaketten (see plates/de.yml). The dataset writes those gaps
44
- # as the emitted SPACE separator (PRD-PLATES §2.6) and carries the emblem in
44
+ # as the emitted SPACE separator (the plates spec §2.6) and carries the emblem in
45
45
  # `design.emblem`; no glyph is ever inside an Italian serial.
46
46
  #
47
47
  # 3. 1993, NOT 1994 — AND THE PRIMARY SAYS SO TWICE. Art. 260 comma 5 as
@@ -176,7 +176,7 @@ common:
176
176
  licensing: >-
177
177
  The emblem is the Stella d'Italia between olive and oak — an element of the
178
178
  emblem of the Italian Republic, whose use is regulated independently of
179
- copyright. PRD-PLATES §3 placeholder rule applies: renders carry
179
+ copyright. The plates spec §3 placeholder rule applies: renders carry
180
180
  `emblem: {present: true, rendered: placeholder}` until a per-emblem
181
181
  clearance exists.
182
182
  source: "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.del.presidente.della.repubblica:1992-12-16;495~art262 # art. 262 Marchio ufficiale, verbatim"
@@ -234,7 +234,7 @@ common:
234
234
  licence: >-
235
235
  Italy is the fourth surveyed country to prescribe the glyphs by STATUTORY
236
236
  DRAWING rather than by named licensable font (after DE, ES and UK — EU
237
- dossier §6). PRD-PLATES §6 therefore applies unchanged: the render layer
237
+ dossier §6). The plates spec §6 therefore applies unchanged: the render layer
238
238
  derives glyphs from the statutory figures, never from a third-party
239
239
  "Italian plate font" TTF whose own licence is unstated. The figures
240
240
  themselves were not text-extractable from Normattiva's export and are a
@@ -355,13 +355,13 @@ series:
355
355
  The two printed gaps are occupied by the marchio ufficiale (Appendice XII
356
356
  lett. a) names it between the first letter pair and the digits), not by a
357
357
  separator glyph. Both regexes accept the gap as an optional emitted SPACE
358
- per PRD-PLATES §2.6.
358
+ per the plates spec §2.6.
359
359
  reserved_combinations: >-
360
360
  Art. 100 comma 8 of the codice lets the holder request "una specifica
361
361
  combinazione alfanumerica" at cost, "ferma restando la sequenza
362
362
  alfanumerica fissata dal regolamento" — a personalised SERIAL inside the
363
363
  standard grammar, hence the `personalized` variant below rather than a
364
- series of its own (PRD-PLATES §2.3).
364
+ series of its own (the plates spec §2.3).
365
365
  design:
366
366
  plate: { w: 520, h: 110, unit: mm, note: "targa posteriore, formato A" }
367
367
  plate_variants:
@@ -403,7 +403,7 @@ series:
403
403
  the office checks the combination is unused, registers the vehicle, and
404
404
  the Istituto Poligrafico delivers the plates within thirty days. Format
405
405
  and design are identical to the standard series — a sub-entry, not a
406
- series, per PRD-PLATES §2.3. Italy has no vanity ALPHABET: the requested
406
+ series, per the plates spec §2.3. Italy has no vanity ALPHABET: the requested
407
407
  combination must still obey Appendice XII.
408
408
  sources:
409
409
  - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art100 # art. 100 c. 8, verbatim"
@@ -442,7 +442,7 @@ series:
442
442
  l'esaurimento delle targhe di vecchio tipo ancora in giacenza presso gli
443
443
  uffici provinciali della Direzione generale della M.C.T.C. e comunque non
444
444
  oltre il 31 dicembre 1996". Legal commencement and full coverage are three
445
- years apart and the regulation says so — the PRD-PLATES §2.2
445
+ years apart and the regulation says so — the plates spec §2.2
446
446
  `period.rollout` case, arriving in Italy.
447
447
  matching: strict
448
448
  format:
@@ -487,7 +487,7 @@ series:
487
487
  categories: [car, van, truck, bus]
488
488
  period: { start: 1959, end: 1996 }
489
489
  period_evidence: instrument-in-force
490
- # RECALL-ONLY (PRD-PLATES §2.7): the 1959 regolamento fixes the province
490
+ # RECALL-ONLY (the plates spec §2.7): the 1959 regolamento fixes the province
491
491
  # sigla and nothing else — the rest of the mark is "un numero o una
492
492
  # combinazione di lettere e cifre", with no length, no alphabet and no
493
493
  # arrangement. Any regex covering it is necessarily wider than what was
@@ -524,7 +524,7 @@ series:
524
524
  white retroreflective. No instrument changing the colour was located in
525
525
  this pass, so the black-on-white variant is a RECORDED GAP and is not
526
526
  asserted; the sourced colours are recorded here and the discrepancy is
527
- flagged rather than averaged (PRD-PLATES §5.3).
527
+ flagged rather than averaged (the plates spec §5.3).
528
528
  region_encoding: "plates/_decode/it-provinces.yml"
529
529
  region_encoding_mechanism: >-
530
530
  THE PROVINCE IS IN THE MARK ITSELF — this is the only Italian series where a
@@ -578,7 +578,7 @@ series:
578
578
  fact in Italian plate law: while cars carried white on black, motorcycles
579
579
  carried BLUE on white under the same 1959 regolamento. Its own series rather
580
580
  than a variant of it-provincial-1959 because both design and dimensions
581
- differ (PRD-PLATES §2.3). The 165 x 165 mm square survived the 1993 reform
581
+ differ (the plates spec §2.3). The 165 x 165 mm square survived the 1993 reform
582
582
  unchanged and did not grow until 1999.
583
583
 
584
584
  # =========================================================================
@@ -589,7 +589,7 @@ series:
589
589
  categories: [motorcycle]
590
590
  period: { start: 1999 }
591
591
  period_evidence: instrument-in-force
592
- # RECALL-ONLY (PRD-PLATES §2.7), and the reason is a documented conflict
592
+ # RECALL-ONLY (the plates spec §2.7), and the reason is a documented conflict
593
593
  # rather than a union of issued shapes — see notes. A match is a shape hit.
594
594
  matching: recall-only
595
595
  format:
@@ -603,7 +603,7 @@ series:
603
603
  discarded — see notes.
604
604
  charset:
605
605
  letters_excluded: [I, O, Q, U]
606
- notes: "Appendice XII comma 2's 22-letter alphabet governs whichever shape is in fact issued; it is not written into `regex` because a recall-only series may carry no regex_strict (PRD-PLATES §2.7)."
606
+ notes: "Appendice XII comma 2's 22-letter alphabet governs whichever shape is in fact issued; it is not written into `regex` because a recall-only series may carry no regex_strict (the plates spec §2.7)."
607
607
  design:
608
608
  plate: { w: 177, h: 177, unit: mm, note: "art. 258 c. 1 lett. e-bis), inserted by D.P.R. 355/1998 — the motorcycle plate GREW from 165x165 to 177x177 when the EU band arrived" }
609
609
  background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
@@ -629,7 +629,7 @@ series:
629
629
  sostituisce." A self-built yellow panel repeating the vehicle's own
630
630
  registration, legal only on race days and race routes, and only for FMI
631
631
  licence holders. Colour-and-substrate variant of the same serial, hence a
632
- sub-entry (PRD-PLATES §2.3).
632
+ sub-entry (the plates spec §2.3).
633
633
  sources:
634
634
  - "https://www.normattiva.it/uri-res/N2Ls?urn:nir:stato:decreto.legislativo:1992-04-30;285!vig=~art100 # art. 100 c. 10, second sentence"
635
635
  sources:
@@ -648,7 +648,7 @@ series:
648
648
  Art. 257 c. 2 supplies a lawful mechanism by which both could be true — the
649
649
  Minister may set a different character succession by decree without amending
650
650
  the appendix — and no such decree was located. Averaging the two would be
651
- exactly the failure PRD-PLATES §5.3 forbids, so the series is `recall-only`
651
+ exactly the failure the plates spec §5.3 forbids, so the series is `recall-only`
652
652
  with a union regex, the appendix text is quoted in the sources, and this is
653
653
  the FIRST item on the verifier's list (see dossier-it.md §Verification).
654
654
  period.start 1999 is the design date (D.P.R. 355/1998 + art. 260 c. 5's
@@ -805,7 +805,7 @@ series:
805
805
  scritta 'Rimorchio', due caratteri alfabetici, il marchio ufficiale della
806
806
  Repubblica italiana e cinque caratteri numerici". It is carried in
807
807
  `design.legend` because it contains a full stop and a space and could never
808
- be spelled inside a serial under PRD-PLATES §2.6.
808
+ be spelled inside a serial under the plates spec §2.6.
809
809
  design:
810
810
  plate: { w: 340, h: 109, unit: mm, note: "art. 258 c. 1 lett. d) as enacted" }
811
811
  background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
@@ -830,7 +830,7 @@ series:
830
830
  categories: [trailer]
831
831
  period: { start: 1993 }
832
832
  period_evidence: instrument-in-force
833
- # RECALL-ONLY (PRD-PLATES §2.7): a repeater plate carries the TOWING vehicle's
833
+ # RECALL-ONLY (the plates spec §2.7): a repeater plate carries the TOWING vehicle's
834
834
  # registration, transcribed by the owner into empty boxes. Its regex is a
835
835
  # container, not a grammar; a match says only that the string could sit in
836
836
  # those boxes. Same situation as nl-export.
@@ -929,7 +929,7 @@ series:
929
929
  regex: '\A[A-Z]{2} ?\d{3} ?[A-Z]\z'
930
930
  regex_strict: '\A[ABCDEFGHJKLMNPRSTVWXYZ]{2} ?\d{3} ?[ABCDEFGHJKLMNPRSTVWXYZ]\z'
931
931
  charset: { letters_excluded: [I, O, Q, U] }
932
- legend_note: "the 'Rim. Agr.' legend contains a full stop and a space and is therefore a design element, never part of the serial (PRD-PLATES §2.6)"
932
+ legend_note: "the 'Rim. Agr.' legend contains a full stop and a space and is therefore a design element, never part of the serial (the plates spec §2.6)"
933
933
  design:
934
934
  plate: { w: 340, h: 109, unit: mm, note: "art. 258 c. 1 lett. d)" }
935
935
  background: { color: "#FFCC00", finish: retroreflective, hex_basis: observed }
@@ -1096,7 +1096,7 @@ series:
1096
1096
  square. Note the order differs from the car EE plate as well: here "EE" comes
1097
1097
  FIRST and the marchio and the national sign follow, where lett. p) opens with
1098
1098
  the marchio. Two entries rather than one because both format and dimensions
1099
- differ (PRD-PLATES §2.3).
1099
+ differ (the plates spec §2.3).
1100
1100
 
1101
1101
  # =========================================================================
1102
1102
  # TEMPORARY — targa provvisoria, the only Italian plate with a region prefix