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
@@ -1,4 +1,4 @@
1
- # plates/au-sa.yml — South Australia (PRD-PLATES gate L3, Australia).
1
+ # plates/au-sa.yml — South Australia (the plates spec gate L3, Australia).
2
2
  #
3
3
  # SOUTH AUSTRALIA IS THE JURISDICTION WHERE THE BEST SOURCE IS TWENTY-TWO
4
4
  # YEARS OLD. The current Department for Infrastructure and Transport pages,
@@ -22,7 +22,7 @@
22
22
  # Internet Archive holds no snapshot of the Motor Vehicles Regulations' view
23
23
  # URL. NO SOUTH AUSTRALIAN INSTRUMENT IS QUOTED IN THIS FILE. The display rules
24
24
  # below come from the department's own public page, which is a primary
25
- # authority publication (PRD-PLATES §4) but is not the instrument.
25
+ # authority publication (the plates spec §4) but is not the instrument.
26
26
  #
27
27
  # LICENCE NOTE, recorded because it is unusually clean: SA.GOV.AU states on
28
28
  # every page, verbatim, "SA.GOV.AU is licensed under a Creative Commons
@@ -94,7 +94,7 @@ series:
94
94
  period: { start: 2008 } # SECONDARY, AND CONTESTED — the locator
95
95
  # says 2008, an independent enthusiast
96
96
  # reference says 2009. Both recorded, not
97
- # averaged (PRD-PLATES §5.3).
97
+ # averaged (the plates spec §5.3).
98
98
  period_evidence: secondary-locator-unverified
99
99
  matching: strict
100
100
  format:
@@ -134,13 +134,13 @@ series:
134
134
  region_encoding: none
135
135
  sources:
136
136
  - "https://web.archive.org/web/20041206044325/http://www.transport.sa.gov.au/registrations/number_plates/alpha.asp # Transport SA 'Alpha-numeric plates (general issue)', captured 6 December 2004 (accessed 2026-08-02): black characters on a reflective white background, the then slogan 'SA - The Festival State', the once-only fee and the transfer/agreement rule. The ONLY South Australian government page found that describes the general issue at all"
137
- - "http://www.plateshack.com/y2k/South_Australia/southaustralia.htm # enthusiast reference (PRD-PLATES §4 corroboration class), accessed 2026-08-02: a photo-dated plate captioned 'Current since 2009, South Australia license plate (June 2013)' and another captioned 'South Australia special graphics plate used up until 2008'. Corroborates a changeover in the 2008-2009 window and DISAGREES with the locator on the year"
138
- - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_South_Australia # LOCATOR ONLY (PRD-PLATES §4), accessed 2026-08-02: the S-prefixed seven-character arrangement and a 2008 changeover. Uncited in the article; used as a finding aid and flagged"
137
+ - "http://www.plateshack.com/y2k/South_Australia/southaustralia.htm # enthusiast reference (the plates spec §4 corroboration class), accessed 2026-08-02: a photo-dated plate captioned 'Current since 2009, South Australia license plate (June 2013)' and another captioned 'South Australia special graphics plate used up until 2008'. Corroborates a changeover in the 2008-2009 window and DISAGREES with the locator on the year"
138
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_South_Australia # LOCATOR ONLY (the plates spec §4), accessed 2026-08-02: the S-prefixed seven-character arrangement and a 2008 changeover. Uncited in the article; used as a finding aid and flagged"
139
139
  notes: >-
140
140
  SOUTH AUSTRALIA'S CURRENT GENERAL ISSUE, WITH ITS START YEAR IN DISPUTE
141
141
  AND THE DISPUTE RECORDED RATHER THAN SPLIT. The locator says the previous
142
142
  series ran to 2008; an independent enthusiast reference captions a
143
- photo-dated plate "Current since 2009". PRD-PLATES §5.3 forbids averaging
143
+ photo-dated plate "Current since 2009". The plates spec §5.3 forbids averaging
144
144
  disagreements, so the value carried is the locator's 2008 and this note
145
145
  states the competing 2009 claim in terms. Either way the changeover sits
146
146
  in a two-year window and neither source is the department. THE FORMAT IS
@@ -213,7 +213,7 @@ series:
213
213
  also exactly the width of the general issue, which is a consistent
214
214
  picture rather than a coincidence. `matching: strict` is earned: the
215
215
  regex is the authority's own stated frame, not a catch-all.
216
- note: "the service also offers numeric, historical, R&S-series, Japanese-style, Euro-style, premium and corporate ranges; those are DESIGN catalogues on the same serial frame and are out of scope at this gate (PRD-PLATES §2.5)"
216
+ note: "the service also offers numeric, historical, R&S-series, Japanese-style, Euro-style, premium and corporate ranges; those are DESIGN catalogues on the same serial frame and are out of scope at this gate (the plates spec §2.5)"
217
217
  design:
218
218
  note: "one design per range; individual personalised designs are L4 scope"
219
219
  programme:
@@ -1,4 +1,4 @@
1
- # plates/au-tas.yml — Tasmania (PRD-PLATES gate L3, Australia).
1
+ # plates/au-tas.yml — Tasmania (the plates spec gate L3, Australia).
2
2
  #
3
3
  # THIS FILE CARRIES THE SENTENCE THAT EXPLAINS THE WHOLE AUSTRALIAN WAVE.
4
4
  # Vehicle and Traffic (Driver Licensing and Vehicle Registration) Regulations
@@ -61,7 +61,7 @@ instrument:
61
61
  allowing everything else except /admin/. This pass made a small number of
62
62
  targeted, user-directed retrievals of the single instrument cited here
63
63
  rather than any crawl, and did not fetch any other Tasmanian statute.
64
- licence: "Tasmanian legislation published by the Tasmanian Parliamentary Counsel's Office. Edicts of government — quoted, never embedded (PRD-PLATES §4)"
64
+ licence: "Tasmanian legislation published by the Tasmanian Parliamentary Counsel's Office. Edicts of government — quoted, never embedded (the plates spec §4)"
65
65
 
66
66
  national_schemes:
67
67
  heavy_vehicle: >-
@@ -142,8 +142,8 @@ series:
142
142
  region_encoding: none
143
143
  sources:
144
144
  - "https://www.legislation.tas.gov.au/view/whole/html/inforce/current/sr-2021-026 # the Regulations, cited here for the NEGATIVE finding that anchors this series' evidence grade: reg 88(1) empowers the Registrar to assign a 'distinguishing registration number' and prescribes nothing about its composition (accessed 2026-08-02)"
