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/es.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/es.yml — Spain (PRD-PLATES gate L0 pilot; PROVINCIAL-HISTORY REDATE
1
+ # plates/es.yml — Spain (the plates spec gate L0 pilot; PROVINCIAL-HISTORY REDATE
2
2
  # PASS, 2026-08-02, to the L1 evidence standard).
3
3
  #
4
4
  # EVERY format, colour and letter-exclusion claim for the CURRENT series comes
@@ -22,7 +22,7 @@
22
22
  # including the modern additions (decorative geometric designs permitted;
23
23
  # ISO/IEC 30116:2016 OCR quality).
24
24
  #
25
- # This settles the "Spanish 2000 cutover" that PRD-PLATES §5.3 flags as a
25
+ # This settles the "Spanish 2000 cutover" that the plates spec §5.3 flags as a
26
26
  # folklore-prone boundary: the instrument is dated, published and its entry
27
27
  # into force is stated by BOE itself as 17-09-2000. No averaging required.
28
28
  #
@@ -162,7 +162,7 @@ series:
162
162
  note: >-
163
163
  THE REAR PLATE ONLY is blue with white matte characters, for taxis and for
164
164
  hire-with-driver vehicles of up to nine seats. The front plate stays
165
- white/black. Same serial, same period, so a sub-entry per PRD-PLATES §2.3
165
+ white/black. Same serial, same period, so a sub-entry per the plates spec §2.3
166
166
  — but note this is a genuine front/rear ASYMMETRY, not a colour-only
167
167
  swap, and secondary sources routinely get it wrong by colouring both.
168
168
  sources:
@@ -295,7 +295,7 @@ series:
295
295
  2822/1998 instrument window) with the honest caveat that no 1971 primary was
296
296
  secured; the primary is now secured and the period is corrected. The id
297
297
  stays `es-provincial` (not `es-provincial-1971`) under the id contract
298
- (PRD-QUALITY I-5/I-6): amend, never rename. Plates already issued remain
298
+ (the quality spec I-5/I-6): amend, never rename. Plates already issued remain
299
299
  valid indefinitely and are re-issued on request; RGV Art. 27.2 lets an owner
300
300
  swap a provincial plate for a national one on a change of province.
301
301
  REMAINING GAPS at point of use: (1) the instruments that switched GE->GI,
@@ -364,7 +364,7 @@ series:
364
364
  This era's lists differ per instrument (1907, 1918, 1926, 1934 art. 232,
365
365
  1971 art. 233): three-letter codes until at latest 1926, no Gran
366
366
  Canaria/Tenerife split in 1907, Sahara SH in the 1971 list. Historical
367
- decode rows are L4 work (PRD-PLATES §7) — recorded gap.
367
+ decode rows are L4 work (the plates spec §7) — recorded gap.
368
368
  sources:
369
369
  - "https://www.boe.es/datos/pdfs/BOE/1900/263/A01141-01142.pdf # RD 17-09-1900 (Gaceta de Madrid 263, 20-09-1900, pp. 1141-1142), 'Reglamento para el servicio de coches automóviles por las carreteras': per-province authorization + 'En el Gobierno civil de cada provincia habrá un registro general de este servicio' (art. 6); vehicle inscriptions required but NO plate format prescribed. Accessed 2026-08-02"
370
370
  - "https://www.boe.es/gazeta/dias/1907/06/09/pdfs/GMD-1907-160.pdf # RO 24-05-1907 (Gaceta 160, 09-06-1907): THE FIRST PLATE FORMAT — concl. 3.ª two plates, 'la contraseña de la provincia, y á continuación y separado por un guión el número de orden de la licencia', black on white; concl. 5.ª the first contraseña list (1-3 letters); concl. 6.ª dimensions. Its preamble states pre-1907 display was non-uniform ('exige uniformar el criterio'). Accessed 2026-08-02"
@@ -634,7 +634,7 @@ series:
634
634
  TEMPORARY PERMIT FOR COMPANIES, UNREGISTERED VEHICLES — prefix S. This is
635
635
  Spain's functional dealer/trade plate. Its own series and not a variant of the
636
636
  V plate below, because the statute assigns a DIFFERENT PREFIX LETTER, which is
637
- a format difference (PRD-PLATES §2.3). CLASS CAVEAT: recorded as `dealer`
637
+ a format difference (the plates spec §2.3). CLASS CAVEAT: recorded as `dealer`
638
638
  because it is bound to a business rather than a vehicle; the statutory name is
639
639
  "permiso temporal para empresas".
640
640
 
@@ -705,7 +705,7 @@ series:
705
705
  CUERPO DIPLOMÁTICO — red ground, white characters. The mission-prefix DECODE
