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/ca-mb.yml — Manitoba (PRD-PLATES gate L3, Canada west).
1
+ # plates/ca-mb.yml — Manitoba (the plates spec gate L3, Canada west).
2
2
  #
3
3
  # ── THE FIND: A 1997 GOVERNMENT NEWS RELEASE THAT DATES TWO SERIES AT ONCE.
4
4
  #
@@ -132,7 +132,7 @@ artwork_risk:
132
132
  organization's application. The artwork on Manitoba's specialty plates is
133
133
  thus statutorily mandated in SUBJECT and contracted in EXECUTION.
134
134
  emblem_rule: >-
135
- PRD-PLATES § 3 placeholder default applies to every graphic: the reported
135
+ the plates spec § 3 placeholder default applies to every graphic: the reported
136
136
  bison device and maple leaf on the standard base, and all three statutory
137
137
  specialty graphics. Render `{present: true, rendered: placeholder}`.
138
138
  sources:
@@ -194,7 +194,7 @@ series:
194
194
  distribution_window_start: "1997-08-01"
195
195
  distribution_window_end: "1998-07-31"
196
196
  note: >-
197
- PRD-PLATES § 2.2's `period.rollout` case, met by a primary source. The
197
+ the plates spec § 2.2's `period.rollout` case, met by a primary source. The
198
198
  1997 release gives three distinct dates rather than one: plates begin
199
199
  appearing in June 1997, the first renewal notices are mailed
200
200
  17 June 1997, and every registered owner receives plates at their
@@ -236,7 +236,7 @@ series:
236
236
  than minted as a series — the § 2.3 test again.
237
237
  sources:
238
238
  - "https://news.gov.mb.ca/news/index.html?item=22982&posted=1997-06-13 # first issue June 1997, the Aug 1997-July 1998 rollout window, the trees/water/wheat imagery, the reflectorized coating, the two-plate return"
239
- - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Manitoba # FINDING AID (PRD-PLATES §4 Wikipedia row): the ABC 123 arrangement, the I/O/Q exclusion, the reported 2012 refresh, 'Friendly Manitoba'; accessed 2026-08-02"
239
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Manitoba # FINDING AID (the plates spec §4 Wikipedia row): the ABC 123 arrangement, the I/O/Q exclusion, the reported 2012 refresh, 'Friendly Manitoba'; accessed 2026-08-02"
240
240
  - "https://web2.gov.mb.ca/laws/statutes/ccsm/d104.php # s. 60(1): the design, colour and material are the registrar's"
241
241
 
242
242
  - id: ca-mb-standard-1983
@@ -1,4 +1,4 @@
1
- # plates/ca-nb.yml — New Brunswick, Canada (PRD-PLATES gate L2/L3, Canada east wave).
1
+ # plates/ca-nb.yml — New Brunswick, Canada (the plates spec gate L2/L3, Canada east wave).
2
2
  #
3
3
  # NEW BRUNSWICK PUTS THE PLATE'S CONTENT IN THE ACT, WHICH ONTARIO AND
4
4
  # NEWFOUNDLAND AND LABRADOR DO NOT. Motor Vehicle Act s. 29(2), verbatim: "Every
@@ -47,7 +47,7 @@
47
47
  # Regulation 83-42 under the Act was NOT fetched (see `instrument.fetch_note`)
48
48
  # and is the first place a verifier should look.
49
49
  #
50
- # SEPARATOR NOTE (PRD-PLATES §2.6): a New Brunswick plate prints a gap between
50
+ # SEPARATOR NOTE (the plates spec §2.6): a New Brunswick plate prints a gap between
51
51
  # groups, not a glyph. Every `pattern` spells the emitted space and every regex
52
52
  # accepts it as optional.
53
53
  jurisdiction: ca-nb
@@ -85,7 +85,7 @@ instrument:
85
85
  - "https://laws.gnb.ca/en/showfulldoc/cs/M-17 # the official consolidation the archive copy is of; HTTP 403 from this location, see fetch_note"
86
86
  licence: >-
87
87
  The Motor Vehicle Act is an EDICT OF GOVERNMENT and its text is
88
- uncopyrightable (PRD-PLATES §4). Every verbatim quotation in this file is of
88
+ uncopyrightable (the plates spec §4). Every verbatim quotation in this file is of
89
89
  statutory text.
90
90
 
91
91
  artwork_risk:
@@ -94,9 +94,9 @@ artwork_risk:
94
94
  No New Brunswick copyright statement could be read, because no gnb.ca page
95
95
  could be reached. The province's posture on plate ARTWORK is therefore
96
96
  genuinely unknown rather than assumed favourable or adverse, and is recorded
97
- as `unresearched` per PRD-PLATES §7.1's vocabulary.
97
+ as `unresearched` per the plates spec §7.1's vocabulary.
98
98
  emblem_rule: >-
99
- PRD-PLATES §3 placeholder default applies with extra force here, since nothing
99
+ the plates spec §3 placeholder default applies with extra force here, since nothing
100
100
  is known. The provincial wordmark (the red galley device with "New" /
101
101
  "Nouveau" / "Brunswick" / "CANADA") is rendered `placeholder`; it is a
102
102
  government wordmark and is likely to carry trade-mark protection independent
@@ -173,7 +173,7 @@ common:
173
173
  this pass states any of it. The reservations are encoded in the passenger
174
174
  series' `regex_strict` and nowhere else.
175
175
  reserved: { C: commercial, D: dealer, F: farm, H: taxi, L: truck, T: trailer, A: antique }
176
- source: "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_Brunswick # TAGGED SECONDARY (PRD-PLATES §4, owner override 2026-08-02), read 2026-08-02: the per-class serial tables and their first-letter reservations"
176
+ source: "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_Brunswick # TAGGED SECONDARY (the plates spec §4, owner override 2026-08-02), read 2026-08-02: the per-class serial tables and their first-letter reservations"
177
177
  dimensions:
178
178
  note: >-
179
179
  NO NEW BRUNSWICK INSTRUMENT PRESCRIBES A PLATE SIZE. s. 29(3) states a
@@ -193,7 +193,7 @@ classes_not_modelled:
193
193
  firefighter_and_specialty:
194
194
  exists: true
195
195
  mechanism: "The article carries 'Firefighter plates' and a 'Specialty plates' section for New Brunswick; MVA s. 35(2) is again the statutory hook."
196
- why_not_modelled: "PRD-PLATES §2.5 excludes the specialty-design catalogue from v1, and no primary describes any of these. Recorded as a gap."
196
+ why_not_modelled: "The plates spec §2.5 excludes the specialty-design catalogue from v1, and no primary describes any of these. Recorded as a gap."
197
197
  sources:
198
198
  - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_Brunswick # the specialty and firefighter sections, read 2026-08-02"
199
199
  prorated:
@@ -296,7 +296,7 @@ series:
296
296
  notes: >-
297
297
  ONE SERIES BACK, and cut on DESIGN alone: the format is identical to
298
298
  ca-nb-standard-2011 and only the base changed when the slogan and the gold and
299
- sky-blue bands were dropped. PRD-PLATES §2.3 makes that its own series and
299
+ sky-blue bands were dropped. The plates spec §2.3 makes that its own series and
300
300
  also means no parse API can tell the two apart from a string. Both boundaries
301
301
  are the article's, unfootnoted. The display note is an INFERENCE from the
302
302
  dated amendment history and is labelled as one.
@@ -349,7 +349,7 @@ series:
349
349
  notes: >-
350
350
  The literal L is the class reservation. NOTE THE PATTERN ESCAPE: `L` is
351
351
  the human-pattern DSL's own token for "any letter", so a plate that PRINTS
352
- an L writes `\L` (PRD-PLATES §2.2, owner ruling 2026-08-02) — the same
352
+ an L writes `\L` (the plates spec §2.2, owner ruling 2026-08-02) — the same
353
353
  collision Québec's heavy-truck prefix causes in plates/ca-qc.yml, and for
354
354
  the same reason: two provinces independently chose L for "lourd"/"large".
355
355
  Written in single quotes so YAML does not eat the backslash.
@@ -1,4 +1,4 @@
1
- # plates/ca-nl.yml — Newfoundland and Labrador, Canada (PRD-PLATES gate L2/L3,
1
+ # plates/ca-nl.yml — Newfoundland and Labrador, Canada (the plates spec gate L2/L3,
2
2
  # Canada east wave).
3
3
  #
4
4
  # NEWFOUNDLAND AND LABRADOR DOES NOT CALL IT A LICENCE PLATE OR A NUMBER PLATE.
@@ -52,10 +52,10 @@
52
52
  # calendar 2024, and resumed in November 2025 with the province name in black.
53
53
  # Four bases, one format (ABC 123), continuous serial allocation across all of
54
54
  # them. Each interruption is authored as its own series because the DESIGN and
55
- # the PERIOD both differ (PRD-PLATES §2.3), and they overlap the pitcher-plant
55
+ # the PERIOD both differ (the plates spec §2.3), and they overlap the pitcher-plant
56
56
  # series by construction — the parallel-issuance case §2.2 contemplates.
57
57
  #
58
- # SEPARATOR NOTE (PRD-PLATES §2.6): the serial prints as a gap. Every `pattern`
58
+ # SEPARATOR NOTE (the plates spec §2.6): the serial prints as a gap. Every `pattern`
59
59
  # spells the emitted space; every regex accepts it as optional.
60
60
  jurisdiction: ca-nl
61
61
  authority:
@@ -78,7 +78,7 @@ instrument:
78
78
  - "https://www.assembly.nl.ca/legislation/sr/statutes/h03.htm # Highway Traffic Act, RSNL1990 c. H-3, full consolidated text, fetched 2026-08-02 — every statutory quotation in this file"
79
79
  licence: >-
80
80
  The Highway Traffic Act is an EDICT OF GOVERNMENT and its text is
81
- uncopyrightable (PRD-PLATES §4). Every verbatim statutory quotation here is of
81
+ uncopyrightable (the plates spec §4). Every verbatim statutory quotation here is of
82
82
  that text.
83
83
  regulations_not_read: >-
84
84
  HTA s. 34 empowers the registrar to "issue other plates or markers that may be
@@ -98,7 +98,7 @@ artwork_risk:
98
98
  Labrador, all rights reserved." No provincial open licence covering plate
99
99
  ARTWORK was located. The statute TEXT is free as an edict of government.
100
100
  emblem_rule: >-