145
- - "http://www.plateshack.com/y2k/Tasmania/tasmania.htm # enthusiast reference (PRD-PLATES §4 corroboration class), accessed 2026-08-02: photo-dated Tasmanian plates from 2016 to 2024 whose serials are consistent with the shape encoded here. Corroborates the SHAPE weakly; dates nothing"
146
- - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Tasmania # secondary (CC BY-SA; facts extracted in our expression per the PRD-PLATES §4 Wikipedia rule), accessed 2026-08-02: the per-state article states in terms 'On 24 February 2008, the Government of Tasmania issued a new registration plate design in the format A 00 AA. After the first letter appears the Tasmanian state logo with the slogan Tasmania - Explore the possibilities', and adds the August 2017 F-to-H block skip with G reserved for Tasmanian government vehicles and Z/Y/X reserved for trailers. Uncited in the article; tagged, not asserted"
145
+ - "http://www.plateshack.com/y2k/Tasmania/tasmania.htm # enthusiast reference (the plates spec §4 corroboration class), accessed 2026-08-02: photo-dated Tasmanian plates from 2016 to 2024 whose serials are consistent with the shape encoded here. Corroborates the SHAPE weakly; dates nothing"
146
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Tasmania # secondary (CC BY-SA; facts extracted in our expression per the plates spec §4 Wikipedia rule), accessed 2026-08-02: the per-state article states in terms 'On 24 February 2008, the Government of Tasmania issued a new registration plate design in the format A 00 AA. After the first letter appears the Tasmanian state logo with the slogan Tasmania - Explore the possibilities', and adds the August 2017 F-to-H block skip with G reserved for Tasmanian government vehicles and Z/Y/X reserved for trailers. Uncited in the article; tagged, not asserted"
147
147
  notes: >-
148
148
  TASMANIA'S CURRENT GENERAL ISSUE. RE-DATED 2013 -> 2008 IN THE COMPLETION
149
149
  PASS OF THIS WAVE, and the reason is worth stating because it is a
@@ -171,7 +171,7 @@ series:
171
171
  owner-chosen combinations.
172
172
 
173
173
  # =========================================================================
174
- # ONE SERIES BACK — added in the completion pass, because PRD-PLATES asks for
174
+ # ONE SERIES BACK — added in the completion pass, because the plates spec asks for
175
175
  # current plus one back and the first pass authored none. Wholly secondary,
176
176
  # and tagged so.
177
177
  # =========================================================================
@@ -200,7 +200,7 @@ series:
200
200
  AA-nnnn through to FT-nnnn". So a Tasmanian plate of this shape
201
201
  decodes to a MONTH OF REGISTRATION only if it was issued in the
202
202
  1970-1971 window, and decodes to nothing afterwards. That is exactly
203
- the France-SIV trap PRD-PLATES §2.4 warns about — a positional code
203
+ the France-SIV trap the plates spec §2.4 warns about — a positional code
204
204
  that stopped meaning what it meant — and it is why no
205
205
  `region_encoding` or month table is attached to this series: a decode
206
206
  table that is right for 23 months and wrong for 37 years would make
@@ -222,8 +222,8 @@ series:
222
222
  abandoned on 31 December 1971. Tasmania has never encoded geography in a
223
223
  registration number.
224
224
  sources:
225
- - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Tasmania # secondary (CC BY-SA; facts in our expression per the PRD-PLATES §4 Wikipedia rule), accessed 2026-08-02: the 1970 AA-0000 to ZB-9999 series, the twelve month letters and their assignments, the second-letter reservations for trailers (T) and motorcycles (X), the 31 December 1971 abandonment, the slogan and border history, and the 2008 replacement. NONE of it carries a footnote in the article"
226
- - "http://www.plateshack.com/y2k/Tasmania/tasmania.htm # enthusiast reference (PRD-PLATES §4 corroboration class), cited in the article and recorded here as the only independent capture of Tasmanian plate shapes; corroborates the SHAPE, dates nothing"
225
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Tasmania # secondary (CC BY-SA; facts in our expression per the plates spec §4 Wikipedia rule), accessed 2026-08-02: the 1970 AA-0000 to ZB-9999 series, the twelve month letters and their assignments, the second-letter reservations for trailers (T) and motorcycles (X), the 31 December 1971 abandonment, the slogan and border history, and the 2008 replacement. NONE of it carries a footnote in the article"
226
+ - "http://www.plateshack.com/y2k/Tasmania/tasmania.htm # enthusiast reference (the plates spec §4 corroboration class), cited in the article and recorded here as the only independent capture of Tasmanian plate shapes; corroborates the SHAPE, dates nothing"
227
227
  notes: >-
228
228
  TASMANIA'S PREVIOUS GENERAL ISSUE, 1970-2008, AND A CAUTION ABOUT WHAT IT
229
229
  IS NOT. It is authored to satisfy the current-plus-one-back requirement and
@@ -281,7 +281,7 @@ series:
281
281
  writing a private price list into subordinate legislation.
282
282
  programme:
283
283
  operator: "TasPlates, whose site footer reads 'TM of the Crown in Right of Tasmania' — a State-owned mark operated under contract with the Department, which is exactly the 'organisation that has a contract with the Department' the regulation refers to"
284
- catalogue: "TasPlates describes 'over 100 unique personalised number plates' styles; individual designs are L4 scope (PRD-PLATES §2.5) and none is recorded here"
284
+ catalogue: "TasPlates describes 'over 100 unique personalised number plates' styles; individual designs are L4 scope (the plates spec §2.5) and none is recorded here"
285
285
  region_encoding: none
286
286
  sources:
287
287
  - "https://www.legislation.tas.gov.au/view/whole/html/inforce/current/sr-2021-026 # the regulations headed 'Specific registration numbers' and 'Using personalised number plates' (accessed 2026-08-02): the application on an approved form, the Registrar's duty to issue the personalised plate subject to conditions, the three-limbed fee provision quoted above, the auction limb and the refusal power"
@@ -296,7 +296,7 @@ series:
296
296
  Tasmania has sold personalised plates for decades under predecessor
297
297
  regulations that were not read in this pass (recorded gap).
298
298
  gaps:
299
- - "THE ONE-SERIES-BACK REQUIREMENT IS NOT MET FOR TASMANIA, deliberately. No Tasmanian government source describes any previous general issue, and the only available description of one sits in a locator table whose systematic extraction PRD-PLATES §4 forbids. A fabricated predecessor would be worse than an absent one; this is a recorded gap with a clear acceptance test (a Registrar's page, a Gazette notice, or a dated departmental history)"
299
+ - "THE ONE-SERIES-BACK REQUIREMENT IS NOT MET FOR TASMANIA, deliberately. No Tasmanian government source describes any previous general issue, and the only available description of one sits in a locator table whose systematic extraction the plates spec §4 forbids. A fabricated predecessor would be worse than an absent one; this is a recorded gap with a clear acceptance test (a Registrar's page, a Gazette notice, or a dated departmental history)"
300
300
  - "No Tasmanian plate dimensions, colours or legends are published by the Registrar — every design claim in this file is either cross-State or secondary"
301
301
  - "The refusal grounds for a specific registration number are in the instrument and were not transcribed in full"
302
302
  - "transport.tas.gov.au (Department of State Growth) returns HTTP 403 to non-browser clients; a verifier with a browser should read its number-plate pages first"
@@ -1,4 +1,4 @@
1
- # plates/au-vic.yml — Victoria (PRD-PLATES gate L3, Australia).
1
+ # plates/au-vic.yml — Victoria (the plates spec gate L3, Australia).
2
2
  #
3
3
  # VICTORIA IS THE BEST-EVIDENCED AUSTRALIAN JURISDICTION IN THIS WAVE, and the
4
4
  # reason is one page: VicRoads publishes, on its own General issue number plates
@@ -22,7 +22,7 @@
22
22
  # quotes the empowering words). What Victoria has is not a better LAW, it is a
23
23
  # better AGENCY PAGE. Recorded that way.
24
24
  #
25
- # SEPARATOR NOTE (PRD-PLATES §2.6): a Victorian plate prints a RAISED DOT
25
+ # SEPARATOR NOTE (the plates spec §2.6): a Victorian plate prints a RAISED DOT
26
26
  # between the two groups, and VicRoads itself writes the combination both ways
27
27
  # on the same page — "1AA.1AA" in the prose, "1AA 1AA" in the table. Neither
28
28
  # glyph is serial-significant: the dot is the printed group separator and the
@@ -45,7 +45,7 @@ instrument:
45
45
  Queensland and Tasmanian files carry the equivalent rules verbatim from
46
46
  their own instruments, and Victoria's are understood to be materially the
47
47
  same, which is an EXPECTATION, not a claim, and is not encoded.
48
- licence: "legislation.vic.gov.au publishes Victorian legislation; VicRoads pages are Victorian Crown copyright. Facts extracted, text quoted only where marked verbatim (PRD-PLATES §4)"
48
+ licence: "legislation.vic.gov.au publishes Victorian legislation; VicRoads pages are Victorian Crown copyright. Facts extracted, text quoted only where marked verbatim (the plates spec §4)"
49
49
 
50
50
  national_schemes:
51
51
  heavy_vehicle: >-
@@ -105,7 +105,7 @@ series:
105
105
  VicRoads, verbatim: "blue characters on a white reflective background".
106
106
  The white is recorded as a hex with `hex_basis: observed`; THE BLUE IS
107
107
  NOT — VicRoads names the colour and never specifies it, and inventing a
108
- blue would be exactly the fabricated-fact failure PRD-PLATES §9 warns
108
+ blue would be exactly the fabricated-fact failure the plates spec §9 warns
109
109
  about. A `foreground` hex lands when a Victorian specification does.
110
110
  colour_history: >-
111
111
  VicRoads' own three lines, verbatim: "1960 - 1977: Black background,
@@ -118,7 +118,7 @@ series:
118
118
  legend_rule: "VicRoads, verbatim: 'the current slogan printed on the centre bottom of the plate (not included on slimline)'. The slogan is a VARIABLE of the design — Victoria has changed it by policy several times — and the current text is deliberately not hard-coded here"
119
119
  plate: { w: 372, h: 134, unit: mm }
120
120
  plate_dimension_note: "the Australian passenger size; VicRoads does not publish its own millimetres, so this is the cross-State figure sourced in plates/au-wa.yml (WA DoT: 372 x 134 mm) and plates/au-nt.yml (NT MVR: 372 x 133 mm), flagged as such"
121
- slimline_variant: "VicRoads offers a slimline plate, on which the slogan is omitted — a design variant of this series, not a series of its own (PRD-PLATES §2.3)"
121
+ slimline_variant: "VicRoads offers a slimline plate, on which the slogan is omitted — a design variant of this series, not a series of its own (the plates spec §2.3)"
122
122
  rear_differs: false
123
123
  region_encoding: none
124
124
  sources:
@@ -180,7 +180,7 @@ series:
180
180
 
181
181
  # =========================================================================
182
182
  # MOTORCYCLES — a separate series because the ARRANGEMENT differs, not just
183
- # the size (PRD-PLATES §2.3: own series iff format OR design OR period).
183
+ # the size (the plates spec §2.3: own series iff format OR design OR period).
184
184
  # =========================================================================
185
185
  - id: au-vic-motorcycle
186
186
  class: motorcycle
@@ -1,4 +1,4 @@
1
- # plates/au-wa.yml — Western Australia (PRD-PLATES gate L3, Australia).
1
+ # plates/au-wa.yml — Western Australia (the plates spec gate L3, Australia).
2
2
  #
3
3
  # WESTERN AUSTRALIA HAS THE BEST START DATE IN THE AUSTRALIAN WAVE, and it is
4
4
  # not from a statute — it is from the Transport Minister's own dated media
@@ -56,7 +56,7 @@ instrument:
56
56
  source anyway, since Australian registration regulations carry no serial
57
57
  grammar. The verifier should still read the Regulations for the display
58
58
  rules, which this file therefore does NOT state (recorded gap).
59
- licence: "Government of Western Australia material; facts extracted, quotations marked verbatim (PRD-PLATES §4)"
59
+ licence: "Government of Western Australia material; facts extracted, quotations marked verbatim (the plates spec §4)"
60
60
 
61
61
  national_schemes:
62
62
  heavy_vehicle: >-
@@ -169,7 +169,7 @@ series:
169
169
  # =========================================================================
170
170
  # ONE SERIES BACK — added in the completion pass. The first pass recorded it
171
171
  # as a gap because the Minister names it without describing it; the Wikipedia
172
- # rule (PRD-PLATES §4, owner override 2026-08-02) permits the description to
172
+ # rule (the plates spec §4, owner override 2026-08-02) permits the description to
173
173
  # be taken from the article and tagged, which is strictly better than a gap.
174
174
  # =========================================================================
175
175
  - id: au-wa-standard-1978
@@ -191,7 +191,7 @@ series:
191
191
  used was black on yellow, where the numbers preceding the letters
192
192
  ranged between 6 and 9. This series ended at 9MZ-999 and the trailer
193
193
  series ended at 9RZ-999." The 6-9 restriction is exactly what
194
- `regex_strict` is for (PRD-PLATES §2.7): the lint generates every
194
+ `regex_strict` is for (the plates spec §2.7): the lint generates every
195
195
  digit from `pattern`, so `regex` cannot carry it, and the tier order
196
196
  regex_strict ⊆ regex holds by construction here.
197
197
  corroboration: >-
@@ -224,14 +224,14 @@ series:
224
224
  product page (plateswa.com) was not fetched in this pass (recorded gap).
225
225
  sources:
226
226
  - "https://web.archive.org/web/20160305010058/https://www.mediastatements.wa.gov.au/Pages/Court/1997/07/Unveiling-of-new-generation-of-vehicle-licence-plates.aspx # Hon Eric Charlton MLC, Minister for Transport (WA), 'Unveiling of new generation of vehicle licence plates', 5 July 1997, archived, accessed 2026-08-02: 'Until now we have been getting just four or five years from each licence plate series and with the current nine series plates about to expire, Transport was keen to develop something which will provide long-term consistency' — the government's own corroboration of the 9 block and of the four-to-five-year series cadence this series ended"
227
- - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Western_Australia # secondary (CC BY-SA; facts in our expression per the PRD-PLATES §4 Wikipedia rule), accessed 2026-08-02: the October 1978 start at 6AA-000, the 6-9 leading-digit range, the black-on-yellow colours, the 9MZ-999 and 9RZ-999 endings, and the February 2025 Nostalgia reissue. The 1978 sentence is footnoted in the article to a print periodical ('Registration Notes, Fleetline issue 41, December 1978, page 4') which was NOT obtained"
227
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Western_Australia # secondary (CC BY-SA; facts in our expression per the plates spec §4 Wikipedia rule), accessed 2026-08-02: the October 1978 start at 6AA-000, the 6-9 leading-digit range, the black-on-yellow colours, the 9MZ-999 and 9RZ-999 endings, and the February 2025 Nostalgia reissue. The 1978 sentence is footnoted in the article to a print periodical ('Registration Notes, Fleetline issue 41, December 1978, page 4') which was NOT obtained"
228
228
  notes: >-
229
229
  WESTERN AUSTRALIA'S PREVIOUS GENERAL ISSUE, 1978-1997, AUTHORED IN THE
230
230
  COMPLETION PASS. The first pass of this file deliberately left it out and
231
231
  said so ("the Minister names it only as 'the current nine series plates',
232
232
  which is not a format description, and it is a recorded gap rather than a
233
233
  guessed series"). That was right under a locator-only reading of the
234
- Wikipedia row of PRD-PLATES §4; under the owner's 2026-08-02 override the
234
+ Wikipedia row of the plates spec §4; under the owner's 2026-08-02 override the
235
235
  description may be EXTRACTED provided it is tagged, and a tagged
236
236
  description that the Minister's own sentence independently corroborates is
237
237
  better data than an empty gap. Both boundaries are secondary: 1978 from
@@ -269,7 +269,7 @@ series:
269
269
  Mandurah." So the leading two letters are a DISTRICT CODE and the
270
270
  remainder is an ascending sequence — but the department publishes no
271
271
  code list and no sequence grammar, so the regex is deliberately wider
272
- than what is issued and `matching: recall-only` says so (PRD-PLATES
272
+ than what is issued and `matching: recall-only` says so (the plates spec
273
273
  §2.7). A match means "this could be a WA district plate", never "this
274
274
  is a valid one".
275
275
  design:
@@ -293,7 +293,7 @@ series:
293
293
  WA DISTRICT SERIES — THE ONE GEOGRAPHIC DECODE IN AUSTRALIAN PLATES, AND
294
294
  IT IS DELIBERATELY LEFT AS A MECHANISM. The department states the
295
295
  mechanism plainly and gives a single example; it publishes no code table.
296
- PRD-PLATES §2.4's rule is that open-ended or unpublished decodes get a
296
+ The plates spec §2.4's rule is that open-ended or unpublished decodes get a
297
297
  mechanism note, not an invented table, and that is what this is. The
298
298
  period is an UPPER BOUND for an unusual reason worth stating: the
299
299
  department's own page dates nothing except a 2021 administrative change
data/data/plates/be.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/be.yml — Belgium (PRD-PLATES gate L1, EU/EEA slice).
1
+ # plates/be.yml — Belgium (the plates spec gate L1, EU/EEA slice).
2
2
  #
3
3
  # EVERY format, colour, dimension and class claim in this file is taken from
4
4
  # one of two consolidated Belgian instruments, fetched from the federal
@@ -123,7 +123,7 @@
123
123
  # between them — art. 4 § 1, 2° says the groups together follow the
124
124
  # rectangular combinations "SANS TIRET DE SEPARATION". Those series therefore
125
125
  # spell that position as the separator-only class `[- ]` sanctioned by
126
- # PRD-PLATES § 2.8, exactly as es-consular-cc-1999 does, while `pattern` shows
126
+ # the plates spec § 2.8, exactly as es-consular-cc-1999 does, while `pattern` shows
127
127
  # the canonical printed hyphen.
128
128
  jurisdiction: be
129
129
  authority:
@@ -237,7 +237,7 @@ common:
237
237
  note: >-
238
238
  The embossed CV seal is what makes a plate the OFFICIAL plate: art. 1, 22°
239
239
  of the arrete royal defines a reproduction as a copy "sans sceau en relief".
240
- It is a lettermark, not a coat of arms, so PRD-PLATES § 3's emblem hazard
240
+ It is a lettermark, not a coat of arms, so the plates spec § 3's emblem hazard
241
241
  does not arise for Belgium — there is no state seal, no provincial arms and
242
242
  no artwork on a Belgian plate at all.
243
243
  source: "https://www.ejustice.just.fgov.be/cgi_loi/article.pl?language=fr&lg_txt=f&numac_search=2001014154&caller=SUM&view_numac=2001014154f # art. 3 § 4, art. 11 § 3, art. 18 § 2"
@@ -252,7 +252,7 @@ common:
252
252
  reprise pour des raisons techniques, voir M.B. du 15-05-2020, p. 34158").
253
253
  Belgium is therefore the same case the EU dossier found for the UK, Germany
254
254
  and Spain: the legal object is a statutory drawing, not a licensable font
255
- file, and PRD-PLATES § 6's derive-from-the-drawing rule applies.
255
+ file, and the plates spec § 6's derive-from-the-drawing rule applies.
256
256
  pitch: "art. 24 § 4, 4°: the horizontal distance between the centre of each sign is 50 mm on car reproductions and 39,2 mm on motorcycle reproductions — the only character metric available as TEXT rather than as a drawing"
257
257
  pre_2010_metrics: >-
258
258
  The 2001 text, before the drawings replaced it, gave the metrics in words
@@ -299,7 +299,7 @@ common:
299
299
  source: "https://mobilit.belgium.be/fr/route/immatriculer-et-radier/plaques-et-certificats-dimmatriculation/format-de-plaque # DIV's format page: sizes only, no index series table (accessed 2026-08-02)"
300
300
 
301
301
  # ---------------------------------------------------------------------------
302
- # The index vocabulary — small, closed, primary, so inlined per PRD-PLATES
302
+ # The index vocabulary — small, closed, primary, so inlined per the plates spec
303
303
  # § 2.4's "inline table (small)" rule. This is Belgium's answer to Germany's
304
304
  # Anlage 2: not geography, but VEHICLE CATEGORY.
305
305
  # ---------------------------------------------------------------------------
@@ -593,7 +593,7 @@ series:
593
593
  separator_note: >-
594
594
  Two-line plate: the letter group sits ABOVE the digit group with no printed
595
595
  glyph between them, so the position is spelled as the separator-only class
596
- `[- ]` (PRD-PLATES § 2.8). Only the hyphen after the index is printed.
596
+ `[- ]` (the plates spec § 2.8). Only the hyphen after the index is printed.
597
597
  design:
598
598
  plate: { w: 210, h: 140, unit: mm }
599
599
  background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
@@ -612,7 +612,7 @@ series:
612
612
  HISTORIC MOTORCYCLE, "O" index with an "M" letter group, from 01-01-2021.
613
613
  Kept as its own entry rather than folded into be-historic-o-2021 because both
614
614
  the format (the mandated M) and the design (210 x 140 two-line) differ, which
615
- is the PRD-PLATES § 2.3 test applied literally. Note that art. 12 § 3 keys
615
+ is the plates spec § 2.3 test applied literally. Note that art. 12 § 3 keys
616
616
  eligibility to art. 2 § 2, 1° of the arrete royal of 10 October 1974 on the
617
617
  technical conditions for mopeds and motorcycles — NOT to the thirty-year test
618
618
  that art. 4 § 2 now uses for cars, so the two O series do not share a
@@ -631,7 +631,7 @@ series:
631
631
  charset:
632
632
  index: [M]
633
633
  notes: "art. 12 § 2, verbatim: 'l'inscription consiste en la lettre (index) \"M\" suivie d'un tiret de separation et d'un groupe de trois lettres au-dessus d'un groupe de trois chiffres ou d'un groupe de trois chiffres au-dessus d'un groupe de trois lettres'"
634
- separator_note: "two-line plate; the group boundary carries no printed glyph, hence the separator-only class `[- ]` (PRD-PLATES § 2.8)"
634
+ separator_note: "two-line plate; the group boundary carries no printed glyph, hence the separator-only class `[- ]` (the plates spec § 2.8)"
635
635
  design:
636
636
  plate: { w: 210, h: 140, unit: mm }
637
637
  background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
@@ -677,7 +677,7 @@ series:
677
677
  ... Pour les quadricycles legers ... Les series de lettres commencent
678
678
  par la lettre 'U'." So the SECOND character of the string decodes the
679
679
  exact vehicle kind — a four-way split no other series in this file has.
680
- separator_note: "two-line plate; separator-only class `[- ]` at the stacked group boundary (PRD-PLATES § 2.8)"
680
+ separator_note: "two-line plate; separator-only class `[- ]` at the stacked group boundary (the plates spec § 2.8)"
681
681
  design:
682
682
  plate: { w: 100, h: 120, unit: mm }
683
683
  background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
@@ -1195,7 +1195,7 @@ series:
1195
1195
  categories: [car, van, truck, bus, trailer, motorcycle, moped]
1196
1196
  period: { start: 2014 }
1197
1197
  period_evidence: enabling-instrument
1198
- # RECALL-ONLY (PRD-PLATES § 2.7): the regex below accepts any hyphen-grouped
1198
+ # RECALL-ONLY (the plates spec § 2.7): the regex below accepts any hyphen-grouped
1199
1199
  # alphanumeric string, which is deliberately WIDER than the grammar DIV
1200
1200
  # issues — the eight-character cap, the at-least-one-letter rule and the
1201
1201
  # long list of reserved shapes cannot be expressed without either a
@@ -1658,7 +1658,7 @@ series:
1658
1658
  charset:
1659
1659
  first_letter_of_group: [M, W]
1660
1660
  notes: "art. 12 (2001), verbatim: 'L'inscription est constituee d'un groupe de trois lettres au dessus d'un groupe de trois chiffres. § 2. Le groupe de lettres commence par un \"M\" ou un \"W\".'"
1661
- separator_note: "two-line plate with no index and no printed glyph between the groups; the position is the separator-only class `[- ]` (PRD-PLATES § 2.8)"
1661
+ separator_note: "two-line plate with no index and no printed glyph between the groups; the position is the separator-only class `[- ]` (the plates spec § 2.8)"
1662
1662
  design:
1663
1663
  plate: { w: 140, h: 175, unit: mm }
1664
1664
  background: { color: "#F9B700", finish: retroreflective, hex_basis: observed, spec_note: "art. 12 § 1 (2001), verbatim: 'La marque d'immatriculation ordinaire a un fond JAUNE. L'inscription et le lisere sont noirs.' The statute names the colour without a code, so the hex is observed within a named colour." }
data/data/plates/br.yml CHANGED
@@ -1,4 +1,4 @@
1
- # plates/br.yml — Brazil (PRD-PLATES gate L3, DRAFT for human verification).
1
+ # plates/br.yml — Brazil (the plates spec gate L3, DRAFT for human verification).
2
2
  #
3
3
  # PASS 2 (2026-08-02, second Opus researcher over the same jurisdiction). This
4
4
  # file supersedes a pass-1 draft, preserved beside it as `pass1/br.pass1.yml`
@@ -105,7 +105,7 @@
105
105
  # not by the alphabet: native Mercosul combinations are issued out of FRESH
106
106
  # three-letter blocks that the PNU never used, so no collision with a
107
107
  # converted plate is possible even though both use A–J.
108
- # PRD-PLATES § 5.3 forbids averaging a disagreement, so the native series
108
+ # The plates spec § 5.3 forbids averaging a disagreement, so the native series
109
109
  # carry NO `regex_strict` and the whole question is recorded here, in
110
110
  # `common.fifth_character_rule`, and as verifier target #1 in the dossier.
111
111
  # NET EFFECT FOR A CONSUMER: an A–J fifth character is NOT proof of
@@ -122,7 +122,7 @@
122
122
  # Anexo I Tabela III distinguishes Particular, Comercial (Aluguel e
123
123
  # Aprendizagem), Oficial e Representação, Diplomático/Consular, Especiais
124
124
  # and Coleção by CHARACTER COLOUR ALONE, on an identical white plate with
125
- # an identical LLLNLNN combination. PRD-PLATES § 2.3 is explicit that a
125
+ # an identical LLLNLNN combination. The plates spec § 2.3 is explicit that a
126
126
  # colour-only variant of the same format+period is a SUB-ENTRY, so those
127
127
  # six live in `variants:` with a `class:` flag each — while the PNU-era
128
128
  # official and diplomatic plates, whose tarjeta content differed, are
@@ -178,14 +178,14 @@
178
178
  # pattern's own alphabet. `format.regex_strict` carries the tighter, sourced
179
179
  # form, which here is only ever the fifth-character range of Anexo II item 2.
180
180
  #
181
- # SEPARATOR NOTE (PRD-PLATES § 2.6): the CURRENT plate prints no separator
181
+ # SEPARATOR NOTE (the plates spec § 2.6): the CURRENT plate prints no separator
182
182
  # ("espaçamento equidistante", above) and its pattern has none. The PNU does:
183
183
  # Res. 969/2022 art. 2 § 3 writes the old standard as "AAA-1111", while the
184
184
  # instrument that actually prescribed it (Res. 231/2007 art. 1) describes two
185
185
  # groups — "o primeiro grupo composto por 3 (três) ... e o segundo grupo
186
186
  # composto por 4 (quatro)" — and prescribes no separator GLYPH. The PNU
187
187
  # regexes therefore spell the gap as the sanctioned separator-only class
188
- # `[- ]?` (PRD-PLATES § 2.8, the es-consular-cc-1999 precedent), and
188
+ # `[- ]?` (the plates spec § 2.8, the es-consular-cc-1999 precedent), and
189
189
  # `pattern` shows the canonical printed form `LLL-9999`.
190
190
  jurisdiction: br
191
191
  authority:
@@ -354,7 +354,7 @@ common:
354
354
  pnu_serial: { name: "Mandatory", source: "Res. 231/2007 Anexo item 4 — 'A Tipologia dos caracteres das placas e tarjetas devem seguir o modelo abaixo especificado na fonte: Mandatory'" }
355
355
  licence_posture: >-
356
356
  Both current fonts are NAMED third-party typefaces, which is unusual —
357
- most surveyed jurisdictions prescribe a statutory drawing (PRD-PLATES
357
+ most surveyed jurisdictions prescribe a statutory drawing (the plates spec
358
358
  § 6). Neither instrument grants any licence. The render layer must
359
359
  therefore derive glyphs from the instrument's own figures and the
360
360
  published character-width tables (Res. 231/2007 Anexo item 2 gives a full
@@ -362,7 +362,7 @@ common:
362
362
  third-party FE-Schrift or Gill Sans binary.
363
363
  class_map:
364
364
  note: >-
365
- Where each legal issuance category lives in this file. PRD-PLATES § 2.3
365
+ Where each legal issuance category lives in this file. The plates spec § 2.3
366
366
  sends colour-only variants to `variants:`; Brazil's current system makes
367
367
  six categories colour-only, so a class-keyed consumer must read variants.
368
368
  current:
@@ -449,7 +449,7 @@ series:
449
449
  background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
450
450
  foreground: "#000000"
451
451
  band: { side: top, color: "#0033A0", hex_basis: pantone-converted, h: 30, w: 390, unit: mm, content: "MERCOSUL emblem (left) + BRASIL voided white (centre) + Brazilian flag (right)" }
452
- emblem: { present: true, rendered: placeholder, note: "MERCOSUL emblem per DEC CMC nº 17/02 corporate identity manual; national flag; PRD-PLATES § 3 placeholder rule applies until the emblem licence is affirmatively cleared" }
452
+ emblem: { present: true, rendered: placeholder, note: "MERCOSUL emblem per DEC CMC nº 17/02 corporate identity manual; national flag; the plates spec § 3 placeholder rule applies until the emblem licence is affirmatively cleared" }
453
453
  characters: { height_mm: 65, font: "FE Engschrift", relief: "alto relevo", process: "hot stamp thermal film, non-retroreflective, non-diffractive, overprinted with the words MERCOSUR BRASIL MERCOSUL at 5 mm" }
454
454
  material: { substrate: "non-galvanised aluminium 1 mm ± 0.2", film: "microprismatic or microspherical retroreflective, ISO 7591:1982 tested, ASTM E-810 measured" }
455
455
  rear_differs: false
@@ -462,7 +462,7 @@ series:
462
462
  note: >-
463
463
  "Comercial (Aluguel e Aprendizagem)" — hire vehicles (taxis, ride-hail,
464
464
  rental) AND driving-school vehicles share one red-character category.
465
- Colour-only variant of this series per PRD-PLATES § 2.3: same plate,
465
+ Colour-only variant of this series per the plates spec § 2.3: same plate,
466
466
  same LLLNLNN combination, same period. Under the PNU these were two
467
467
  DIFFERENT designs (red ground / white ground, see br-pnu-standard-1990
468
468
  variants) — the Mercosul plate merged them.
@@ -709,7 +709,7 @@ series:
709
709
  # for "state/municipality shown on plate pre-2018 (mechanism note)", and the
710
710
  # research turned up the fact that the MERCOSUL plate ALSO showed them, for
711
711
  # nine months, and lost them by a dated instrument. That is a design regime
712
- # with an instrument at both ends, so PRD-PLATES § 2.3 makes it a series.
712
+ # with an instrument at both ends, so the plates spec § 2.3 makes it a series.
713
713
  # -------------------------------------------------------------------------
714
714
  - id: br-mercosul-uf-brasao-2018
715
715
  class: standard
@@ -749,7 +749,7 @@ series:
749
749
  heat-applied, at the right edge below the UF flag. Item 1.7.1 assigns
750
750
  it: federal fleets the Brasão de Armas Federal; state fleets the state
751
751
  flag and state arms; municipal fleets the state flag and the MUNICIPAL
752
- arms. PRD-PLATES § 3 placeholder rule applies.
752
+ arms. The plates spec § 3 placeholder rule applies.
753
753
  municipality_legend:
754
754
  font: "Gill Sans"
755
755
  note: >-
@@ -856,7 +856,7 @@ series:
856
856
  Res. 231/2007 art. 1 prescribes two GROUPS and no separator glyph;
857
857
  Res. 969/2022 art. 2 § 3, describing the same plate 15 years later,
858
858
  writes it "AAA-1111". The regex therefore accepts hyphen, space or
859
- nothing at the group boundary (PRD-PLATES § 2.8 separator-only class),
859
+ nothing at the group boundary (the plates spec § 2.8 separator-only class),
860
860
  and `pattern` shows the canonical printed hyphen.
861
861
  separator_printed_form: >-
862
862
  SETTLED PHOTOGRAPHICALLY (wave-1 render pass): issued plates print a
@@ -921,7 +921,7 @@ series:
921
921
  - class: taxi
922
922
  name: aluguel
923
923
  design: { background: { color: "#AF2B1E", hex_basis: ral-converted, spec_note: "VERMELHO = RAL 3000 (Feuerrot), Res. 45/98 Anexo item 11" }, foreground: "#F6F6F6" }
924
- note: "'Aluguel' — hire vehicles (taxis, buses, rental): RED ground, WHITE characters. Colour-only variant of the same format and period per PRD-PLATES § 2.3."
924
+ note: "'Aluguel' — hire vehicles (taxis, buses, rental): RED ground, WHITE characters. Colour-only variant of the same format and period per the plates spec § 2.3."
925
925
  sources:
926
926
  - "https://web.archive.org/web/20140815083608/http://www.denatran.gov.br/download/Consolidadas/cons231.pdf # Anexo 5.1 colour table, row 'Aluguel'"
927
927
  - class: dealer
@@ -1042,7 +1042,7 @@ series:
1042
1042
  OI: "veículos pertencentes a Organismos Internacionais"
1043
1043
  ADM: "funcionários administrativos de carreira estrangeiros de Missões Diplomáticas, Repartições Consulares e Representações de Organismos Internacionais"
1044
1044
  CI: "peritos estrangeiros sem residência permanente, no âmbito de Acordo de Cooperação Internacional"
1045
- note: "closed, small, primary list — inlined per PRD-PLATES § 2.4 rather than given a _decode file"
1045
+ note: "closed, small, primary list — inlined per the plates spec § 2.4 rather than given a _decode file"
1046
1046
  rear_differs: false
1047
1047
  region_encoding:
1048
1048
  mechanism: "no geography; the tarjeta encodes the CORPS instead of the municipality"
@@ -1,4 +1,4 @@
1
- # plates/ca-ab.yml — Alberta (PRD-PLATES gate L3, Canada west).
1
+ # plates/ca-ab.yml — Alberta (the plates spec gate L3, Canada west).
2
2
  #
3
3
  # ── FOUR STRUCTURAL FACTS THAT SHAPE THIS FILE ─────────────────────────────
4
4
  #
@@ -20,7 +20,7 @@
20
20
  # THIS FILE SAYS SO ON ITS FACE. `ABC-1234` is universally reported and was
21
21
  # NOT located on any alberta.ca page, in the Traffic Safety Act, or in
22
22
  # AR 320/2002. It is carried with `period_evidence: secondary-wikipedia` and
23
- # `format.evidence: secondary`, per the PRD-PLATES § 4 Wikipedia row's
23
+ # `format.evidence: secondary`, per the plates spec § 4 Wikipedia row's
24
24
  # tagging condition. Contrast plates/ca-yt.yml, whose grammar for every class
25
25
  # is in the regulation itself, and plates/ca-nt.yml, whose thirteen plate
26
26
  # types are enumerated with their letter prefixes in the regulation. Alberta
@@ -92,7 +92,7 @@ artwork_risk:
92
92
  contracted third-party property — the same posture Montana reaches by a
93
93
  different route (MCA 61-3-475's hold-harmless clause).
94
94
  emblem_rule: >-
95
- PRD-PLATES § 3 placeholder default applies to the wild-rose device, the
95
+ the plates spec § 3 placeholder default applies to the wild-rose device, the
96
96
  provincial wordmark, the Calgary Flames and Edmonton Oilers marks, and the
97
97
  Royal Canadian Legion's "integrated maple leaf and poppy logo", which
98
98
  AR 320/2002 s. 66.1(1) puts on the veterans' plate BY NAME. The Legion logo
@@ -134,7 +134,7 @@ common:
134
134
  separator_note: >-
135
135
  Alberta's serial is universally rendered with a hyphen (`ABC-1234`) and NO
136
136
  Alberta publication states a separator glyph or a group gap. Under
137
- PRD-PLATES § 2.8 the honest encoding of an authority that names no glyph is
137
+ the plates spec § 2.8 the honest encoding of an authority that names no glyph is
138
138
  a separator-only class, so every regex here spells the position `[- ]?`
139
139
  while `pattern` shows the canonical printed hyphen. A § 2.6-forgiving
140
140
  consumer deletes it either way.
@@ -143,9 +143,9 @@ common:
143
143
  `design.plate` is absent from every series here, as in plates/ca-bc.yml and
144
144
  plates/gb.yml.
145
145
  charset_disagreement: >-
146
- RECORDED, NOT AVERAGED (PRD-PLATES § 5.3). Two secondary readings of the
146
+ RECORDED, NOT AVERAGED (the plates spec § 5.3). Two secondary readings of the
147
147
  Alberta regular-series alphabet are in circulation: the world dossier
148
- (aux/research/plates-2026-07/plates-research-us-world.md § 2.1) reports
148
+ (the US-and-world research dossier § 2.1) reports
149
149
  "excludes I, O, Q, U"; the per-province encyclopedia article reports that
150
150
  "A, E, I, O, Q, U are skipped" — i.e. all vowels plus Q. No Alberta source
151
151
  resolves it. NEITHER is asserted: no `regex_strict` narrows the
@@ -181,7 +181,7 @@ series:
181
181
  arrangement every source reports and no Alberta publication states. The
182
182
  reported first issue is June 2010; the encyclopedia row carries no
183
183
  footnote for it, so it is tagged `secondary-wikipedia` under the
184
- PRD-PLATES § 4 Wikipedia condition (tagged + article URL, so that every
184
+ the plates spec § 4 Wikipedia condition (tagged + article URL, so that every
185
185
  such fact is enumerable in one pass if the decision is revisited). The
186
186
  base design itself is reported as introduced in late 1983 and refreshed
187
187
  with an updated provincial logo in July 2019 — BASE AND FORMAT HAVE
@@ -189,7 +189,7 @@ series:
189
189
  and neither reported base date is asserted as a series boundary here.
190
190
  No `regex_strict` is offered: see common.charset_disagreement.
191
191
  sources:
192
- - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Alberta # FINDING AID (PRD-PLATES §4 Wikipedia row): the ABC-1234 arrangement, the reported June 2010 first issue, the reported 1983 base and 2019 logo refresh; accessed 2026-08-02"
192
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Alberta # FINDING AID (the plates spec §4 Wikipedia row): the ABC-1234 arrangement, the reported June 2010 first issue, the reported 1983 base and 2019 logo refresh; accessed 2026-08-02"
193
193
  - "https://kings-printer.alberta.ca/documents/Regs/2002_320.pdf # s. 63(1)-(2): the Registrar issues; the Minister approves number, type and colour"
194
194
 
195
195
  - id: ca-ab-standard-3x3
@@ -216,7 +216,7 @@ series:
216
216
  years before the reported ABC-1234 start, and NO SOURCE EXPLAINS THE GAP.
217
217
  Because the end year is contested by that gap, the schema's known-over-
218
218
  undated shape is used: `ended: true` with `year_end_min: 2003` rather than
219
- a hard `end`, which is exactly the case PRD-PLATES § 2.2 introduced it
219
+ a hard `end`, which is exactly the case the plates spec § 2.2 introduced it
220
220
  for. "Wild Rose Country" is reported as the slogan from 1973, i.e. it
221
221
  spans both series and is not an era signal.
222
222
  sources:
@@ -359,7 +359,7 @@ series:
359
359
  program_count: 3
360
360
  program_count_basis: "alberta.ca names exactly three specialty plates and links a page for each. Alberta publishes no total and no catalogue; three is what the authority lists, not an estimate."
361
361
  notes: >-
362
- THE INDEX ENTRY, per PRD-PLATES § 2.5 (individual specialty DESIGNS are
362
+ THE INDEX ENTRY, per the plates spec § 2.5 (individual specialty DESIGNS are
363
363
  L4 work). `period.start: 2014` is the enabling instrument, not a program
364
364
  date: s. 63.1 was ADDED to AR 320/2002 by AR 160/2014 s. 2 and amended by
365
365
  AR 77/2022. s. 63.1(3): the Registrar, "on the application of, and having
@@ -1,4 +1,4 @@
1
- # plates/ca-bc.yml — British Columbia (PRD-PLATES gate L3, Canada west).
1
+ # plates/ca-bc.yml — British Columbia (the plates spec gate L3, Canada west).
2
2
  #
3
3
  # CANADA IS FEDERATED THE WAY THE UNITED STATES IS, AND THIS FILE IS THE
4
4
  # per-subdivision shape the schema already carries (`us-fl.yml` is its
@@ -66,7 +66,7 @@
66
66
  # ICBC's bulletin writes every pattern SOLID (`@###@@`, example `A123BC`).
67
67
  # A physical BC passenger plate prints a visible gap between character
68
68
  # groups, and secondary sources render the serial hyphenated (`A12-3BC`).
69
- # ICBC states no separator glyph and no gap POSITION. Under PRD-PLATES
69
+ # ICBC states no separator glyph and no gap POSITION. Under the plates spec
70
70
  # § 2.6 the dataset ships the printed form; where the authority itself
71
71
  # prints the form solid and states nothing else, the solid form is what is
72
72
  # shipped, and the gap is recorded as an open question rather than placed
@@ -119,7 +119,7 @@ instrument:
119
119
  licence: "bclaws.gov.bc.ca content is Copyright (c) King's Printer, Victoria, British Columbia, Canada, published under the King's Printer licence; the statute and regulation are edicts of government. The ICBC bulletin is an ICBC publication, served without click-through, and is cited (facts extracted) rather than reproduced."
120
120
 
121
121
  # ---------------------------------------------------------------------------
122
- # artwork_risk — PRD-PLATES § 4 requires this per federated subdivision.
122
+ # artwork_risk — the plates spec § 4 requires this per federated subdivision.
123
123
  # ---------------------------------------------------------------------------
124
124
  artwork_risk:
125
125
  posture: unresearched-crown-copyright-presumed
@@ -133,7 +133,7 @@ artwork_risk:
133
133
  asserting or disclaiming copyright in the PLATE DESIGN specifically, so the
134
134
  posture is recorded as UNRESEARCHED and the § 3 placeholder default governs.
135
135
  emblem_rule: >-
136
- PRD-PLATES § 3 placeholder rule applies to the provincial flag device on
136
+ the plates spec § 3 placeholder rule applies to the provincial flag device on
137
137
  the standard base and to all three BC Parks artworks (Kermode bear, Purcell
138
138
  Mountains, Porteau Cove), which are commissioned photographic/illustrative
139
139
  works, not statutory drawings. Render emblem slots as
@@ -267,7 +267,7 @@ series:
267
267
  ICBC prints the pattern and its example SOLID. The physical plate shows
268
268
  a group gap and secondary renderings hyphenate it (`A12-3BC`), but ICBC
269
269
  states neither a glyph nor a gap POSITION, so none is asserted. A
270
- PRD-PLATES § 2.6 forgiving consumer strips the gap and matches this
270
+ the plates spec § 2.6 forgiving consumer strips the gap and matches this
271
271
  regex unchanged.
272
272
  progression: "not published. ICBC states only that the recut exists to extend the six-character space; no block-allocation order was found."
273
273
  design:
@@ -339,7 +339,7 @@ series:
339
339
  old inventories get exhausted") — which is why the two series overlap.
340
340
  sources:
341
341
  - "https://partners.icbc.com/assets/5GMseymkqs8E4Otb8osoGQ/bulletin-33-new-licence-plate-configurations.pdf # 'Current pattern' column = @@###@; old-inventory exhaustion rule"
342
- - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_British_Columbia # FINDING AID ONLY (PRD-PLATES §4 Wikipedia row): the unfootnoted 2014 start; accessed 2026-08-02"
342
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_British_Columbia # FINDING AID ONLY (the plates spec §4 Wikipedia row): the unfootnoted 2014 start; accessed 2026-08-02"
343
343
 
344
344
  # =========================================================================
345
345
  # COMMERCIAL / FARM / TRAILER / PRORATE / INDUSTRIAL — the other seven rows