706
706
  TABLE is not authored: Anexo XVIII states the ASSIGNMENT RULE (alphabetical
707
707
  order of the Foreign Ministry's official diplomatic list) but not the resulting
708
- codes, and that list was not fetched in this pass. PRD-PLATES puts diplomatic
708
+ codes, and that list was not fetched in this pass. The plates spec puts diplomatic
709
709
  decode tables at gate L4; this entry carries the mechanism so the table can be
710
710
  hung off it later without an id change.
711
711
 
@@ -858,7 +858,7 @@ series:
858
858
  - "https://www.boe.es/buscar/pdf/1999/BOE-A-1999-1826-consolidado.pdf # Anexo XVIII II.B: MF, MMA and PME contraseñas"
859
859
  notes: >-
860
860
  CENTRAL GOVERNMENT FLEETS. PERIOD-ROT WARNING for the decode discipline
861
- PRD-PLATES §9 calls out: MF (Ministerio de Fomento) and MMA (Ministerio de
861
+ the plates spec §9 calls out: MF (Ministerio de Fomento) and MMA (Ministerio de
862
862
  Medio Ambiente) name ministries that have since been reorganised and renamed,
863
863
  yet the consolidated Anexo XVIII still lists them. The codes are current law;
864
864
  the ministry names behind them are not current fact. Recorded as-enacted.
data/data/plates/fi.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/fi.yml — Finland (PRD-PLATES gate L1, EU/EEA slice). DRAFT for
1
+ # plates/fi.yml — Finland (the plates spec gate L1, EU/EEA slice). DRAFT for
2
2
  # verification: researched by an Opus L1 researcher, never applied directly.
3
3
  #
4
4
  # THE FINNISH SOURCE CHAIN, AND WHY IT IS UNUSUALLY CLEAN
@@ -97,7 +97,7 @@
97
97
  # type whether the hyphen is required ("tulee olla väliviiva") or forbidden
98
98
  # ("ei saa olla väliviivaa" — the two-row plates, where the groups sit on
99
99
  # separate lines instead). Patterns here always spell the canonical single-row
100
- # printed form with the hyphen (PRD-PLATES §2.6 rule 2); each design block
100
+ # printed form with the hyphen (the plates spec §2.6 rule 2); each design block
101
101
  # records which sizes print two rows and therefore no hyphen at all. The rule is
102
102
  # old: A 1598/1995 § 36(5) already said "Rekisterikilvessä olevat numerot
103
103
  # erotetaan rekisterikilvessä olevista kirjaimista väliviivalla."
@@ -140,7 +140,7 @@ common:
140
140
  printed. On two-row plates the määräys forbids the hyphen outright, so the
141
141
  same mark is printed with a hyphen on a single-row plate and without one on
142
142
  a two-row plate. A separator-forgiving consumer collapses both to the same
143
- canonical serial, which is exactly what PRD-PLATES §2.6 guarantees.
143
+ canonical serial, which is exactly what the plates spec §2.6 guarantees.
144
144
  allocation:
145
145
  rule: "A 162/2021 § 17(1), verbatim: 'Ajoneuvolle annettava 16 §:n mukainen rekisteritunnus määräytyy sattumanvaraisesti. Liikenne- ja viestintävirasto voi kuitenkin pyynnöstä antaa ajoneuvokohtaisen, hakemuksessa yksilöidyn rekisteritunnuksen (erityistunnus).'"
146
146
  consequence: "RANDOM allocation. No region, no era, no vehicle-class letter is derivable from a Finnish mark — only the letters/digits ARRANGEMENT and the plate colour carry information. § 17(3) adds that a vehicle whose plates are lost or stolen gets a NEW mark, so a Finnish mark is not even stable across the vehicle's life."
@@ -234,7 +234,7 @@ common:
234
234
  liitteiden 1-5 kirjasintyyppien mukaisia." Liitteet 1-5 are dimensioned
235
235
  vector drawings of the letters and numerals at 72 mm, 70 mm, 56 mm and
236
236
  35 mm; Liite 6 is the export plate's date numerals. Exactly the UK/DE/ES
237
- pattern the EU dossier found (PRD-PLATES §6): the legal object is a
237
+ pattern the EU dossier found (the plates spec §6): the legal object is a
238
238
  drawing, not a licensable typeface, so the render layer derives glyphs
239
239
  from the drawing.
240
240
  annexes:
@@ -246,7 +246,7 @@ common:
246
246
  - "Liite 6: vientirekisteröidyn ajoneuvon voimassaoloaikaa ilmaisevien numeroiden kirjasintyyppi"
247
247
  - "Liite 7: siirtomerkin kirjasintyyppi"
248
248
  exception_flagged: >-
249
- THE ONE EXCEPTION, AND IT MATTERS TO PRD-PLATES §6. The SIIRTOMERKKI
249
+ THE ONE EXCEPTION, AND IT MATTERS TO the plates spec §6. The SIIRTOMERKKI
250
250
  (transfer mark) is the one Finnish registration marking whose typeface is
251
251
  NOT a drawing: Traficom määräys §§ 5.1 and 5.2 say, verbatim, "Siirtomerkin
252
252
  kirjasintyyppi on Arial Narrow, bold/lihavoitu. Kirjasintyypin koko on
@@ -623,7 +623,7 @@ series:
623
623
  voi olla heijastava valkoinen tai heijastamaton musta", yet Traficom's
624
624
  own gallery labels the illustration "Perävaunun mustapohjainen kilpi
625
625
  -ei enää myönnetä" (no longer issued). Recorded as a colour-only
626
- variant with the disagreement stated, per PRD-PLATES §5.3: the
626
+ variant with the disagreement stated, per the plates spec §5.3: the
627
627
  disagreement is not averaged away.
628
628
  sources:
629
629
  - "https://www.finlex.fi/api/media/authority-regulation/536142/mainPdf/main.pdf # määräys § 3.2.2 permits white OR black"
@@ -669,7 +669,7 @@ series:
669
669
  hyphen outright ("Kirjainten ja numeroiden välissä ei saa olla
670
670
  väliviivaa"); Traficom's own gallery accordingly shows "10 TRF". The
671
671
  pattern spells the canonical single-row form with the hyphen per
672
- PRD-PLATES §2.6 rule 2; a separator-forgiving consumer canonicalises
672
+ the plates spec §2.6 rule 2; a separator-forgiving consumer canonicalises
673
673
  both printings to the same serial.
674
674
  design:
675
675
  plate: { w: 165, h: 200, unit: mm }
@@ -724,7 +724,7 @@ series:
724
724
  BLACK-GROUND MOTORCYCLE PLATE, permitted by määräys § 3.3.2 in both the
725
725
  200 x 165 and 118 x 280 shapes, non-reflective per § 4.1.2, white mark
726
726
  and border per § 4.4. Colour-only variant of this series, so a
727
- sub-entry per PRD-PLATES §2.3. Traficom's gallery illustrates both
727
+ sub-entry per the plates spec §2.3. Traficom's gallery illustrates both
728
728
  ("Moottoripyörän mustapohjainen kilpi 200x165 mm" with 98-BBM, and
729
729
  "Moottoripyörän mustapohjainen matala kilpi 118x280 mm").
730
730
  sources:
@@ -863,7 +863,7 @@ series:
863
863
  foreground: "#000000"
864
864
  border: { color: "#000000" }
865
865
  band: { side: none, note: "§ 16(1)(2) grants the nationality sign only to L3e, L4e, L5e and L7e — mopeds (L1e) and light quadricycles (L6e) are excluded by omission" }
866
- characters: { height_mm: 35, width_max_mm: 24, stroke_mm: 5, note: "määräys § 4.3's own body text says 'Mopon ja moottorikelkan rekisterikilven rekisteritunnuksen kirjainten ja numeroiden korkeuden tulee olla 35 mm ja leveyden korkeintaan 24 mm. Kirjainten ja numeroiden viivaleveyden tulee olla 5 mm', while Liite 8's table gives 70 mm at 9 mm for the same plate — a flat contradiction inside one instrument. 35 mm is recorded because two 70 mm rows cannot fit a 110 mm plate; the disagreement is recorded, not averaged (PRD-PLATES §5.3)" }
866
+ characters: { height_mm: 35, width_max_mm: 24, stroke_mm: 5, note: "määräys § 4.3's own body text says 'Mopon ja moottorikelkan rekisterikilven rekisteritunnuksen kirjainten ja numeroiden korkeuden tulee olla 35 mm ja leveyden korkeintaan 24 mm. Kirjainten ja numeroiden viivaleveyden tulee olla 5 mm', while Liite 8's table gives 70 mm at 9 mm for the same plate — a flat contradiction inside one instrument. 35 mm is recorded because two 70 mm rows cannot fit a 110 mm plate; the disagreement is recorded, not averaged (the plates spec §5.3)" }
867
867
  layout: "two rows, no hyphen"
868
868
  region_encoding: none
869
869
  sources:
@@ -1002,7 +1002,7 @@ series:
1002
1002
  grammar and needs no strict twin: no leading-zero rule is published
1003
1003
  for a ministry-allocated diplomatic number, and inventing one was
1004
1004
  declined.
1005
- progression: "allocated by the Ministry for Foreign Affairs, not by Traficom's random pool; Traficom issues the plates only on the Ministry's 'kilpisuositus' (plate recommendation). The mission-to-number mapping is not published and is NOT authored here (PRD-PLATES puts diplomatic decode tables at L4)."
1005
+ progression: "allocated by the Ministry for Foreign Affairs, not by Traficom's random pool; Traficom issues the plates only on the Ministry's 'kilpisuositus' (plate recommendation). The mission-to-number mapping is not published and is NOT authored here (the plates spec puts diplomatic decode tables at L4)."
1006
1006
  design:
1007
1007
  plate: { w: 397, h: 118, unit: mm }
1008
1008
  plate_variants:
@@ -1088,7 +1088,7 @@ series:
1088
1088
  fields_note: >-
1089
1089
  The plate additionally bears a two-number EXPIRY FIELD (month over year)
1090
1090
  which a single pattern string cannot express — the same schema pressure
1091
- PRD-PLATES §2.2 records for Japan and de.yml records for the German
1091
+ the plates spec §2.2 records for Japan and de.yml records for the German
1092
1092
  Kurzzeit- and Ausfuhrkennzeichen.
1093
1093
  design:
1094
1094
  plate: { w: 442, h: 118, unit: mm }
@@ -1144,7 +1144,7 @@ series:
1144
1144
  period: { start: 1996 }
1145
1145
  period_evidence: instrument-in-force
1146
1146
  binding: business
1147
- # RECALL-ONLY (PRD-PLATES §2.7): two primaries disagree on the ORDER of the
1147
+ # RECALL-ONLY (the plates spec §2.7): two primaries disagree on the ORDER of the
1148
1148
  # letter and the number, so the regex is the UNION of both orders and is by
1149
1149
  # construction wider than whatever the authority actually issues. A match is
1150
1150
  # a shape hit, never the claim that the string is a valid koenumero.
@@ -1158,7 +1158,7 @@ series:
1158
1158
  heijastavalla pohjalla" — letter BEFORE number, in the same word order
1159
1159
  the export clause uses for the unambiguous A-5544 shape. But Traficom's
1160
1160
  own plate gallery captions its koenumerokilpi illustration
1161
- "KOE 100-H" — number BEFORE letter. PRD-PLATES §5.3 forbids averaging a
1161
+ "KOE 100-H" — number BEFORE letter. The plates spec §5.3 forbids averaging a
1162
1162
  disagreement, so the regex admits both orders and `matching` is
1163
1163
  `recall-only` until a verifier settles it. The pattern shows the
1164
1164
  decree's order because the statute outranks an image caption.
@@ -1236,7 +1236,7 @@ series:
1236
1236
  size_pt: 218
1237
1237
  note: >-
1238
1238
  THE ONE NAMED TYPEFACE IN FINNISH REGISTRATION LAW, and a
1239
- counter-example to PRD-PLATES §6's survey finding. Määräys § 5.1:
1239
+ counter-example to the plates spec §6's survey finding. Määräys § 5.1:
1240
1240
  "Siirtomerkin kirjasintyyppi on Arial Narrow, bold/lihavoitu.
1241
1241
  Kirjasintyypin koko on 218p." § 5.2 gives 170p for the
1242
1242
  motorcycle/moped mark. Arial Narrow is a licensable Monotype
data/data/plates/fr.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/fr.yml — France (PRD-PLATES gate L1).
1
+ # plates/fr.yml — France (the plates spec gate L1).
2
2
  #
3
3
  # EVERY format, colour, period and class claim in this file is sourced to one
4
4
  # of five French primaries, all fetched 2026-08-02 and pinned per claim below:
@@ -84,7 +84,7 @@
84
84
  # a fourth item — "Le numéro d'immatriculation est reproduit sur chaque
85
85
  # plaque d'immatriculation en caractères noirs sur fond rose" — and art. 3
86
86
  # fixed its entry into force at 1 January 2026. Design differs, so per
87
- # PRD-PLATES §2.3 the WW and W garage regimes are each TWO series, split at
87
+ # the plates spec §2.3 the WW and W garage regimes are each TWO series, split at
88
88
  # 2025/2026. A pink French plate cannot predate 2026; that is one of very
89
89
  # few hard date signals a French plate carries.
90
90
  #
@@ -200,7 +200,7 @@ common:
200
200
  The three annexe-7 colours that matter most for the special series — the
201
201
  transit RED, the diplomatic JASPER GREEN and the diplomatic ORANGE — have
202
202
  NO coordinates anywhere in the 1996 arrêté's table. They are named and not
203
- numbered, exactly as PRD-PLATES found for the German green and red plates.
203
+ numbered, exactly as the plates spec found for the German green and red plates.
204
204
  Their hexes below are marked `observed` and are the weakest colour claims
205
205
  in this file.
206
206
  source: "https://www.legifrance.gouv.fr/loda/id/JORFTEXT000000193190 # tableau des coordonnées trichromatiques (jour); art. 1 bis added 2026-01-01 exempting pink WW/W plates from the art. 1 homologation rule while binding them to the pink coordinates"
@@ -258,7 +258,7 @@ common:
258
258
  licence: >-
259
259
  NO NAMED TYPEFACE IS MANDATED — France is a third data point for the EU
260
260
  dossier's finding (UK prescribes a drawing, Germany a Schriftmuster,
261
- France a written description). PRD-PLATES §6 therefore applies at its
261
+ France a written description). The plates spec §6 therefore applies at its
262
262
  cleanest here: the render layer derives glyphs from the statutory
263
263
  description, never from a third-party "plaque" TTF.
264
264
  source: "https://www.legifrance.gouv.fr/loda/id/JORFTEXT000020237128 # art. 6"
@@ -458,7 +458,7 @@ series:
458
458
  background: "blue, not necessarily retroreflective"
459
459
  owner_chosen: true
460
460
  note: "art. 9; identical front and rear; reproduced only by homologated manufacturers"
461
- emblem: { present: true, rendered: placeholder, note: "the identifiant territorial carries an official REGIONAL LOGO — 18 régions plus the collectivité européenne d'Alsace, none HELD. LICENCE ROUTE, corrected by reading art. 9 to its end: the logos are declared officiels ET LIBRES DE DROIT, and the article names their publisher — verbatim, 'Les logos des collectivités territoriales officiels et libres de droit, qui figurent sur le site internet du ministère de l intérieur : http://www.interieur.gouv.fr/, ne peuvent être reproduits sur les plaques d immatriculation que par le seul fabricant de plaques ou de matériau réfléchissant titulaire d homologation.' The reservation that follows is about reproducing them ON PLATES by makers without homologation — a manufacturing rule — and it sits after the words 'libres de droit'. So the blocker is ACQUIRING the official files, not their licence. PRD-PLATES §3 placeholder rule still applies until they are held and ledgered." }
461
+ emblem: { present: true, rendered: placeholder, note: "the identifiant territorial carries an official REGIONAL LOGO — 18 régions plus the collectivité européenne d'Alsace, none HELD. LICENCE ROUTE, corrected by reading art. 9 to its end: the logos are declared officiels ET LIBRES DE DROIT, and the article names their publisher — verbatim, 'Les logos des collectivités territoriales officiels et libres de droit, qui figurent sur le site internet du ministère de l intérieur : http://www.interieur.gouv.fr/, ne peuvent être reproduits sur les plaques d immatriculation que par le seul fabricant de plaques ou de matériau réfléchissant titulaire d homologation.' The reservation that follows is about reproducing them ON PLATES by makers without homologation — a manufacturing rule — and it sits after the words 'libres de droit'. So the blocker is ACQUIRING the official files, not their licence. The plates spec §3 placeholder rule still applies until they are held and ledgered." }
462
462
  shape_note: "art. 5: the useful part is rectangular with the long side horizontal; the physical support must be symmetric about a vertical axis and may be slightly curved; a lower 'bavette' outside the useful part may carry only the seller's or fitter's references"
463
463
  background_pattern_rule: "art. 5: 'Les trames de fonds de plaques ne doivent pas comporter de caractères explicites (lettre ou symbole) ou ostentatoires' — decorative background textures are allowed, explicit letters or symbols in them are not"
464
464
  rear_differs: false
@@ -479,7 +479,7 @@ series:
479
479
  Trailers and semi-trailers below the mass threshold of art. R. 317-8 II
480
480
  carry a plate REPRODUCING the towing vehicle's number rather than one
481
481
  of their own, and it may be removable. Format-identical and
482
- colour-identical, so a sub-entry per PRD-PLATES §2.3 and not a series.
482
+ colour-identical, so a sub-entry per the plates spec §2.3 and not a series.
483
483
  sources:
484
484
  - "https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000042266062 # art. R. 317-8 II"
485
485
  sources:
@@ -571,7 +571,7 @@ series:
571
571
  date, ceux qui ont été préalablement immatriculés suivant ce format
572
572
  conservent leur numéro d'immatriculation. Exemple : A 11 A."
573
573
  separator: " "
574
- separator_note: "the arrêté specifies a SPACE here and hyphens for the definitive number — the only French series pair whose separators differ, and a clean illustration of why the dataset commits to a separator set (PRD-PLATES §2.6)"
574
+ separator_note: "the arrêté specifies a SPACE here and hyphens for the definitive number — the only French series pair whose separators differ, and a clean illustration of why the dataset commits to a separator set (the plates spec §2.6)"
575
575
  design:
576
576
  background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
577
577
  foreground: "#000000"
@@ -620,7 +620,7 @@ series:
620
620
  the start of the new plate annexes. This series overlaps
621
621
  fr-siv-cyclomoteur-2009 at 2015 by construction: the old numbers keep
622
622
  running while the new shape starts, which is exactly the parallel-issuance
623
- case PRD-PLATES §2.2 sanctions.
623
+ case the plates spec §2.2 sanctions.
624
624
 
625
625
  # =========================================================================
626
626
  # DEALER — W garage. Two series, split by the 2026 pink plate.
@@ -658,7 +658,7 @@ series:
658
658
  that where a W number is used on an already-registered vehicle "ce numéro
659
659
  doit seul être utilisé" is the tell: the vehicle's own plates come off.
660
660
  This entry exists as a separate series from fr-wgarage-2026 solely because
661
- the DESIGN changed on 1 January 2026 (PRD-PLATES §2.3); the number format
661
+ the DESIGN changed on 1 January 2026 (the plates spec §2.3); the number format
662
662
  is identical across the split. TRANSITIONAL GAP: no provision on plates
663
663
  ALREADY IN SERVICE on 1 January 2026 was located — whether a pre-2026 W
664
664
  garage plate had to be replaced with a pink one, and by when, is
@@ -933,7 +933,7 @@ series:
933
933
  certificate tax, and an X for a vehicle belonging to a person who does
934
934
  NOT enjoy fiscal or customs immunities. Examples: "105 CD 5 Z",
935
935
  "600 CD 20 X".
936
- range_note: "the country group is 1-199 and the organisation group 400-499 (with the fixed 500, 600, 700 cases) — ranges the regex deliberately does NOT encode, because a numeric range is not a lexical constraint and PRD-PLATES keeps regexes lexical; the ranges are recorded here for the decode layer"
936
+ range_note: "the country group is 1-199 and the organisation group 400-499 (with the fixed 500, 600, 700 cases) — ranges the regex deliberately does NOT encode, because a numeric range is not a lexical constraint and the plates spec keeps regexes lexical; the ranges are recorded here for the decode layer"
937
937
  design:
938
938
  background: { color: "#0B5D3B", finish: retroreflective, hex_basis: observed, hex_note: "annexe 7 item 2 says 'fond vert jaspe'; the 1996 colorimetric table has no green row at all, so this is a named colour with no coordinates anywhere in French law — observed, and flagged" }
939
939
  foreground: "#E87511"
@@ -941,7 +941,7 @@ series:
941
941
  band: { side: none, note: "SETTLED PHOTOGRAPHICALLY, and against the guess: French CD/CMD/C/K plates carry NO European symbol at all. Art. 8's duty is written for 'véhicules portant le numéro définitif', which a diplomatic number is not, and two independent photographs — 168 CD 66 in orange on jasper green, 431 K 12355 in white on jasper green — show a plain coloured face from rim to rim. Evidence: photographic-observed." }
942
942
  border_rule: { present: true, color: "as the characters", note: "both references show a thin rule inset about 2 mm from the rim in the character colour, orange on the CD plate and white on the K plate. In neither arrêté; photographic-observed." }
943
943
  region_encoding: none
944
- region_encoding_note: "the leading 1-199 group is a COUNTRY code allocated by the Ministère des affaires étrangères and is NOT published in the arrêté — a diplomatic decode table is L4 work per PRD-PLATES §7 and is deliberately not authored here"
944
+ region_encoding_note: "the leading 1-199 group is a COUNTRY code allocated by the Ministère des affaires étrangères and is NOT published in the arrêté — a diplomatic decode table is L4 work per the plates spec §7 and is deliberately not authored here"
945
945
  sources:
946
946
  - "https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000030801732 # annexe VII D.1 (CMD/CD compositions for ambassades, hautes personnalités and organisations internationales, plus the ESA/Guyane 973 completion) and D.4 (the Z and X suffixes)"
947
947
  - "https://www.legifrance.gouv.fr/loda/article_lc/LEGIARTI000052974050 # annexe 7 item 2: 'Séries CMD, CD — Le numéro d'immatriculation est reproduit sur chaque plaque d'immatriculation en caractères orangés sur fond vert jaspe.'"
@@ -1203,7 +1203,7 @@ series:
1203
1203
  categories: [car, van, truck, bus, motorcycle, moped, trailer, semitrailer, tractor, machine]
1204
1204
  period: { start: 1984, end: 2009 }
1205
1205
  period_evidence: instrument-in-force
1206
- # RECALL-ONLY (PRD-PLATES §2.7), and for an unusual reason: the composition
1206
+ # RECALL-ONLY (the plates spec §2.7), and for an unusual reason: the composition
1207
1207
  # annexe of the governing instrument IS NOT PUBLISHED. Légifrance renders
1208
1208
  # annexe I of the arrêté du 5 novembre 1984 as the single line "(Annexe non
1209
1209
  # reproduite, voir JO du 22 décembre 1984 pages 11837 et suivantes". So the
data/data/plates/gb.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/gb.yml — United Kingdom (PRD-PLATES gate L1).
1
+ # plates/gb.yml — United Kingdom (the plates spec gate L1).
2
2
  #
3
3
  # EVERY layout, colour, character-metric and class claim here comes from the
4
4
  # Road Vehicles (Display of Registration Marks) Regulations 2001 (S.I. 2001
@@ -39,7 +39,7 @@
39
39
  # plate height, and neither does Schedule 2. The 520 x 111 mm oblong every
40
40
  # British motorist can draw from memory is a BRITISH STANDARD dimension
41
41
  # (BS AU 145e), and BS AU 145e is a copyrighted, paywalled BSI publication
42
- # which PRD-PLATES § 6 permits us to build to and forbids us to reproduce.
42
+ # which the plates spec § 6 permits us to build to and forbids us to reproduce.
43
43
  # Consequently `design.plate` is ABSENT from every series in this file and
44
44
  # its absence is a sourced finding, not an omission. `design.characters`
45
45
  # carries the metrics the Regulations do give.
@@ -92,7 +92,7 @@
92
92
  # DVLA memory-tag alphabet and the age-identifier value set from INF104, which
93
93
  # `regex` cannot carry because the lint generates "I", "Q" and "00".
94
94
  #
95
- # SEPARATOR NOTE (PRD-PLATES § 2.6): a British mark prints NO separator glyph.
95
+ # SEPARATOR NOTE (the plates spec § 2.6): a British mark prints NO separator glyph.
96
96
  # What Table B line 5 prescribes is a GAP in millimetres — 33 mm between the
97
97
  # age identifier and the random letters on a current-style plate. The space in
98
98
  # every `pattern` here is the conventional textual rendering of that gap (and
@@ -163,7 +163,7 @@ common:
163
163
  first registered on or after 1.9.2001, nor on a replacement plate fitted
164
164
  on or after that date, "except where the vehicle was first registered
165
165
  before 1st January 1973". The DIAGRAMS THEMSELVES are line drawings in
166
- Schedule 3 Part 2 and are not reproduced here (PRD-PLATES § 6: cite,
166
+ Schedule 3 Part 2 and are not reproduced here (the plates spec § 6: cite,
167
167
  never embed) — but note they are Crown-copyright material published
168
168
  inside a statutory instrument under OGL v3.0, not a paywalled standard.
169
169
  source: "https://www.legislation.gov.uk/uksi/2001/561/schedule/3 # Sch 3 Part 1 Table A rows 1-9 verbatim; Part 2 diagram list; Part 3 Table B"
@@ -180,7 +180,7 @@ common:
180
180
  The Regulations NAME the colours and never number them. The chromaticity
181
181
  coordinates live in BS AU 145d/145e, which are copyrighted BSI documents
182
182
  (Sch 2 Part 1 marginal citation M5 even gives the ISBN and tells the
183
- reader to buy a copy). Under PRD-PLATES § 6 we build to them and never
183
+ reader to buy a copy). Under the plates spec § 6 we build to them and never
184
184
  reproduce them, so every hex in this file is `hex_basis: observed` inside
185
185
  a statutorily named colour — the same posture plates/de.yml takes for
186
186
  "grünes Kennzeichen" and "rotes Kennzeichen".
@@ -198,7 +198,7 @@ common:
198
198
  and at least 7 mm below the mark. Para 8 permits a border that is
199
199
  permanent, non-retroreflecting, single-shade, at least 10 mm clear of any
200
200
  character, not above the other markings, and no more than 5 mm wide.
201
- ip_note: "BS AU 145e is paywalled BSI copyright. PRD-PLATES § 6 applies: cite, build to, never redistribute. No dimension in this file is taken from it."
201
+ ip_note: "BS AU 145e is paywalled BSI copyright. The plates spec § 6 applies: cite, build to, never redistribute. No dimension in this file is taken from it."
202
202
  source: "https://www.legislation.gov.uk/uksi/2001/561/schedule/2 # Sch 2 Part A1 paras 1, 5-8; Part 1 para 1 + M5; Part 2 para 1 + M6; Part 3 B.1 + M7"
203
203
  characters:
204
204
  current_style:
@@ -230,7 +230,7 @@ common:
230
230
  tolerance: "reg 12(2): character height may be +/- 1 mm; any other dimension +/- 0.5 mm"
231
231
  dossier_correction: >-
232
232
  THE SOURCE APPENDIX IS WRONG ON ONE NUMBER AND THIS FILE CORRECTS IT.
233
- aux/research/plates-2026-07/plates-research-eu-intl.md § 2.6 tabulates
233
+ the EU research dossier § 2.6 tabulates
234
234
  "Character width (except 1 / I) ... Current style: 57". It is 50 mm.
235
235
  Table B line 1 ("Character width (all new registration plates from 1.9.01
236
236
  except replacement of 'classic' plates)") gives 50 mm at 79 mm height and
@@ -460,13 +460,13 @@ legacy_layouts_not_modelled: >-
460
460
  and dateless arrangements (1234 AB, 123 ABC, ABC 123, AB 1234) that Britain
461
461
  issued before 1963 and that survive in enormous numbers on personalised and
462
462
  historic vehicles. They are DELIBERATELY not authored as series in this L1
463
- pass: PRD-PLATES scopes L1 at the current standard series plus ONE series
463
+ pass: The plates spec scopes L1 at the current standard series plus ONE series
464
464
  back, and no primary dating ANY of them was secured (the suffix system's
465
465
  1963 start and the prefix system's 1983 start are both folklore in this
466
466
  pass). Their SHAPES are nevertheless fully sourced in `common.layouts` above
467
467
  and are carried in the union regex of gb-historic-blacksilver, so a parse
468
468
  API can already recognise them as British without this file inventing a
469
- period for them. Authoring them is L4 work (PRD-PLATES § 7, "Historical
469
+ period for them. Authoring them is L4 work (the plates spec § 7, "Historical
470
470
  depth (the pre-2000 world)").
471
471
 
472
472
  series:
@@ -523,7 +523,7 @@ series:
523
523
  S.I. 2001/561 nor its Schedules prescribe a plate width or height. Only
524
524
  characters, spacings and MINIMUM margins are regulated (reg 14,
525
525
  Table B). Plate sizes live in BS AU 145e, which is paywalled BSI
526
- copyright (PRD-PLATES § 6).
526
+ copyright (the plates spec § 6).
527
527
  background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed, spec_note: "Sch 2 Part A1 para 2: black characters on a white background at the FRONT. Retroreflection per BS AU 145e (para 1)." }
528
528
  background_rear: { color: "#FFFF00", finish: retroreflective, hex_basis: observed, spec_note: "Sch 2 Part A1 para 3: black characters on a yellow background at the BACK. The statute names 'yellow' and gives no coordinates." }
529
529
  foreground: "#000000"
@@ -567,7 +567,7 @@ series:
567
567
  BS AU 145d to BS AU 145e is NOT cut as a second series. The MARK did not
568
568
  change, the colours did not change and the character metrics did not
569
569
  change; what changed is the plate-manufacturing standard and the
570
- supplier-marking and border rules. Under PRD-PLATES § 2.3 that is a
570
+ supplier-marking and border rules. Under the plates spec § 2.3 that is a
571
571
  specification change inside one design, so it is recorded in
572
572
  `design.spec_history` with both instruments cited. Splitting it would
573
573
  have created two series with byte-identical regexes and no consumer-
@@ -618,7 +618,7 @@ series:
618
618
  BRITISH MOTORCYCLES CARRY AN ORDINARY MARK ON AN EXTRAORDINARY PLATE.
619
619
  A separate series and not a variant because the design differs on four
620
620
  axes at once — rear-only, two-line-only, 64 mm characters and a second
621
- statutory font drawing — which is exactly the PRD-PLATES § 2.3 test.
621
+ statutory font drawing — which is exactly the plates spec § 2.3 test.
622
622
  Two edge cases INF104 § 07 states and this series carries: a tricycle
623
623
  "made from four-wheeled bodies, such as saloon cars" may use EITHER the
624
624
  car or the motorcycle requirements, while a tricycle built from a
@@ -691,7 +691,7 @@ series:
691
691
  S.I. 2020/1276 came into force on 8 December 2020 and INF104 § 09 gives
692
692
  the same date, so this is `enabling-instrument`, not folklore. Its own
693
693
  series rather than a sub-entry of gb-standard-2001 because BOTH the
694
- period and the design differ (PRD-PLATES § 2.3), and because the class
694
+ period and the design differ (the plates spec § 2.3), and because the class
695
695
  vocabulary's `electric` value would otherwise have no British home. The
696
696
  flash is OPTIONAL — a zero-emission vehicle without one is entirely
697
697
  lawful — so a green flash is evidence of a ZEV and its absence is
@@ -801,7 +801,7 @@ series:
801
801
 
802
802
  # =========================================================================
803
803
  # THE PREVIOUS STANDARD FORMAT — the PREFIX system. Table A row 2. This is
804
- # the "one series back" PRD-PLATES L1 requires, and the one period claim in
804
+ # the "one series back" the plates spec L1 requires, and the one period claim in
805
805
  # this file that is NOT firmly dated at its start.
806
806
  # =========================================================================
807
807
  - id: gb-prefix-1984
@@ -1067,7 +1067,7 @@ series:
1067
1067
 
1068
1068
  # =========================================================================
1069
1069
  # HISTORIC — the black-and-silver regime. A DESIGN laid over whatever mark
1070
- # the vehicle already holds, so RECALL-ONLY (PRD-PLATES § 2.7).
1070
+ # the vehicle already holds, so RECALL-ONLY (the plates spec § 2.7).
1071
1071
  # =========================================================================
1072
1072
  - id: gb-historic-blacksilver
1073
1073
  class: historic
@@ -1150,7 +1150,7 @@ series:
1150
1150
  constructed on or before 1st January 1980" were INSERTED by S.I.
1151
1151
  2020/1363 reg 6 with effect from 1 January 2021.
1152
1152
  source_disagreement: >-
1153
- RECORDED, NOT AVERAGED (PRD-PLATES § 5.3). INF104 § 07 says: "From April
1153
+ RECORDED, NOT AVERAGED (the plates spec § 5.3). INF104 § 07 says: "From April
1154
1154
  2020 vehicles manufactured before 1 January 1980 are also able to display
1155
1155
  traditional 'black and white' number plates. You must: have applied to
1156
1156
  DVLA; be registered within the 'historic vehicles' tax class." The
data/data/plates/gr.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/gr.yml — Greece (PRD-PLATES gate L1, wave 2).
1
+ # plates/gr.yml — Greece (the plates spec gate L1, wave 2).
2
2
  #
3
3
  # THE CENTRAL FACT OF THIS JURISDICTION, AND IT IS A REGULATED ONE: a Greek
4
4
  # ordinary plate is spelled in GREEK CAPITALS, but only in the fourteen Greek
@@ -33,7 +33,7 @@
33
33
  # be shown in capital Latin characters and Arabic numerals — on that reading,
34
34
  # issuing only the intersection of the two alphabets lets one physical plate
35
35
  # satisfy the domestic Greek script and the international requirement at once.
36
- # That is a plausible and widely repeated rationale, but PRD-PLATES §4 records
36
+ # That is a plausible and widely repeated rationale, but the plates spec §4 records
37
37
  # the Vienna Convention annexes as UNPINNED in this program (UNECE returned
38
38
  # 403s), and Greece's own ratification status was not checked in this pass.
39
39
  # The instrument itself says only "common to the Greek and the Latin alphabet"
@@ -125,7 +125,7 @@
125
125
  # * ΥΑ 282069/2023 (ΦΕΚ Β' 5645 of 25-9-2023) and ΥΑ 178239/2024 (ΦΕΚ Β' 5096
126
126
  # of 9-9-2024) — live amendments to the 1982 allocation annex.
127
127
  #
128
- # THE INSTRUMENT-DATE RULE, APPLIED TWICE AND HONESTLY (PRD-PLATES §5.3):
128
+ # THE INSTRUMENT-DATE RULE, APPLIED TWICE AND HONESTLY (the plates spec §5.3):
129
129
  #
130
130
  # 1. The 2004 series does NOT start on 4-2-2004, the date of its instrument.
131
131
  # Art. 9 states its own commencement: "Η ισχύς της απόφασης αυτής αρχίζει
@@ -150,7 +150,7 @@
150
150
  # the specifications of decision 19800/1982 CONTINUES UNTIL STOCKS ARE
151
151
  # EXHAUSTED.")
152
152
  # So pre-band plates went on being ISSUED, lawfully, for an undated period
153
- # after 1-5-2004. This is the PRD's "old stock issues on" case stated by the
153
+ # after 1-5-2004. This is the spec's "old stock issues on" case stated by the
154
154
  # authority itself, and it is why the two standard series overlap at 2004.
155
155
  #
156
156
  # ============================================================================
@@ -177,7 +177,7 @@
177
177
  #
178
178
  # Transliterating ΔΣ to "DS" would be a CHOICE, not a glyph identity: no Greek
179
179
  # diplomatic plate has ever shown the letters D and S, and a regex spelling
180
- # "DS" would be a fabricated string presented as a format. Per PRD-PLATES §2.6
180
+ # "DS" would be a fabricated string presented as a format. Per the plates spec §2.6
181
181
  # ("a jurisdiction that prints a glyph inside a serial is a schema amendment,
182
182
  # not a data entry"), these series are REPORTED AS A GAP requiring a schema
183
183
  # decision — a `script:` field on the series plus a Greek-capital extension to
@@ -237,7 +237,7 @@ font_spec: # cited once; referenced by every design below
237
237
  Mittelschrift for the digits — and art. 2 para. 2 puts the euroband's "GR"
238
238
  in Engschrift as well. This is unusual and is easy to miss: most
239
239
  jurisdictions name one typeface for the whole serial. A render layer that
240
- sets a Greek plate in a single cut is wrong by the instrument. PRD-PLATES
240
+ sets a Greek plate in a single cut is wrong by the instrument. The plates spec
241
241
  §6 applies to DIN 1451 itself: build to it, never redistribute its
242
242
  drawings; the statute names the standard rather than supplying a
243
243
  Schriftmuster, so the render layer needs a metrically-compatible free face
@@ -251,7 +251,7 @@ security_marking:
251
251
  Art. 2 para. 7 requires the marking to be integrated "έτσι ώστε να μην
252
252
  μπορεί να γίνει απομίμηση, αντικατάσταση, τροποποίηση" — so that imitation,
253
253
  substitution or alteration is impossible without changing the appearance of
254
- the plate. PRD-PLATES §3 emblem rule applies: the render layer emits a
254
+ the plate. The plates spec §3 emblem rule applies: the render layer emits a
255
255
  neutral placeholder in both emblem slots.
256
256
  source: "https://www.dsanet.gr/Epikairothta/Nomothesia/yaoik4700-330_04.htm # art. 2 paras. 7 and 8; art. 3 para. 2(δ) places the embossed seal on the hyphen"
257
257
 
@@ -336,7 +336,7 @@ series:
336
336
  white. That last detail is stated in art. 2 para. 2 and is routinely
337
337
  drawn wrong.
338
338
  emblem: { present: true, rendered: placeholder, note: "two distinct emblems — the printed security-marking εθνόσημο and the embossed state seal; see the file-level security_marking block" }
339
- font: { name: "DIN 1451 Teil 4", note: "see file-level font_spec — Engschrift for letters, Mittelschrift for digits", license: "standards document; build to it, never redistribute (PRD-PLATES §6)" }
339
+ font: { name: "DIN 1451 Teil 4", note: "see file-level font_spec — Engschrift for letters, Mittelschrift for digits", license: "standards document; build to it, never redistribute (the plates spec §6)" }
340
340
  rear_differs: false
341
341
  tolerances: { element_sizes: 0.5, overall: 1.0, other: 1.0, unit: mm, note: "art. 2 paras. 12-14" }
342
342
  region_encoding: "plates/_decode/gr-prefectures.yml"
@@ -365,7 +365,7 @@ series:
365
365
  characters on a WHITE retroreflective ground for private cars,
366
366
  motorcycles and trailers, and on a YELLOW retroreflective ground for
367
367
  public-use cars. Same format, same period, colour-only difference,
368
- therefore a sub-entry and not its own series (PRD-PLATES §2.3).
368
+ therefore a sub-entry and not its own series (the plates spec §2.3).
369
369
  CLASS CAVEAT, and it matters: Δ.Χ. is BROADER THAN `taxi`. It is the
370
370
  whole public-use category — taxis, hire cars, and the licensed
371
371
  haulage and bus fleets whose reserved prefixes (ΤΑ, ΕΚ, ΙΑ, ΝΧ ->
@@ -444,7 +444,7 @@ series:
444
444
  GREEK MOTORCYCLE PLATE — 280 x 210 mm, nearly square, two rows. It is NOT
445
445
  a size variant of the car plate and is not modelled as one, because the
446
446
  DIGIT COUNT differs (three, not four): that is a format difference and
447
- therefore its own series under PRD-PLATES §2.3. Worth stating for a parse
447
+ therefore its own series under the plates spec §2.3. Worth stating for a parse
448
448
  API: a three-letter/three-digit Greek string is a motorcycle, and a
449
449
  three-letter/four-digit one is not — the digit count is the only
450
450
  discriminator in the string, and it is reliable because both are fixed by
@@ -565,14 +565,14 @@ series:
565
565
  self-governing units altogether while the plate codes kept their
566
566
  prefecture names. Decoding a 1980s or 1990s Greek plate through the
567
567
  current table will therefore be right often and wrong silently. Historic
568
- decode rows are L4 work (PRD-PLATES §7) — recorded gap.
568
+ decode rows are L4 work (the plates spec §7) — recorded gap.
569
569
  sources:
570
570
  - "https://www.e-nomothesia.gr/index.php/pinakides-kuklophorias/ya-19800-1982.html # ΥΑ 19800/1982 «Πινακίδες αριθμού κυκλοφορίας αυτοκινήτων οχημάτων και ρυμουλκουμένων», ΦΕΚ Β' 455/1-7-1982 — the instrument's IDENTITY, title and gazette reference. Its TEXT is paywalled and was NOT read; every claim in this entry that depends on the text is marked. Accessed 2026-08-02"
571
571
  - "https://www.dsanet.gr/Epikairothta/Nomothesia/yaoik4700-330_04.htm # ΥΑ οικ. 4700/330/2004 art. 9: repeals paragraphs Α, Β, ΙΑ, ΙΓ, ΙΕ and ΙΣΤ of Chapter Ι of the 1982 decision as regards state plates for cars, trailers and motorcycles, commences 1-5-2004, and expressly continues issuance of 1982-specification plates until stocks are exhausted — i.e. this series' END, dated, from the instrument that ended it"
572
572
  - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Greece # secondary-wikipedia: the first-issue date of the three-letter format, given as 1983-1984, which DIVERGES from the 1982 instrument date recorded here. Revision 1367180219 of 2026-08-01. Recorded, not averaged"
573
573
  notes: >-
574
574
  THE PRE-EUROBAND THREE-LETTER SERIES. PERIOD HONESTY, stated at point of
575
- use, because this is exactly the boundary PRD-PLATES §5.3 warns about.
575
+ use, because this is exactly the boundary the plates spec §5.3 warns about.
576
576
  START: ΥΑ 19800/1982 was published in ΦΕΚ Β' 455 on 1-7-1982 and is the
577
577
  instrument that frames this system, but ITS TEXT WAS NOT OBTAINED, so its
578
578
  own commencement clause is unknown and it may contain a delayed or
@@ -653,7 +653,7 @@ series:
653
653
  does NOT point it at plates/_decode/gr-prefectures.yml, because that table
654
654
  is the CURRENT allocation and there is no evidence the 1972 codes survived
655
655
  into it unchanged. Pointing a 1972 plate at a 2004 table would be the
656
- French-SIV error PRD-PLATES §2.4 records. Recorded gap.
656
+ French-SIV error the plates spec §2.4 records. Recorded gap.
657
657
  sources:
658
658
  - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Greece # secondary-wikipedia: two letters + four digits, prefecture letters introduced 1972, superseded by the three-letter format in the mid-1980s. Revision 1367180219 of 2026-08-01T14:31:31Z"
659
659
  - "https://el.wikipedia.org/wiki/%CE%A0%CE%B9%CE%BD%CE%B1%CE%BA%CE%AF%CE%B4%CE%B5%CF%82_%CE%BA%CF%85%CE%BA%CE%BB%CE%BF%CF%86%CE%BF%CF%81%CE%AF%CE%B1%CF%82_%CE%BF%CF%87%CE%B7%CE%BC%CE%AC%CF%84%CF%89%CE%BD_%CF%84%CE%B7%CF%82_%CE%95%CE%BB%CE%BB%CE%AC%CE%B4%CE%B1%CF%82 # secondary-wikipedia: the same era given as 1972-1984, corroborating the end but note the two articles differ (see notes)"
@@ -670,7 +670,7 @@ series:
670
670
  being issued. PRE-1972 GREECE IS NOT MODELLED: the purely numeric eras
671
671
  (reported as 1911-1954 and 1956-1972) and the short 1954-1956
672
672
  letter-and-number era have no instrument, no reliable format and no
673
- colour source here, and pre-2000 depth is L4 work under PRD-PLATES §7.
673
+ colour source here, and pre-2000 depth is L4 work under the plates spec §7.
674
674
  Recorded as a deliberate gap rather than authored from folklore.
675
675
 
676
676
  # =========================================================================