101
- PRD-PLATES §3 placeholder default applies. The pitcher plant (the provincial
101
+ the plates spec §3 placeholder default applies. The pitcher plant (the provincial
102
102
  floral emblem, and the centrepiece of the provincial wordmark), the whale
103
103
  graphic of the 2022 base, the provincial flag sections and the half maple leaf
104
104
  of the 2024 base are all rendered `placeholder`. The pitcher-plant wordmark is
@@ -173,8 +173,8 @@ common:
173
173
  a finding rather than an omission.
174
174
  class_letters:
175
175
  note: >-
176
- TAGGED SECONDARY (PRD-PLATES §4, owner override 2026-08-02) — the whole table.
177
- Inlined rather than put in `plates/_decode/` because PRD-PLATES §2.4 sends
176
+ TAGGED SECONDARY (the plates spec §4, owner override 2026-08-02) — the whole table.
177
+ Inlined rather than put in `plates/_decode/` because the plates spec §2.4 sends
178
178
  LARGE, CLOSED, PRIMARY-SOURCED lists to a decode file and this is small
179
179
  (nineteen rows) and not primary. It decodes VEHICLE CLASS, never geography:
180
180
  a Newfoundland and Labrador serial encodes no region and no date.
@@ -295,7 +295,7 @@ series:
295
295
  display: "ONE plate, REAR, for a private car (HTA s. 30(2)(a)); the count itself is registrar's discretion under s. 16(2)(b)"
296
296
  spec_history:
297
297
  - { from: 2007, to: 2025, note: "provincial wordmark in blue" }
298
- - { from: 2025, note: "same base with the province name in BLACK, per the article — a wordmark colour change inside one design, recorded here rather than cut as a series (PRD-PLATES §2.3)" }
298
+ - { from: 2025, note: "same base with the province name in BLACK, per the article — a wordmark colour change inside one design, recorded here rather than cut as a series (the plates spec §2.3)" }
299
299
  sources:
300
300
  - "https://www.assembly.nl.ca/legislation/sr/statutes/h03.htm # HTA s. 16(2)(b) (the registrar determines number, distinctiveness and numbering), s. 16(4) (different plates for different classes), s. 28(1) (Crown property), s. 30(1)-(2) (30 cm, one plate rear / two plates front and rear), s. 31 (kept clean)"
301
301
  - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Newfoundland_and_Labrador # TAGGED SECONDARY: the pitcher-plant base from April 2007, the ABC 123 format, the December 2021 / January 2023 and December 2022 / January 2024 interruptions, the November 2025 resumption with a black province name, and the issuance ranges"
@@ -310,7 +310,7 @@ series:
310
310
  modelling decision: the serial run continued straight through both, so what
311
311
  happened in 2022 and 2024 was a parallel base rather than a succession. The
312
312
  two commemorative series therefore OVERLAP this one, legally under
313
- PRD-PLATES §2.2 and with distinct notes. PARSE CAUTION: ABC 123 is also the
313
+ the plates spec §2.2 and with distinct notes. PARSE CAUTION: ABC 123 is also the
314
314
  current shape in Nova Scotia and New Brunswick, so a bare string is not
315
315
  diagnostic; the province is recoverable only from the image, or from the class
316
316
  letter if the consumer has the block table in `common.class_letters`.
@@ -339,7 +339,7 @@ series:
339
339
  notes: >-
340
340
  A COMMEMORATIVE BASE THAT REPLACED THE STANDARD BASE FOR A CALENDAR YEAR, for
341
341
  Newfoundland and Labrador's 2022 Come Home Year. Its own series because both
342
- the design and the period differ (PRD-PLATES §2.3), and it deliberately
342
+ the design and the period differ (the plates spec §2.3), and it deliberately
343
343
  overlaps ca-nl-standard-2007 because the serial run never broke: JRA-JTC is a
344
344
  slice of the ordinary J allocation that happens to have been struck on a
345
345
  different base. Entirely secondary, and the only Canadian series in this wave
@@ -677,7 +677,7 @@ series:
677
677
  RIC-9 governs callsign suffixes and was not read in this pass, so `regex`
678
678
  accepts any two or three serial characters after the prefix, which is
679
679
  certainly wider than what ISED assigns. A match is a shape hit and nothing
680
- more (PRD-PLATES §2.7).
680
+ more (the plates spec §2.7).
681
681
  design:
682
682
  plate: { w: 12, h: 6, unit: in, plate_basis: convention }
683
683
  background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
@@ -1,4 +1,4 @@
1
- # plates/ca-ns.yml — Nova Scotia, Canada (PRD-PLATES gate L2/L3, Canada east wave).
1
+ # plates/ca-ns.yml — Nova Scotia, Canada (the plates spec gate L2/L3, Canada east wave).
2
2
  #
3
3
  # THE SURPRISE OF THE CANADA EAST WAVE: Nova Scotia legislates its plate DESIGNS.
4
4
  # Ontario, New Brunswick, Prince Edward Island and Newfoundland and Labrador all
@@ -69,7 +69,7 @@
69
69
  # are not merely observed. (The regulation omits the apostrophe in "CANADAS";
70
70
  # quoted as found.)
71
71
  #
72
- # SEPARATOR NOTE (PRD-PLATES §2.6): a Nova Scotia plate prints a GAP, not a glyph.
72
+ # SEPARATOR NOTE (the plates spec §2.6): a Nova Scotia plate prints a GAP, not a glyph.
73
73
  # The Personalized regulations confirm it from the authority's own side — a
74
74
  # personalized designation is "composed of a sequence of at least 2 and no more
75
75
  # than 7 numerals and letters ... WITH OR WITHOUT SPACES between the numerals and
@@ -130,9 +130,9 @@ instrument:
130
130
  The Nova Scotia Registry of Regulations serves these consolidations with the
131
131
  notice "This consolidation is unofficial and is for reference only" and a
132
132
  Crown copyright assertion. The TEXT of a statute or regulation is an EDICT OF
133
- GOVERNMENT and uncopyrightable (PRD-PLATES §4); the quotations here are of that
133
+ GOVERNMENT and uncopyrightable (the plates spec §4); the quotations here are of that
134
134
  text. Where a regulation refers to a Schedule "A" DEPICTION of the plate, the
135
- depiction is not reproduced (PRD-PLATES §6: cite, never embed), and in several
135
+ depiction is not reproduced (the plates spec §6: cite, never embed), and in several
136
136
  cases the Registry itself states "Hard copy may be obtained from the Registry
137
137
  of Regulations" — the drawing is not online at all.
138
138
 
@@ -147,7 +147,7 @@ artwork_risk:
147
147
  to each plate regulation are not reproduced and several are not published
148
148
  online at all.
149
149
  emblem_rule: >-
150
- PRD-PLATES §3 placeholder default applies. The Bluenose depiction, the
150
+ the plates spec §3 placeholder default applies. The Bluenose depiction, the
151
151
  provincial crest, the Fire Department symbol and the piping plover are all
152
152
  rendered `placeholder`. The Bluenose is additionally a provincial emblem with
153
153
  protection independent of copyright; unresearched, flagged.
@@ -205,7 +205,7 @@ common:
205
205
  plate" for a motorcycle (N.S. Reg. 224/1990 s. 1(a)-(b)) — inches, and a
206
206
  DIFFERENT motorcycle size from the personalized regulation's. Both are
207
207
  recorded; neither is reconciled, because they are two instruments about two
208
- plate types and averaging them would be invention (PRD-PLATES §5.3).
208
+ plate types and averaging them would be invention (the plates spec §5.3).
209
209
  source: "https://novascotia.ca/just/regulations/regs/mvprsnum.htm # Personalized reg s. 7(1)(a), 7(2)(a)"
210
210
  source_secondary: "https://novascotia.ca/just/regulations/regs/mvrvehid.htm # N.S. Reg. 224/1990 s. 1(a)-(b): the six-by-twelve and five-by-eight inch RESTRICTED plates"
211
211
  charset:
@@ -222,7 +222,7 @@ common:
222
222
  are not used in the ABC-123 serial format, citing a collector site. No
223
223
  instrument says so. Encoded ONLY in `regex_strict`.
224
224
  source: "https://novascotia.ca/just/regulations/regs/mvprsnum.htm # Personalized reg s. 5(c)(ii)"
225
- source_secondary: "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Nova_Scotia # TAGGED SECONDARY (PRD-PLATES §4, owner override 2026-08-02), read 2026-08-02"
225
+ source_secondary: "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Nova_Scotia # TAGGED SECONDARY (the plates spec §4, owner override 2026-08-02), read 2026-08-02"
226
226
 
227
227
  classes_not_modelled:
228
228
  conservation:
@@ -357,7 +357,7 @@ series:
357
357
  display: "one plate, REAR, for a passenger or light commercial vehicle (Number Plates Regulations ss. 1(b), 2(1)); FRONT for a heavy commercial vehicle issued a single plate (s. 2(2))"
358
358
  spec_history:
359
359
  - { from: 1989, to: 2011, note: "embossed blue serial on reflective white with border lines around the plate and around the top corners" }
360
- - { from: 2011, note: "border lines removed and narrower serial dies introduced; the mark, the format and the colours are unchanged, so this is a specification change inside one design (PRD-PLATES §2.3) and not a second series" }
360
+ - { from: 2011, note: "border lines removed and narrower serial dies introduced; the mark, the format and the colours are unchanged, so this is a specification change inside one design (the plates spec §2.3) and not a second series" }
361
361
  region_encoding: none
362
362
  sources:
363
363
  - "https://web.archive.org/web/20251124192915/https://nslegislature.ca/sites/default/files/legc/statutes/motor%20vehicle.pdf # MVA s. 19(1),(2): plates are furnished to the OWNER and display 'the registration number assigned to the owner and such other matter as the Minister may determine'; s. 20(2): the 300 mm mounting rule"
@@ -373,7 +373,7 @@ series:
373
373
  1989 and ABC 123 are the en.wikipedia article's, hence
374
374
  `period_evidence: secondary-wikipedia`. THE FORMAT PREDATES THE BASE and that
375
375
  is why the series is cut at 1989 rather than 1979: the article dates ABC-123
376
- to 1979 and the Bluenose base to 1989, and PRD-PLATES §2.3 makes a design
376
+ to 1979 and the Bluenose base to 1989, and the plates spec §2.3 makes a design
377
377
  change with a distinct period its own series. The predecessor is authored
378
378
  below. NOTE FOR THE PARSE LAYER: three letters and three numerals is the most
379
379
  common plate shape in North America, so a bare ABC 123 string is very weakly
@@ -406,7 +406,7 @@ series:
406
406
  - "https://web.archive.org/web/20251124192915/https://nslegislature.ca/sites/default/files/legc/statutes/motor%20vehicle.pdf # MVA s. 19(3): the Registrar may require the return of plates 'upon the termination of the lawful use thereof' — the mechanism by which a superseded Nova Scotia plate leaves the road"
407
407
  notes: >-
408
408
  ONE SERIES BACK. The FORMAT is identical to the current series and only the
409
- DESIGN differs, which is exactly the PRD-PLATES §2.3 test for a separate
409
+ DESIGN differs, which is exactly the plates spec §2.3 test for a separate
410
410
  series and also the reason a parse API cannot distinguish the two from a
411
411
  string. Both boundaries are the article's, unfootnoted. The 1986 switch from
412
412
  steel to aluminium is recorded here rather than cut as a series: a material
@@ -566,7 +566,7 @@ series:
566
566
  period.start 1991 is `enabling-instrument` and reads off the Order's own
567
567
  words: plates "issued after the lst day of April, 1991" (the consolidation's
568
568
  typography for "1st", quoted as found). `class: specialty` rather than a
569
- bespoke value: the vocabulary has no firefighter member, and PRD-PLATES §2.3
569
+ bespoke value: the vocabulary has no firefighter member, and the plates spec §2.3
570
570
  forbids inventing one ad hoc; the plate is an optional design on an ordinary
571
571
  allocation, which is what `specialty` means.
572
572
 
@@ -592,7 +592,7 @@ series:
592
592
  with the number plate depicted in Schedule A." The FM prefix is primary.
593
593
  "Random numbers" states neither a count nor a range, so `regex` accepts
594
594
  one to six digits and the series is `matching: recall-only`: a hit is a
595
- shape hit, not a validity claim (PRD-PLATES §2.7).
595
+ shape hit, not a validity claim (the plates spec §2.7).
596
596
  dimension_note: "s. 3(a) reads '15.24 cm in width by 30.48 in length' — the unit is missing from the second figure in the consolidation. Quoted as found; read as 30.48 cm by comparison with the identically worded Personalized, Conservation and Honorary Consul regulations."
597
597
  design:
598
598
  plate: { w: 30.48, h: 15.24, unit: cm, w_in: 12, h_in: 6 }
@@ -1,9 +1,9 @@
1
- # plates/ca-nt.yml — Northwest Territories (PRD-PLATES gate L3, Canada
1
+ # plates/ca-nt.yml — Northwest Territories (the plates spec gate L3, Canada
2
2
  # territories). THE NON-RECTANGULAR CASE.
3
3
  #
4
4
  # ── WHY THIS FILE MATTERS BEYOND ITS POPULATION ────────────────────────────
5
5
  #
6
- # PRD-PLATES § 2.2 names the Northwest Territories by name as the reason the
6
+ # the plates spec § 2.2 names the Northwest Territories by name as the reason the
7
7
  # schema carries an optional `design.shape:` — "non-rectangular plates exist
8
8
  # (Canada's NT polar-bear plate)". This is that file, and it is the first in
9
9
  # the dataset to populate the key. Everything a renderer needs to know about
@@ -135,7 +135,7 @@ artwork_risk:
135
135
  Canadian trade-mark registration (TMA558214, filed 2000, registered 2002)
136
136
  whose GOODS are, in terms, "Licence plates". A trade-mark regime is
137
137
  independent of copyright and survives any public-domain finding, which is
138
- exactly the seal/emblem hazard PRD-PLATES § 4 flags as generally
138
+ exactly the seal/emblem hazard the plates spec § 4 flags as generally
139
139
  unresearched — here documented, with a register entry.
140
140
  exercised: >-
141
141
  NOT A PAPER RIGHT. Nunavut ran the bear shape from 1999 to 2012 under an
@@ -145,7 +145,7 @@ artwork_risk:
145
145
  neighbouring government treated this mark as a real obstacle and negotiated
146
146
  around it.
147
147
  emblem_rule: >-
148
- PRD-PLATES § 3 placeholder default applies with unusual force here, because
148
+ the plates spec § 3 placeholder default applies with unusual force here, because
149
149
  in the Northwest Territories the EMBLEM AND THE PLATE OUTLINE ARE THE SAME
150
150
  OBJECT. There is no emblem slot to placeholder out: the trade-marked bear IS
151
151
  the plate silhouette. Consequence for the render layer: NT cannot be
@@ -250,7 +250,7 @@ series:
250
250
  design:
251
251
  shape: polar-bear-silhouette
252
252
  shape_note: >-
253
- THE SCHEMA KEY PRD-PLATES § 2.2 CREATED FOR THIS CASE. The plate outline
253
+ THE SCHEMA KEY the plates spec § 2.2 CREATED FOR THIS CASE. The plate outline
254
254
  is a polar bear in profile, not a rectangle. It is the territory's
255
255
  registered trade-mark (TMA558214) and is therefore recorded as a FACT
256
256
  and never reproduced. A renderer must not assume a rectangular viewBox,
@@ -265,7 +265,7 @@ series:
265
265
  notes: >-
266
266
  PERIOD: 1986 comes only from the per-territory encyclopedia article's
267
267
  format table (six digits from 1986), which carries no footnote for that
268
- row; it is tagged `secondary-wikipedia` per the PRD-PLATES § 4 Wikipedia
268
+ row; it is tagged `secondary-wikipedia` per the plates spec § 4 Wikipedia
269
269
  condition. Nothing in R-054-94 or the Act dates any serial length, and
270
270
  R-054-94 itself post-dates 1986 by eight years — an instrument that
271
271
  DOCUMENTS an older practice, which is precisely the case the
@@ -281,7 +281,7 @@ series:
281
281
  several serial series and is not used to date this one.
282
282
  sources:
283
283
  - "https://www.justice.gov.nt.ca/en/files/legislation/motor-vehicles/motor-vehicles.r12.pdf # reg. 8(2)(i) 'regular, displaying numbers'"
284
- - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_the_Northwest_Territories # FINDING AID (PRD-PLATES §4 Wikipedia row): six digits from 1986, the 1970 bear shape, the 2010 update, the reported serial range; accessed 2026-08-02"
284
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_the_Northwest_Territories # FINDING AID (the plates spec §4 Wikipedia row): six digits from 1986, the 1970 bear shape, the 2010 update, the reported serial range; accessed 2026-08-02"
285
285
  - "https://ised-isde.canada.ca/cipo/trademark-search/1050364 # the shape is a registered trade-mark of the GNWT"
286
286
 
287
287
  - id: ca-nt-regular-1970
@@ -1,4 +1,4 @@
1
- # plates/ca-nu.yml — Nunavut (PRD-PLATES gate L3, Canada territories).
1
+ # plates/ca-nu.yml — Nunavut (the plates spec gate L3, Canada territories).
2
2
  # THE OTHER NON-RECTANGULAR CASE, AND THE ONE THAT WENT AWAY AND CAME BACK.
3
3
  #
4
4
  # ── READ plates/ca-nt.yml FIRST. Nunavut's motor-vehicle law IS the Northwest
@@ -68,7 +68,7 @@
68
68
  # SOURCING GRADE, STATED ONCE: with no reachable Nunavut instrument and no
69
69
  # reachable Nunavut agency page, this file's format and period claims rest on
70
70
  # (a) the per-territory encyclopedia article, used as a finding aid and tagged
71
- # `secondary-wikipedia` per the PRD-PLATES § 4 Wikipedia condition, and (b) one
71
+ # `secondary-wikipedia` per the plates spec § 4 Wikipedia condition, and (b) one
72
72
  # Nunavut news outlet reporting a minister's statement in the Legislative
73
73
  # Assembly, which is a secondary report of a primary event and is graded
74
74
  # `secondary-dated`. The CIPO trade-mark record is the file's only primary
@@ -101,7 +101,7 @@ instrument:
101
101
  served today are post-1999 consolidations carrying amendments (R-034-2013,
102
102
  R-012-2025, R-037-2026 and others) that Nunavut never enacted. Reading
103
103
  today's NWT reg. 8(2) as Nunavut's plate-type list would be exactly the
104
- instrument-date error the PRD's § 4 rule exists to prevent.
104
+ instrument-date error the spec's § 4 rule exists to prevent.
105
105
  source: "https://www.justice.gov.nt.ca/en/files/legislation/motor-vehicles/motor-vehicles.r12.pdf"
106
106
  trademark:
107
107
  citation: "CIPO application 1050364 / registration TMA558214, Government of the Northwest Territories, filed 2000-03-10, registered 2002-02-20, goods 'Licence plates', LIVE"
@@ -124,7 +124,7 @@ artwork_risk:
124
124
  third-party registration, and no theory of Crown copyright or edict-of-
125
125
  government reaches it.
126
126
  emblem_rule: >-
127
- PRD-PLATES § 3 placeholder default applies to every graphic element
127
+ the plates spec § 3 placeholder default applies to every graphic element
128
128
  reported on the 2025 plate — the bear outline (encumbered as above), the
129
129
  inuksuk in the serial gap, and the star. As in the Northwest Territories,
130
130
  there is no separable emblem slot to placeholder out: the trade-marked shape
@@ -133,7 +133,7 @@ artwork_risk:
133
133
  syllabics_note: >-
134
134
  The Inuktitut wordmark ᓄᓇᕗᑦ is a legend, not artwork, and is reproduced here
135
135
  as text with its codepoints because identity IS form for a script (the
136
- PRD-PLATES § 4 Wikipedia-row condition 3 principle, applied outside its
136
+ the plates spec § 4 Wikipedia-row condition 3 principle, applied outside its
137
137
  original context). It is never transliterated in this dataset.
138
138
  sources:
139
139
  - "https://ised-isde.canada.ca/cipo/trademark-search/1050364"
@@ -159,7 +159,7 @@ series:
159
159
  the two three-digit groups. Under _meta/separators.yml that symbol is
160
160
  NOT a separator and must never be stripped as one or read as serial; the
161
161
  position is spelled with the sanctioned separator-only class `[- ]?`
162
- (PRD-PLATES § 2.8), which is what an authority that prints a picture
162
+ (the plates spec § 2.8), which is what an authority that prints a picture
163
163
  rather than punctuation earns. `pattern` shows the canonical printed
164
164
  hyphen because the DSL has no way to show a picture, and that is a
165
165
  display convention, not a claim that a hyphen is printed.
@@ -209,7 +209,7 @@ series:
209
209
  unchanged design. Both are in this wave, both are 2025, and a schema that
210
210
  conflated base with format could model neither.
211
211
  sources:
212
- - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Nunavut # FINDING AID (PRD-PLATES §4 Wikipedia row): 2025 start, bear shape returning, six-digit serial, yellow border, inuksuk, star, syllabic legend, left-facing bear; accessed 2026-08-02"
212
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Nunavut # FINDING AID (the plates spec §4 Wikipedia row): 2025 start, bear shape returning, six-digit serial, yellow border, inuksuk, star, syllabic legend, left-facing bear; accessed 2026-08-02"
213
213
  - "https://nunatsiaq.com/stories/article/polar-bear-licence-plates-coming-back-to-nunavut/ # 2024-11-08: the announcement, the 25th-anniversary rationale, the NWT agreement quote, the explicit absence of a roll-out date"
214
214
  - "https://ised-isde.canada.ca/cipo/trademark-search/1050364 # the shape is the GNWT's registered trade-mark"
215
215
 
@@ -1,4 +1,4 @@
1
- # plates/ca-on.yml — Ontario, Canada (PRD-PLATES gate L2/L3, Canada east wave).
1
+ # plates/ca-on.yml — Ontario, Canada (the plates spec gate L2/L3, Canada east wave).
2
2
  #
3
3
  # FEDERATED JURISDICTION, per-province file, exactly as the US states are cut
4
4
  # (us-fl.yml is the exemplar). Canada has NO federal plate mandate: every
@@ -43,7 +43,7 @@
43
43
  # 2 to 5 characters." Everything else about Ontario serial shape in this file
44
44
  # (ABCD 123, AB 12345, the motorcycle and trailer arrangements, the excluded
45
45
  # letters G/I/O/Q/U) rests on the en.wikipedia Ontario article's tables, is
46
- # tagged `secondary-wikipedia` per PRD-PLATES §4, and is flagged in terms.
46
+ # tagged `secondary-wikipedia` per the plates spec §4, and is flagged in terms.
47
47
  #
48
48
  # 4. FRONT AND REAR ARE PRESCRIBED, AND THE VALIDATION STICKER MOVES BETWEEN
49
49
  # THEM BY VEHICLE CLASS. O. Reg. 628 s. 9(3), verbatim: "The number plates for
@@ -61,10 +61,10 @@
61
61
  # It was announced by the Government of Ontario in April 2019, entered issue
62
62
  # in February 2020, was recalled and then abandoned in May 2020, and the white
63
63
  # "Yours to Discover" base resumed. Overlapping series are legal under
64
- # PRD-PLATES §2.2 when the notes are distinct; here they are distinct because
64
+ # the plates spec §2.2 when the notes are distinct; here they are distinct because
65
65
  # the two really were issued in parallel while blue stock was exhausted.
66
66
  #
67
- # SEPARATOR NOTE (PRD-PLATES §2.6): an Ontario plate prints NO separator glyph
67
+ # SEPARATOR NOTE (the plates spec §2.6): an Ontario plate prints NO separator glyph
68
68
  # between the letter group and the digit group. What sits in the gap is a
69
69
  # SCREENED CROWN GRAPHIC (an emblem, carried in `design.emblem`, never in the
70
70
  # serial — the `never_separator` reasoning in _meta/separators.yml §4 exactly).
@@ -109,11 +109,11 @@ instrument:
109
109
  e-Laws content is published by the King's Printer for Ontario under the
110
110
  Government of Ontario's Open Government Licence. Independently, statutes and
111
111
  regulations are EDICTS OF GOVERNMENT and their text is uncopyrightable
112
- (PRD-PLATES §4) — every verbatim quotation in this file is from that class of
112
+ (the plates spec §4) — every verbatim quotation in this file is from that class of
113
113
  material or from a ServiceOntario public information page.
114
114
 
115
115
  # ---------------------------------------------------------------------------
116
- # artwork_risk — carried here even though PRD-PLATES §7.1 makes it mandatory
116
+ # artwork_risk — carried here even though the plates spec §7.1 makes it mandatory
117
117
  # only for US states, because the Canadian posture differs from every US state
118
118
  # and a renderer must not guess.
119
119
  # ---------------------------------------------------------------------------
@@ -129,14 +129,14 @@ artwork_risk:
129
129
  Act and Reg. 628, which is why this file quotes them freely; it does not free
130
130
  plate ARTWORK, the trillium graphic or the Ontario crown device.
131
131
  emblem_rule: >-
132
- PRD-PLATES §3 placeholder default applies without exception. The crown
132
+ the plates spec §3 placeholder default applies without exception. The crown
133
133
  separator, the stylized white trillium of the 2020 base and the provincial
134
134
  wordmark are all rendered `placeholder` until affirmatively cleared per
135
135
  emblem. The Ontario crown is additionally a royal device with protection
136
136
  independent of copyright; that question is unresearched and flagged.
137
137
  photograph_caution: >-
138
138
  Commons photographs of Ontario plates carry the PHOTOGRAPHER's licence, not a
139
- licence over the design (PRD-PLATES §6). Our renders are generated from this
139
+ licence over the design (the plates spec §6). Our renders are generated from this
140
140
  data, never derived from a photograph, so those obligations never attach.
141
141
 
142
142
  # ---------------------------------------------------------------------------
@@ -219,7 +219,7 @@ common:
219
219
  count on the ServiceOntario page (2-8 / 2-5), which is why
220
220
  `ca-on-personalized` is the only series in this file whose `regex` is
221
221
  authority-sourced end to end.
222
- source: "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Ontario # FINDING AID + tagged secondary (PRD-PLATES §4, owner override 2026-08-02): passenger/commercial/motorcycle/trailer serial formats and the excluded-letter sets; article read 2026-08-02"
222
+ source: "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Ontario # FINDING AID + tagged secondary (the plates spec §4, owner override 2026-08-02): passenger/commercial/motorcycle/trailer serial formats and the excluded-letter sets; article read 2026-08-02"
223
223
  dimensions:
224
224
  note: >-
225
225
  NO ONTARIO PRIMARY PRESCRIBES A PLATE SIZE. The 6 in x 12 in
@@ -231,7 +231,7 @@ common:
231
231
  folklore_caution: >-
232
232
  The "1956 AMA / AAMVA standardization agreement" that supposedly fixed
233
233
  6 x 12 in is UNCITED in its Wikipedia source and is copied verbatim across
234
- the Canada, US and Puerto Rico articles (circular). PRD-PLATES §4 records it
234
+ the Canada, US and Puerto Rico articles (circular). The plates spec §4 records it
235
235
  as commonly repeated, unsourced. It is NOT relied on here.
236
236
 
237
237
  # ---------------------------------------------------------------------------
@@ -279,7 +279,7 @@ classes_not_modelled:
279
279
  A YEAR-OF-MANUFACTURE PLATE HAS NO FORMAT OF ITS OWN — it is a genuine
280
280
  historic Ontario plate of whatever year, re-authorised. Modelling it would
281
281
  mean authoring every Ontario series back to 1911, which is L4 scope
282
- (PRD-PLATES §7). The class is recorded because the STATUTE creates it and
282
+ (the plates spec §7). The class is recorded because the STATUTE creates it and
283
283
  because a parse API must know that a pre-1973 Ontario shape on a modern road
284
284
  is lawful and dates the VEHICLE, not the registration.
285
285
  sources:
@@ -294,7 +294,7 @@ classes_not_modelled:
294
294
  characters (letters and/or numbers) without a graphic - $310 / 2 to 6
295
295
  characters (letters and/or numbers) with a graphic - $336.40".
296
296
  why_not_modelled: >-
297
- PRD-PLATES §2.5 excludes the individual specialty DESIGN catalogue from v1;
297
+ the plates spec §2.5 excludes the individual specialty DESIGN catalogue from v1;
298
298
  L2 indexes programs, L4 does designs. The graphic budget is carried instead
299
299
  as a variant on `ca-on-personalized`, where it belongs, because the SERIAL
300
300
  grammar is what changes.
@@ -360,7 +360,7 @@ series:
360
360
  The French-slogan plate is the SAME series in a different bottom legend,
361
361
  allocated its own serial blocks (F-block exclusively since April 2019 per
362
362
  the article). It is recorded as a variant rather than a series because
363
- format and period are identical — the PRD-PLATES §2.3 test.
363
+ format and period are identical — the plates spec §2.3 test.
364
364
  emblem: { present: true, rendered: placeholder, description: "provincial crown device, screened, between the letter and numeral groups" }
365
365
  band: { side: none }
366
366
  rear_differs: false
@@ -378,7 +378,7 @@ series:
378
378
  - "https://www.ontario.ca/laws/statute/90h08 # HTA s. 7(1)(b)(i): the plate shows 'the number of the permit issued for the vehicle'; s. 7(24) regulation-making power, which reaches display and never composition"
379
379
  - "https://www.ontario.ca/laws/regulation/900628 # R.R.O. 1990, Reg. 628 s. 9(1),(3): front-and-rear display and the rear-plate validation corner"
380
380
  - "https://www.ontario.ca/page/register-vehicle-permit-and-licence-plate # ServiceOntario: 'Vehicle permits and licence plates are issued immediately'; automatic renewal for passenger, light commercial, motorcycle and moped plates"
381
- - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Ontario # TAGGED SECONDARY (PRD-PLATES §4): the ABCD-123 format, its 1997 start, and the G/I/O/Q/U exclusion. Read 2026-08-02. The article's own citation for the exclusion is a collector site, not a government source."
381
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Ontario # TAGGED SECONDARY (the plates spec §4): the ABCD-123 format, its 1997 start, and the G/I/O/Q/U exclusion. Read 2026-08-02. The article's own citation for the exclusion is a collector site, not a government source."
382
382
  notes: >-
383
383
  THE CURRENT ONTARIO PASSENGER PLATE, and the whole of it rests on a
384
384
  SECONDARY for its start year — which is stated here rather than hidden.
@@ -389,7 +389,7 @@ series:
389
389
  Ontario base or format, and the statute and regulation are silent on
390
390
  composition (`common.charset.statutory_alphabet_absent`). So
391
391
  `period_evidence: secondary-wikipedia` and 1997 is a flagged claim, not an
392
- asserted fact (PRD-PLATES §9: primary-source-or-marked). WHAT IS
392
+ asserted fact (the plates spec §9: primary-source-or-marked). WHAT IS
393
393
  INDEPENDENTLY SOLID: that this format is CURRENT ISSUE is confirmed by
394
394
  ServiceOntario's own personalized-plate page, which prices passenger plates
395
395
  at "2 to 8 characters" and therefore presupposes a seven-character standard
@@ -397,7 +397,7 @@ series:
397
397
  are all quoted from the Act and the regulation. THE ID IS DATED because the
398
398
  1997 boundary is at least consistently reported across the article's own
399
399
  issuance ranges; if a primary lands that moves it, the dated id gains a
400
- former-id alias under the PRD-QUALITY I-5/I-6 contract rather than moving.
400
+ former-id alias under the quality spec I-5/I-6 contract rather than moving.
401
401
 
402
402
  # =========================================================================
403
403
  # ONE SERIES BACK — three numerals, three letters (1986-1997).
@@ -430,7 +430,7 @@ series:
430
430
  - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Ontario # TAGGED SECONDARY: 123-ABC issued 1986-1997, ranges 001-AAA to 999-ZZZ; the 1994 switch to screened reflective plates inside the same format"
431
431
  - "https://www.ontario.ca/laws/statute/90h08 # HTA s. 11(3): plates of this vintage remain lawfully transferable between the holder's vehicles of a similar class, which is why the series has no hard end for DISPLAY purposes"
432
432
  notes: >-
433
- THE IMMEDIATELY PRIOR PASSENGER FORMAT, authored because PRD-PLATES scopes
433
+ THE IMMEDIATELY PRIOR PASSENGER FORMAT, authored because the plates spec scopes
434
434
  L2/L3 at the current series plus ONE back, and because Ontario plates are
435
435
  permanent: since 1973 the province has not re-plated annually, so
436
436
  123-ABC plates remain lawfully displayed in quantity. The period END is an
@@ -440,7 +440,7 @@ series:
440
440
  hence `secondary-wikipedia`. The 1994 change from embossed to screened
441
441
  reflective plates happened INSIDE this format and is not cut as a series:
442
442
  format, period and colours were unchanged and only the manufacturing method
443
- moved (PRD-PLATES §2.3).
443
+ moved (the plates spec §2.3).
444
444
 
445
445
  # =========================================================================
446
446
  # THE 2020 BLUE BASE — a real four-month series, announced, issued, recalled.
@@ -472,13 +472,13 @@ series:
472
472
  - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Ontario # TAGGED SECONDARY: issue from 1 February 2020, initial batch recalled after 4 March 2020, design scrapped 6 May 2020, blue stock exhausted through early June; serials CMAA-001 onward; the French 'EN PLEIN ESSOR' variant on F-block serials"
473
473
  notes: >-
474
474
  THE BLUE PLATE. Its own series because BOTH the design and the period differ
475
- from ca-on-standard-1997 while the format does not (PRD-PLATES §2.3), and
475
+ from ca-on-standard-1997 while the format does not (the plates spec §2.3), and
476
476
  because a consumer holding a photograph of a blue Ontario plate needs to be
477
477
  told it is a four-month artefact rather than a current base. OVERLAP IS
478
478
  DELIBERATE AND REAL: white "Yours to Discover" plates never stopped being
479
479
  issued in French-slogan blocks and resumed in full in May 2020 while blue
480
480
  stock ran out, so this series and ca-on-standard-1997 genuinely overlap in
481
- 2020 — the parallel-issuance case PRD-PLATES §2.2 contemplates. EVERY DATE
481
+ 2020 — the parallel-issuance case the plates spec §2.2 contemplates. EVERY DATE
482
482
  HERE IS SECONDARY. The Government of Ontario's own April 2019 announcement
483
483
  and its February 2020 update are cited by the article and were BOTH
484
484
  unreachable on 2026-08-02 (news.ontario.ca returned an empty body to the
@@ -575,7 +575,7 @@ series:
575
575
  notes: >-
576
576
  No letter exclusion is stated for the commercial format by any source
577
577
  located, so NO `regex_strict` is authored — the absence is deliberate and
578
- is not the same as "no exclusions exist". PRD-PLATES §2.7: a missing
578
+ is not the same as "no exclusions exist". The plates spec §2.7: a missing
579
579
  strict twin does not weaken `matching: strict`.
580
580
  progression: "AA-10001 upward per the article's issuance record; a separate D-block (DA-10001 onward) carries the French slogan"
581
581
  design: