vehicles 0.6.1 → 0.8.0

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 (186) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +164 -0
  3. data/CHANGELOG.md +274 -0
  4. data/README.md +55 -10
  5. data/data/PROVENANCE-vehicles.md +12 -0
  6. data/data/plates/PROVENANCE.md +5 -4
  7. data/data/plates/_decode/at-districts.yml +287 -0
  8. data/data/plates/_decode/ch-cantons.yml +110 -0
  9. data/data/plates/_decode/cn-issuing-offices.yml +463 -0
  10. data/data/plates/_decode/cn-provinces.yml +614 -0
  11. data/data/plates/_decode/cz-kraj.yml +159 -0
  12. data/data/plates/_decode/dk-serial-blocks.yml +327 -0
  13. data/data/plates/_decode/fr-departements.yml +191 -0
  14. data/data/plates/_decode/gb-age-identifiers.yml +170 -0
  15. data/data/plates/_decode/gb-memory-tags.yml +202 -0
  16. data/data/plates/_decode/gr-prefectures.yml +1408 -0
  17. data/data/plates/_decode/hr-cities.yml +315 -0
  18. data/data/plates/_decode/ie-counties.yml +227 -0
  19. data/data/plates/_decode/in-state-codes.yml +169 -0
  20. data/data/plates/_decode/is-districts-1938.yml +116 -0
  21. data/data/plates/_decode/it-provinces.yml +348 -0
  22. data/data/plates/_decode/jp-office-marks.yml +960 -0
  23. data/data/plates/_decode/jp-use-marks.yml +205 -0
  24. data/data/plates/_decode/kr-authority-marks.yml +146 -0
  25. data/data/plates/_decode/kr-use-syllables.yml +194 -0
  26. data/data/plates/_decode/lu-series-order.yml +638 -0
  27. data/data/plates/_decode/mx-entity-series.yml +380 -0
  28. data/data/plates/_decode/my-index-marks.yml +271 -0
  29. data/data/plates/_decode/no-counties-1913.yml +148 -0
  30. data/data/plates/_decode/no-districts.yml +901 -0
  31. data/data/plates/_decode/pl-powiats.yml +567 -0
  32. data/data/plates/_decode/pt-trailer-services.yml +96 -0
  33. data/data/plates/_decode/ro-counties.yml +213 -0
  34. data/data/plates/_decode/se-diplomatic.yml +220 -0
  35. data/data/plates/_decode/si-regions.yml +123 -0
  36. data/data/plates/_decode/sk-districts.yml +314 -0
  37. data/data/plates/_decode/th-registration-elements.yml +208 -0
  38. data/data/plates/_decode/ua-regions.yml +393 -0
  39. data/data/plates/_decode/za-licence-marks.yml +215 -0
  40. data/data/plates/_meta/classes.yml +1 -0
  41. data/data/plates/_meta/separators.yml +102 -0
  42. data/data/plates/ad.yml +961 -0
  43. data/data/plates/ar.yml +762 -0
  44. data/data/plates/at.yml +1424 -0
  45. data/data/plates/au-act.yml +472 -0
  46. data/data/plates/au-nsw.yml +282 -0
  47. data/data/plates/au-nt.yml +431 -0
  48. data/data/plates/au-qld.yml +272 -0
  49. data/data/plates/au-sa.yml +248 -0
  50. data/data/plates/au-tas.yml +302 -0
  51. data/data/plates/au-vic.yml +215 -0
  52. data/data/plates/au-wa.yml +309 -0
  53. data/data/plates/be.yml +1840 -0
  54. data/data/plates/br.yml +1152 -0
  55. data/data/plates/ca-ab.yml +430 -0
  56. data/data/plates/ca-bc.yml +697 -0
  57. data/data/plates/ca-mb.yml +499 -0
  58. data/data/plates/ca-nb.yml +537 -0
  59. data/data/plates/ca-nl.yml +743 -0
  60. data/data/plates/ca-ns.yml +808 -0
  61. data/data/plates/ca-nt.yml +610 -0
  62. data/data/plates/ca-nu.yml +280 -0
  63. data/data/plates/ca-on.yml +881 -0
  64. data/data/plates/ca-pe.yml +592 -0
  65. data/data/plates/ca-qc.yml +1036 -0
  66. data/data/plates/ca-sk.yml +256 -0
  67. data/data/plates/ca-yt.yml +656 -0
  68. data/data/plates/ch.yml +1273 -0
  69. data/data/plates/cn.yml +1431 -0
  70. data/data/plates/cy.yml +688 -0
  71. data/data/plates/cz.yml +1179 -0
  72. data/data/plates/de.yml +553 -118
  73. data/data/plates/dk.yml +1647 -0
  74. data/data/plates/ee.yml +1275 -0
  75. data/data/plates/es.yml +228 -32
  76. data/data/plates/fi.yml +1271 -0
  77. data/data/plates/fr.yml +1265 -0
  78. data/data/plates/gb.yml +1188 -0
  79. data/data/plates/gr.yml +721 -0
  80. data/data/plates/hr.yml +860 -0
  81. data/data/plates/hu.yml +959 -0
  82. data/data/plates/ie.yml +775 -0
  83. data/data/plates/in.yml +1172 -0
  84. data/data/plates/is.yml +667 -0
  85. data/data/plates/it.yml +1317 -0
  86. data/data/plates/jp.yml +3650 -0
  87. data/data/plates/kr.yml +1375 -0
  88. data/data/plates/li.yml +1010 -0
  89. data/data/plates/lt.yml +879 -0
  90. data/data/plates/lu.yml +842 -0
  91. data/data/plates/lv.yml +924 -0
  92. data/data/plates/mc.yml +1024 -0
  93. data/data/plates/mt.yml +854 -0
  94. data/data/plates/mx.yml +1372 -0
  95. data/data/plates/my.yml +685 -0
  96. data/data/plates/nl.yml +44 -0
  97. data/data/plates/no.yml +1018 -0
  98. data/data/plates/nz.yml +1699 -0
  99. data/data/plates/pl.yml +1296 -0
  100. data/data/plates/pt.yml +847 -0
  101. data/data/plates/ro.yml +785 -0
  102. data/data/plates/se.yml +1091 -0
  103. data/data/plates/si.yml +1105 -0
  104. data/data/plates/sk.yml +1439 -0
  105. data/data/plates/sm.yml +1119 -0
  106. data/data/plates/th.yml +1150 -0
  107. data/data/plates/ua.yml +1672 -0
  108. data/data/plates/us-ak.yml +763 -0
  109. data/data/plates/us-al.yml +457 -0
  110. data/data/plates/us-ar.yml +427 -0
  111. data/data/plates/us-as.yml +454 -0
  112. data/data/plates/us-az.yml +430 -0
  113. data/data/plates/us-ca.yml +892 -0
  114. data/data/plates/us-co.yml +452 -0
  115. data/data/plates/us-ct.yml +427 -0
  116. data/data/plates/us-dc.yml +614 -0
  117. data/data/plates/us-de.yml +551 -0
  118. data/data/plates/us-fl.yml +319 -96
  119. data/data/plates/us-ga.yml +644 -0
  120. data/data/plates/us-gu.yml +658 -0
  121. data/data/plates/us-hi.yml +585 -0
  122. data/data/plates/us-ia.yml +438 -0
  123. data/data/plates/us-id.yml +531 -0
  124. data/data/plates/us-il.yml +516 -0
  125. data/data/plates/us-in.yml +324 -0
  126. data/data/plates/us-ks.yml +351 -0
  127. data/data/plates/us-ky.yml +770 -0
  128. data/data/plates/us-la.yml +568 -0
  129. data/data/plates/us-ma.yml +379 -0
  130. data/data/plates/us-md.yml +536 -0
  131. data/data/plates/us-me.yml +445 -0
  132. data/data/plates/us-mi.yml +408 -0
  133. data/data/plates/us-mn.yml +411 -0
  134. data/data/plates/us-mo.yml +356 -0
  135. data/data/plates/us-mp.yml +402 -0
  136. data/data/plates/us-ms.yml +432 -0
  137. data/data/plates/us-mt.yml +619 -0
  138. data/data/plates/us-nc.yml +602 -0
  139. data/data/plates/us-nd.yml +419 -0
  140. data/data/plates/us-ne.yml +483 -0
  141. data/data/plates/us-nh.yml +394 -0
  142. data/data/plates/us-nj.yml +547 -0
  143. data/data/plates/us-nm.yml +574 -0
  144. data/data/plates/us-nv.yml +655 -0
  145. data/data/plates/us-ny.yml +592 -0
  146. data/data/plates/us-oh.yml +404 -0
  147. data/data/plates/us-ok.yml +513 -0
  148. data/data/plates/us-or.yml +392 -0
  149. data/data/plates/us-pa.yml +506 -0
  150. data/data/plates/us-pr.yml +507 -0
  151. data/data/plates/us-ri.yml +445 -0
  152. data/data/plates/us-sc.yml +605 -0
  153. data/data/plates/us-sd.yml +428 -0
  154. data/data/plates/us-tn.yml +471 -0
  155. data/data/plates/us-tx.yml +535 -0
  156. data/data/plates/us-ut.yml +384 -0
  157. data/data/plates/us-va.yml +567 -0
  158. data/data/plates/us-vi.yml +489 -0
  159. data/data/plates/us-vt.yml +458 -0
  160. data/data/plates/us-wa.yml +484 -0
  161. data/data/plates/us-wi.yml +509 -0
  162. data/data/plates/us-wv.yml +446 -0
  163. data/data/plates/us-wy.yml +523 -0
  164. data/data/plates/va.yml +604 -0
  165. data/data/plates/za.yml +1141 -0
  166. data/data/vehicles.json +160653 -105090
  167. data/lib/vehicles/configuration.rb +17 -3
  168. data/lib/vehicles/dataset.rb +73 -18
  169. data/lib/vehicles/fuzzy.rb +115 -0
  170. data/lib/vehicles/http.rb +48 -0
  171. data/lib/vehicles/make.rb +36 -6
  172. data/lib/vehicles/mcp_server.rb +5 -5
  173. data/lib/vehicles/model.rb +21 -2
  174. data/lib/vehicles/plates/series.rb +172 -18
  175. data/lib/vehicles/plates/template_fill.rb +188 -0
  176. data/lib/vehicles/plates/templates.rb +162 -0
  177. data/lib/vehicles/plates.rb +12 -0
  178. data/lib/vehicles/providers/hosted_provider.rb +28 -55
  179. data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
  180. data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
  181. data/lib/vehicles/version.rb +1 -1
  182. data/lib/vehicles.rb +32 -16
  183. data/rakelib/data_refresh.rake +109 -0
  184. data/rakelib/plates_refresh.rake +29 -0
  185. data/sig/vehicles.rbs +18 -0
  186. metadata +164 -2
@@ -0,0 +1,513 @@
1
+ # plates/us-ok.yml — Oklahoma (PRD-PLATES gate L2, group: southcentral).
2
+ #
3
+ # WHY OKLAHOMA IS THE BEST-SOURCED STATE IN THIS GROUP, and it is not close:
4
+ #
5
+ # 1. THE CURRENT-SERIES-BEFORE-LAST HAS A STATUTORY START DATE. 47 O.S. § 1113.2(D)
6
+ # directs the Executive Director to "devise a numbering system suitable for a
7
+ # new general issue of license plates COMMENCING JANUARY 1, 2017", and
8
+ # § 1113.2(F) makes that design "a part of all license plates issued on or
9
+ # after January 1, 2017". That is the Florida-apportioned situation — a real
10
+ # dated claim rather than an instrument-in-force upper bound — and it is rare.
11
+ #
12
+ # 2. OKLAHOMA LEGISLATES A REISSUE CADENCE, WHICH ALMOST NO STATE DOES.
13
+ # § 1113.2(H): the Department of Public Safety "may request that the Oklahoma
14
+ # Tax Commission initiate subsequent reissues of the official vehicle license
15
+ # plate. Provided however, such request shall not occur more frequently than
16
+ # five (5) years following the most recent reissue." So Oklahoma has a
17
+ # statutory MINIMUM interval between base redesigns. Compare AAMVA §1.1's
18
+ # recommended 7-to-10-year REPLACEMENT cycle (a different thing), Florida's
19
+ # legislated 10-year replacement, and Texas, which abolished replacement
20
+ # outright in 2016. Four states, four different answers to the same question.
21
+ #
22
+ # 3. THE DESIGN AUTHOR IS NOT THE REGISTRAR. § 1113.2(A): the new plate is
23
+ # "designed by the OKLAHOMA TOURISM AND RECREATION DEPARTMENT with the
24
+ # approval of the Department of Public Safety". A tourism agency draws the
25
+ # plate, a police agency approves it, and a third body issues it. That
26
+ # three-way split is unique in this group and it is why the current plate
27
+ # carries a tourism URL as its bottom legend.
28
+ #
29
+ # 4. THREE GOVERNMENT SERIES ARE SPECIFIED CHARACTER-BY-CHARACTER IN STATUTE.
30
+ # § 1113(B)(5)-(7) spell out the Highway Patrol, Military Department and
31
+ # Department of Corrections plates down to the literal letter prefixes. Those
32
+ # are among the very few US serial formats in this whole dataset that come
33
+ # from a legislature rather than from an agency or a collector.
34
+ #
35
+ # AUTHORITY CAVEAT, and it is load-bearing: every statute quoted below names the
36
+ # OKLAHOMA TAX COMMISSION, because the statute predates the reorganisation.
37
+ # Since HB 3419 (signed 19 May 2022) the motor-vehicle functions sit with
38
+ # SERVICE OKLAHOMA. Both are recorded; the statutory text is quoted unaltered.
39
+ #
40
+ # STATUTE EDITION CAVEAT: the Title 47 text read for this pass is the Oklahoma
41
+ # Senate's published compilation dated 2019. It is the most recent full-title
42
+ # text obtainable by fetch (oscn.net, the official host, timed out on every
43
+ # attempt). Amendments after 2019 are therefore UNCHECKED — a recorded gap that
44
+ # a verifier must close before any § 1113 claim here is promoted past L2.
45
+ jurisdiction: us-ok
46
+ authority:
47
+ name: Service Oklahoma
48
+ url: "https://oklahoma.gov/service/popular-services/license-plates.html"
49
+ authority_note: >-
50
+ Service Oklahoma was "Created by the legislature in May 2022" and provides
51
+ "driver and motor vehicle services on behalf of the state — think driver
52
+ licenses, disability parking placards, car registrations, car titles, specialty
53
+ license plates". Governor Kevin Stitt signed HB 3419 into law on 19 May 2022.
54
+ Title 47 still reads "Oklahoma Tax Commission" throughout; the statutory quotes
55
+ below are unedited, and every functional reference should be read as Service
56
+ Oklahoma today.
57
+ binding: vehicle
58
+ statute_edition: "Oklahoma Statutes Title 47 (Motor Vehicles), Oklahoma Senate published compilation, 2019 — the edition obtainable by fetch. oscn.net (official) timed out on every attempt this pass; post-2019 amendments UNCHECKED (recorded gap)."
59
+
60
+ # ---------------------------------------------------------------------------
61
+ # artwork_risk — required per jurisdiction by PRD-PLATES §4.
62
+ # ---------------------------------------------------------------------------
63
+ artwork_risk:
64
+ posture: no-pd-rule-found-default-copyrighted
65
+ basis: >-
66
+ ADVERSE BY DEFAULT, NOT BY ASSERTION — the weakest of the four postures in
67
+ this group and honestly labelled as such. 17 U.S.C. §105 does not reach the
68
+ states, so a US state plate design is copyrighted unless that state says
69
+ otherwise, and NO Oklahoma instrument saying otherwise was located: no
70
+ {{PD-OKGov}} tag exists in the Commons set the US dossier sampled, Oklahoma
71
+ does not appear in the favourable column of the dossier's per-state table,
72
+ and no Oklahoma open-records provision disclaiming copyright was found. What
73
+ WAS found is a bare footer assertion — "Copyright (c) 2026 Service Oklahoma"
74
+ on the agency's own license-plate page — which is evidence of posture but not
75
+ a rule about plate DESIGNS. Recorded as: default-copyrighted, no affirmative
76
+ assertion over plate artwork located, UNRESEARCHED at statute level.
77
+ design_authorship_note: >-
78
+ An Oklahoma-specific wrinkle worth carrying into any clearance analysis: by
79
+ § 1113.2(A) the current base was "designed by the Oklahoma Tourism and
80
+ Recreation Department". Whatever rights exist therefore sit with a tourism
81
+ agency rather than with the registrar, and the plate's bottom legend is that
82
+ agency's own promotional URL. Any future clearance request goes to OTRD, not
83
+ to Service Oklahoma.
84
+ emblem_rule: >-
85
+ HIGHEST EMBLEM EXPOSURE IN THIS GROUP. § 1113(B)(5)-(7) put the OKLAHOMA
86
+ STATE SEAL on the face of the Highway Patrol and Military Department plates
87
+ by statute, and the Department of Corrections badge on the DOC plate. State
88
+ seals carry protection INDEPENDENT of copyright (seal-misuse statutes), that
89
+ regime is unresearched for Oklahoma, and the seal here is not decoration but
90
+ a statutorily mandated element sitting inside the serial line. Render
91
+ `emblem: {present: true, rendered: placeholder}` without exception on those
92
+ three series.
93
+ sources:
94
+ - "https://oklahoma.gov/service/popular-services/license-plates.html # Service Oklahoma's own license-plate page; footer reads 'Copyright (c) 2026 Service Oklahoma' — the only Oklahoma rights assertion located"
95
+ - "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR ONLY (PRD-PLATES §4): establishes that §105 does not reach the states and that Oklahoma is not among the states with a favourable rule; used to evidence an ABSENCE"
96
+ - "https://oksenate.gov/sites/default/files/2019-12/os47.pdf # 47 O.S. § 1113(B)(5)-(7): the state seal and the DOC badge mandated on the face of the OHP, OMD and DOC plates — the emblem exposure, in statute (an edict, and therefore itself PD)"
97
+
98
+ # ---------------------------------------------------------------------------
99
+ # The US standards chain — recorded once per US file (see us-fl.yml).
100
+ # ---------------------------------------------------------------------------
101
+ us_standards:
102
+ no_federal_mandate: true
103
+ chain: "SAE J686 -> AAMVA License Plate Standard Edition 3 (September 2025) -> voluntary state adoption; AAMVA has no enforcement power."
104
+ aamva_edition_3:
105
+ dimensions_delegated: "AAMVA §3.1 delegates dimensions and bolt holes to SAE J686, whose text is paywalled and UNPINNED; no J686 dimension is quoted anywhere in this dataset."
106
+ retroreflectivity: "AAMVA §3.3: readable in daylight and at night from at least 75 feet; ASTM D4956-19 and ISO 7591:1982 clause 3. Oklahoma legislates its own version of this at 47 O.S. § 1113(B)(3) — see below."
107
+ replacement_cycle: "AAMVA §1.1 recommends a replacement cycle 'not to exceed 7 to 10 years'. Oklahoma instead legislates a MINIMUM REISSUE INTERVAL of five years (§ 1113.2(H)) — a different mechanism answering a different question, and the contrast is the point."
108
+ source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
109
+ state_retroreflectivity_statute: "47 O.S. § 1113(B)(3), verbatim: 'All license plates and decals shall be made with reflectorized material as a background to the letters, numbers and characters displayed thereon. The reflectorized material shall be of such a nature as to provide effective and dependable brightness during the service period for which the license plate or decal is issued.' Note Oklahoma legislates the PROPERTY (brightness for the service period) and not the measurement, exactly as AAMVA does not."
110
+ folklore_caution: "The '1956 AMA standardization agreement' remains COMMONLY REPEATED, UNSOURCED (PRD-PLATES §4). Oklahoma's statute states no plate dimensions at all — § 1113(A)(1) leaves size wholly to the agency: 'The license plate and decal shall be of such size, color, design and numbering as the Tax Commission may direct.'"
111
+
112
+ # ---------------------------------------------------------------------------
113
+ # Display rules. Oklahoma is a ONE-PLATE state with the truck-tractor inversion
114
+ # — the same genuinely unusual rule Florida has, arrived at independently.
115
+ # ---------------------------------------------------------------------------
116
+ display_rules:
117
+ default: "ONE plate, rear. § 1113(A)(1): the agency shall 'issue to the owner of the vehicle a certificate of registration, ONE license plate and a yearly decal'. § 1113(A)(2): 'The license plate shall be securely attached to the rear of the vehicle, except truck-tractor plates which shall be attached to the front of the vehicle.' Service Oklahoma restates it: 'You are required to have at least one (1) License Plate properly installed on your registered vehicle.'"
118
+ truck_tractor_inversion: "TRUCK-TRACTOR PLATES GO ON THE FRONT — the inverse of the state default. Florida § 320.0706 has the identical rule. Two of the four states in this group invert plate placement for truck tractors, which suggests a shared industry practice rather than a coincidence, and any US display model that assumes 'rear-only means rear' will misclassify tractors in both."
119
+ decal: "§ 1113(A)(1): a YEARLY DECAL validates the plate for every registration period after the year of issue, and each plate must carry 'a space for the placement of the yearly decals' (§ 1113(B)(1)). Apportioned plates, state-vehicle plates and exempt plates for governmental entities and fire departments are excluded from the yearly-decal regime (§ 1113(B)(2))."
120
+ off_road_exception: "all-terrain vehicles, utility vehicles and motorcycles used exclusively off roads and highways get a certificate and a decal but NO LICENSE PLATE; the decal goes on the front of the vehicle or on the front fork of the motorcycle (§ 1113(A)(1))."
121
+ covering_offense: "§ 1113(A)(2): operating a vehicle 'upon which the license plate is covered, overlaid or otherwise screened with any material, whether such material be clear, translucent, tinted or opaque, shall be a violation of this paragraph' — and it applies 'regardless of where such vehicle is registered', reaching out-of-state plates."
122
+ permanent_plates: "§ 1113(A)(3): a permanent nonexpiring plate may be issued to an owner of one hundred or more commercial motor vehicles and for vehicles registered under § 1120."
123
+ sources:
124
+ - "https://oksenate.gov/sites/default/files/2019-12/os47.pdf # 47 O.S. § 1113(A)(1) one plate plus yearly decal and the off-road exception; § 1113(A)(2) rear display, the truck-tractor front-only inversion, and the covering offense; § 1113(A)(3) permanent nonexpiring plates; § 1113(B)(1)-(3) decal space, apportioned/exempt exclusions, reflectorized background"
125
+ - "https://oklahoma.gov/service/popular-services/license-plates.html # Service Oklahoma: 'You are required to have at least one (1) License Plate properly installed on your registered vehicle.'"
126
+
127
+ series:
128
+
129
+ # =========================================================================
130
+ # THE CURRENT STANDARD-ISSUE SERIES — the "Iconic Oklahoma" plate, and the
131
+ # most interesting rollout rule in this group: it is NOT reissued.
132
+ # =========================================================================
133
+ - id: us-ok-standard
134
+ class: standard
135
+ categories: [car, van, truck, bus]
136
+ period: { start: 2024 }
137
+ period_evidence: authority-stated
138
+ matching: strict
139
+ format:
140
+ pattern: "LLL-999"
141
+ regex: '\A[A-Z]{3}[- ]?\d{3}\z'
142
+ serial_basis: locator-corroborated
143
+ charset:
144
+ notes: >-
145
+ NO STATUTORY CONSTRAINT. § 1113(A)(1): "The license plate and decal
146
+ shall be of such size, color, design and NUMBERING as the Tax
147
+ Commission may direct", and § 1113.2(D) makes the numbering system the
148
+ Executive Director's to devise. So Oklahoma, like Texas, delegates the
149
+ alphanumeric pattern entirely. The three-letter/three-numeral
150
+ arrangement is continuous with the predecessor base and is corroborated
151
+ by the fact that the current serials continue the SAME sequence rather
152
+ than restarting — see progression.
153
+ excluded_reported: ["C", "N", "O"]
154
+ excluded_basis: locator-unconfirmed
155
+ excluded_note: "the 2009-2016 base is reported to have skipped the C, N and O series; whether the exclusion carries into the current sequence is unstated. Recorded, not asserted, and deliberately NOT promoted to a regex_strict."
156
+ progression: >-
157
+ Continuous with the predecessor, which is the tell that this is a base
158
+ change and not a numbering change: reported as issuing intermittently in
159
+ the PNU-001 to PZG-999 range and exclusively from PZJ-001 onward, reaching
160
+ VXY-261 as of 2025-11-08 (locator). A parse API can therefore NOT infer
161
+ the base from the serial in Oklahoma — the serial spans both bases.
162
+ design:
163
+ plate: { w: 12, h: 6, unit: in }
164
+ plate_dimension_basis: locator-unconfirmed
165
+ plate_dimension_note: "§ 1113(A)(1) leaves size to the agency; no Oklahoma instrument stating dimensions was obtained. 12 x 6 in is the North American convention (AAMVA -> SAE J686, unpinned)."
166
+ material: "reflectorized background per § 1113(B)(3); § 1113.2(G) additionally requires that plates 'be issued with identification numbers and letters in a color that provides a DISTINCT CONTRAST WITH A LIGHT-COLORED BACKGROUND in the plate identification area'"
167
+ background: { finish: retroreflective }
168
+ colour_note: >-
169
+ NO HEX IS ASSERTED, and the reason is a live tension worth recording.
170
+ § 1113.2(G) requires contrast against "a light-colored background in the
171
+ plate identification area", while the current base is reported as a RED
172
+ plate with a white serial. Either the identification area is locally
173
+ light, or practice has moved past the 2016 wording, or the 2019 text read
174
+ here has since been amended. The statute is quoted and the reported
175
+ colours are recorded as observation only; the discrepancy is recorded,
176
+ not resolved (PRD-PLATES §5.3).
177
+ legend_top: "OKLAHOMA"
178
+ legend_bottom: "IMAGINE THAT"
179
+ legend_basis: locator-unconfirmed
180
+ separator_glyph:
181
+ printed: "a white star, reported as the star of the original 46th-state flag"
182
+ basis: locator-unconfirmed
183
+ consumer_rule: >-
184
+ NEVER SERIAL. Same normative case as the Texas silhouette and the
185
+ German coat of arms: a glyph occupying the separator position is a
186
+ DESIGN element, carried here, never a character. This file writes the
187
+ emitted `-` at that position per the plates/de.yml precedent.
188
+ emblem: { present: true, rendered: placeholder }
189
+ graphic: { present: true, rendered: placeholder, description: "Oklahoma landmarks screened in blue along the bottom of a red field (locator description; not reproduced)" }
190
+ rear_differs: false
191
+ rollout_rule:
192
+ optional_replacement: true
193
+ authority_text: >-
194
+ Service Oklahoma, verbatim: "Starting Sept. 1, 2024, Oklahoma's standard
195
+ issue license plate will have a new design. UNLIKE PREVIOUS PLATE
196
+ REDESIGNS, OKLAHOMANS WILL NOT AUTOMATICALLY BE REISSUED THE NEWLY
197
+ DESIGNED PLATE. Anyone who would like the new Iconic Oklahoma Plate can
198
+ pay a $4 plate replacement fee with their annual vehicle registration
199
+ renewal or $9 outside of their annual renewal at a local licensed
200
+ operator."
201
+ consequence: >-
202
+ THIS IS A PARALLEL-ISSUANCE SERIES IN THE PRD-PLATES §2.2 SENSE, stated
203
+ by the authority rather than inferred. The 2017 base was mandatory-replace;
204
+ the 2024 base is opt-in. Both are therefore lawfully current, both are
205
+ being issued, and the periods overlap for real. That is exactly the
206
+ situation the schema's "overlap legal iff distinct notes" rule exists for,
207
+ and Oklahoma is the cleanest sourced example of it in the US so far.
208
+ region_encoding: none
209
+ region_encoding_note: >-
210
+ NONE IN THE SERIAL, AND THE HISTORY IS THE INTERESTING PART. Oklahoma
211
+ COUNTY-CODED its passenger serials by letter prefix from 1981 to 2009 —
212
+ a full three-letter-to-county decode table, county allocations exhausting
213
+ into a second arrangement, the works. County coding was discontinued with
214
+ the 2009 base and moved to the MONTH REVALIDATION DECAL as a two-letter
215
+ county abbreviation; the county-abbreviated decal is reported to have
216
+ stopped being issued in 2024. So Oklahoma's geographic signal migrated
217
+ serial -> sticker -> nothing over fifteen years. The historic decode table
218
+ is L4 scope (PRD-PLATES §7) and is deliberately not built here; it is
219
+ flagged as a high-value `_decode/` candidate because it is one of the few
220
+ genuine US serial-to-geography decodes that ever existed.
221
+ sources:
222
+ - "https://oklahoma.gov/service/popular-services/license-plates.html # Service Oklahoma: 'Starting Sept. 1, 2024, Oklahoma's standard issue license plate will have a new design'; the Iconic Oklahoma Plate name; the NOT-automatically-reissued rule; $4 with renewal / $9 outside renewal"
223
+ - "https://oksenate.gov/sites/default/files/2019-12/os47.pdf # 47 O.S. § 1113(A)(1) size/colour/design/numbering delegated to the agency; § 1113(B)(3) reflectorized background; § 1113.2(G) contrast against a light-coloured background; § 1113.2(H) the five-year minimum reissue interval that permitted this base"
224
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Oklahoma # LOCATOR ONLY (PRD-PLATES §4): the ABC-123 arrangement, the 'IMAGINE THAT' bottom legend, the red field with the star separator, and the PNU-001/PZJ-001-to-VXY-261 range as of 2025-11-08. None asserted as sourced."
225
+ notes: >-
226
+ THE ICONIC OKLAHOMA PLATE. Its defining fact is administrative rather than
227
+ visual: Oklahoma broke with its own precedent and did NOT force a fleet
228
+ reissue, so for the first time two Oklahoma bases are simultaneously
229
+ current by design. A consumer that models US state bases as a strict
230
+ succession will get Oklahoma wrong from September 2024 onward. Note also
231
+ that the serial sequence runs straight through the base boundary, so the
232
+ base cannot be inferred from the number — the opposite of the Netherlands'
233
+ sidecodes, and a useful reminder that era-inference is a per-jurisdiction
234
+ capability, not a general one.
235
+
236
+ # =========================================================================
237
+ # ONE SERIES BACK — the scissor-tailed flycatcher base, with the best-dated
238
+ # start in this group.
239
+ # =========================================================================
240
+ - id: us-ok-standard-scissortail
241
+ class: standard
242
+ categories: [car, van, truck, bus]
243
+ period: { start: 2017, end: 2024 }
244
+ period_evidence: statutory-date
245
+ matching: strict
246
+ format:
247
+ pattern: "LLL-999"
248
+ regex: '\A[A-Z]{3}[- ]?\d{3}\z'
249
+ serial_basis: locator-corroborated
250
+ charset: { notes: "§ 1113.2(D) put the numbering system for this general issue in the Executive Director's hands: 'the Executive Director shall devise a numbering system suitable for a new general issue of license plates commencing January 1, 2017'. No published numbering instrument was obtained (recorded gap)." }
251
+ progression: "reported exclusively AAA-001 to LYZ-999, then intermittently in the 'LZ' block, then MAA-001 to PZH-999 on the revised-legend variant (locator). A reversed 123-ABC arrangement is reported as occurring occasionally and is NOT modelled, because no primary establishes when or why."
252
+ design:
253
+ plate: { w: 12, h: 6, unit: in }
254
+ plate_dimension_basis: locator-unconfirmed
255
+ material: "reflectorized per § 1113(B)(3) and § 1113.2(G)"
256
+ background: { finish: retroreflective }
257
+ colour_note: "reported as a screened black serial on a graphic blue landscape with a white scissor-tailed flycatcher; consistent with § 1113.2(G)'s 'distinct contrast with a light-colored background' in a way the 2024 red base is not. No hex asserted."
258
+ legend_top: "EXPLORE OKLAHOMA"
259
+ legend_bottom: "TRAVELOK.COM"
260
+ legend_note: "the bottom legend is the Oklahoma Tourism and Recreation Department's own promotional URL — the visible consequence of § 1113.2(A) making OTRD the plate's designer."
261
+ separator_glyph: { printed: "silhouette of the State of Oklahoma", basis: locator-unconfirmed }
262
+ emblem: { present: true, rendered: placeholder }
263
+ rear_differs: false
264
+ variants:
265
+ - name: "EXPLORE OKLAHOMA legend"
266
+ period: { start: 2017, end: 2022 }
267
+ note: "original legend pairing: 'EXPLORE OKLAHOMA' top, 'TRAVELOK.COM' bottom"
268
+ format: { pattern: "LLL-999" }
269
+ - name: "OKLAHOMA legend"
270
+ period: { start: 2022, end: 2024 }
271
+ note: "same base, top legend changed to plain 'OKLAHOMA'; recorded as a VARIANT and not a series because format and period are continuous and only the legend text moves (PRD-PLATES §2.3). Both variants are locator-grade."
272
+ format: { pattern: "LLL-999" }
273
+ statutory_origin:
274
+ text: >-
275
+ § 1113.2(D), verbatim: "Subject to the Oklahoma Tax Commission Fund
276
+ receiving credit for the funds referenced in subsection C of this
277
+ section, the Executive Director shall devise a numbering system suitable
278
+ for a new general issue of license plates commencing January 1, 2017.
279
+ Unless otherwise provided by the Oklahoma Vehicle License and
280
+ Registration Act, new license plates will be issued to all registrants
281
+ applying for an original or renewal registration on or after January 1,
282
+ 2017, and will continue until all previously issued license plates have
283
+ been replaced. Upon receipt of the new general issue license plate,
284
+ registrants shall replace any previously issued Oklahoma general issue
285
+ license plate currently displayed on their vehicle."
286
+ funding: "§ 1113.2(B)-(C): a $5 per-vehicle registration fee from 1 July 2016 plus the first $1.8m (FY2017) and $2.0m (FY2018) of registration receipts were appropriated to pay for the reissue. Oklahoma is the only state in this group whose base redesign has a line-item price in statute."
287
+ number_reservation: "§ 1113.2(F): registrants could RESERVE their existing general-issue or personalized plate number across the reissue for $15, payable by 1 November 2016."
288
+ region_encoding: none
289
+ region_encoding_note: "county coding had already been discontinued with the 2009 base; the county appeared on the month revalidation decal during this series' life."
290
+ sources:
291
+ - "https://oksenate.gov/sites/default/files/2019-12/os47.pdf # 47 O.S. § 1113.2(A) design by the Oklahoma Tourism and Recreation Department with DPS approval; § 1113.2(B)-(C) the $5 fee and the FY2017/FY2018 appropriations; § 1113.2(D) the January 1, 2017 commencement and mandatory replacement; § 1113.2(F) the $15 number reservation; § 1113.2(H) the five-year minimum before a further reissue"
292
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Oklahoma # LOCATOR ONLY: the scissor-tailed flycatcher design, the EXPLORE OKLAHOMA / TRAVELOK.COM legends and their 2022 change, the state-shaped separator, and the AAA-001 to PZH-999 ranges"
293
+ notes: >-
294
+ THE SCISSORTAIL BASE — MANDATORY WHERE ITS SUCCESSOR IS OPTIONAL. This is
295
+ the series that carries Oklahoma's statutory-date evidence, and it also
296
+ carries the reissue MACHINERY: a dedicated fee, two named appropriations, a
297
+ paid number-reservation window and an express instruction that registrants
298
+ "shall replace any previously issued Oklahoma general issue license plate".
299
+ Everything the 2024 base did NOT do. The series is given `end: 2024` because
300
+ the 2024 base displaced it as the plate issued to new registrants, but note
301
+ that scissortail plates remain lawfully displayed and transferable, and are
302
+ reported still to be issued where a buyer transfers an existing plate — see
303
+ the overlap with us-ok-standard, which is deliberate and sourced.
304
+
305
+ # =========================================================================
306
+ # GOVERNMENT SERIES SPECIFIED IN STATUTE. Three of them, character by
307
+ # character. These are the best-sourced serial formats in this whole group.
308
+ # =========================================================================
309
+ - id: us-ok-highway-patrol
310
+ class: police
311
+ categories: [car, van, truck]
312
+ period: { start: 2008 }
313
+ period_evidence: instrument-in-force-upper-bound
314
+ matching: strict
315
+ format:
316
+ pattern: "OHP-999"
317
+ regex: '\AOHP[- ]?\d{1,4}\z'
318
+ serial_basis: statute-stated
319
+ charset:
320
+ notes: >-
321
+ § 1113(B)(5), verbatim: "the Tax Commission shall design appropriate
322
+ official license plates for vehicles of the Oklahoma Highway Patrol.
323
+ The license plates shall have the legend 'Oklahoma OK' and shall
324
+ contain the letters 'OHP' followed by the state seal and the badge
325
+ number of the Highway Patrol officer to whom the vehicle is assigned.
326
+ The words 'Oklahoma Highway Patrol' shall also be included on such
327
+ license plates." The literal prefix OHP is statutory; the numeric part
328
+ is a BADGE NUMBER, so it has no fixed width and none is claimed — the
329
+ quantifier makes no width assertion beyond a practical upper bound.
330
+ progression: "not sequential in the ordinary sense — the number is the assigned officer's badge number, so the serial is keyed to a PERSON rather than to an issuance counter. That is an unusual binding and it is stated in the statute."
331
+ design:
332
+ plate: { w: 12, h: 6, unit: in }
333
+ background: { finish: retroreflective }
334
+ legend_top: "Oklahoma OK"
335
+ legend_other: "Oklahoma Highway Patrol"
336
+ emblem:
337
+ present: true
338
+ rendered: placeholder
339
+ content: "the OKLAHOMA STATE SEAL, mandated by statute, printed between the letters 'OHP' and the badge number"
340
+ consumer_rule: >-
341
+ THE SEAL IS NOT A CHARACTER AND NOT A SEPARATOR TO BE READ. This is
342
+ the exact case `_meta/separators.yml` reserves for German and Austrian
343
+ coats of arms, and it is here mandated by a legislature rather than by
344
+ a design office. The emitted `-` in the pattern marks the position; the
345
+ seal itself lives in `design.emblem` and is rendered as a placeholder,
346
+ both because seal-misuse statutes are a regime independent of copyright
347
+ and because Oklahoma's own posture is unresearched.
348
+ binding: officer
349
+ binding_note: "`binding: officer` is used rather than `vehicle` or `owner`: the statute ties the serial to 'the Highway Patrol officer to whom the vehicle is assigned', so the identifier follows a person even though the plate is on a fleet vehicle. Flagged as a possible vocabulary addition alongside vehicle/owner/business."
350
+ region_encoding: none
351
+ sources:
352
+ - "https://oksenate.gov/sites/default/files/2019-12/os47.pdf # 47 O.S. § 1113(B)(5): the 'Oklahoma OK' legend, the literal 'OHP' letters, the state seal, the officer's badge number as the serial, and the 'Oklahoma Highway Patrol' wording"
353
+ notes: >-
354
+ OKLAHOMA HIGHWAY PATROL. One of only a handful of US serial formats in this
355
+ dataset that a LEGISLATURE wrote out character by character. Two facts a
356
+ parse API should carry: the numeric component is a badge number and
357
+ therefore not an issuance counter, and the glyph between the letters and
358
+ the digits is the state seal. PERIOD: `start: 2008` is the year § 1113.2
359
+ was added (Laws 2008, c. 335) and is an UPPER BOUND on this series' true
360
+ start, which certainly predates it; the § 1113(B)(5) specification itself
361
+ carries no date in the text read. Recorded as an upper bound rather than
362
+ invented.
363
+
364
+ - id: us-ok-military-department
365
+ class: military
366
+ categories: [car, van, truck, bus]
367
+ period: { start: 2008 }
368
+ period_evidence: instrument-in-force-upper-bound
369
+ matching: strict
370
+ format:
371
+ pattern: "OMD-999"
372
+ regex: '\AOMD[- ]?[A-Z0-9]{3}\z'
373
+ serial_basis: statute-stated
374
+ charset:
375
+ notes: >-
376
+ § 1113(B)(6), verbatim: the plates "shall have the legend 'Oklahoma OK'
377
+ and shall contain the letters 'OMD' followed by the state seal and
378
+ THREE NUMBERS OR LETTERS as designated by the Adjutant General. The
379
+ words 'Oklahoma Military Department' shall also be included on such
380
+ license plates." Three characters, alphanumeric, WIDTH FIXED BY STATUTE
381
+ — which is rarer in this dataset than a fixed prefix.
382
+ assigner: "the Adjutant General designates the three characters, so allocation is a military rather than a motor-vehicle function."
383
+ design:
384
+ plate: { w: 12, h: 6, unit: in }
385
+ background: { finish: retroreflective }
386
+ legend_top: "Oklahoma OK"
387
+ legend_other: "Oklahoma Military Department"
388
+ emblem: { present: true, rendered: placeholder, content: "the OKLAHOMA STATE SEAL, statutory, printed between 'OMD' and the three designated characters — never a character, never a separator" }
389
+ region_encoding: none
390
+ sources:
391
+ - "https://oksenate.gov/sites/default/files/2019-12/os47.pdf # 47 O.S. § 1113(B)(6): the 'Oklahoma OK' legend, the literal 'OMD' letters, the state seal, three numbers or letters designated by the Adjutant General, and the 'Oklahoma Military Department' wording"
392
+ notes: >-
393
+ OKLAHOMA MILITARY DEPARTMENT. Modelled separately from the Highway Patrol
394
+ plate because the class differs (military vs police in
395
+ `_meta/classes.yml`), the assigner differs (Adjutant General vs badge
396
+ number) and the serial WIDTH differs (fixed three vs open badge number) —
397
+ three independent reasons under PRD-PLATES §2.3, in adjacent statutory
398
+ paragraphs.
399
+
400
+ - id: us-ok-corrections
401
+ class: government
402
+ categories: [car, van, truck, bus]
403
+ period: { start: 2008 }
404
+ period_evidence: instrument-in-force-upper-bound
405
+ matching: strict
406
+ format:
407
+ pattern: "DOC-999"
408
+ regex: '\ADOC[- ]?[A-Z0-9]{3}\z'
409
+ serial_basis: statute-stated
410
+ charset:
411
+ notes: >-
412
+ § 1113(B)(7), verbatim: the plates "shall contain the letters 'DOC'
413
+ followed by the Department of Corrections badge and three numbers or
414
+ letters or combination of both as designated by the Director of the
415
+ agency. The words 'Department of Corrections' shall also be included on
416
+ such license plates." Note the difference from OHP and OMD: the glyph
417
+ here is the DOC BADGE, not the state seal, and the statute conspicuously
418
+ does NOT prescribe the 'Oklahoma OK' legend for this plate.
419
+ design:
420
+ plate: { w: 12, h: 6, unit: in }
421
+ background: { finish: retroreflective }
422
+ legend_other: "Department of Corrections"
423
+ legend_note: "unlike § 1113(B)(5) and (B)(6), subsection (B)(7) prescribes no 'Oklahoma OK' legend — a real difference between three otherwise parallel paragraphs, recorded rather than smoothed over."
424
+ emblem: { present: true, rendered: placeholder, content: "the Oklahoma Department of Corrections BADGE (not the state seal), statutory, between 'DOC' and the designated characters" }
425
+ region_encoding: none
426
+ sources:
427
+ - "https://oksenate.gov/sites/default/files/2019-12/os47.pdf # 47 O.S. § 1113(B)(7): the literal 'DOC' letters, the Department of Corrections badge, three numbers or letters or a combination designated by the Director, and the 'Department of Corrections' wording"
428
+ notes: >-
429
+ OKLAHOMA DEPARTMENT OF CORRECTIONS. Included because it completes the set of
430
+ three statutorily specified government formats and because the differences
431
+ between the three paragraphs are themselves data: state seal vs agency
432
+ badge, 'Oklahoma OK' legend vs none, badge-number serial vs designated
433
+ characters. A dataset that collapsed these into one 'government' series
434
+ would destroy all of that.
435
+
436
+ # =========================================================================
437
+ # SPECIALTY — THE PROGRAM INDEX ONLY, per PRD-PLATES §2.5.
438
+ # =========================================================================
439
+ - id: us-ok-specialty-index
440
+ class: specialty
441
+ categories: [car, van, truck, motorcycle]
442
+ period: { start: 2024 }
443
+ period_evidence: instrument-in-force-upper-bound
444
+ matching: strict
445
+ format:
446
+ pattern: "LLL-999"
447
+ regex: '\A[A-Z]{3}[- ]?\d{3}\z'
448
+ serial_basis: locator-corroborated
449
+ charset: { notes: "specialty plates carry the ordinary department-assigned arrangement on an alternative design unless personalized; § 1113(A)(1)'s delegation of 'numbering' to the agency applies unchanged. Many Oklahoma specialty designs carry their own literal prefixes, which are NOT enumerated here (that is L4)." }
450
+ design:
451
+ plate: { w: 12, h: 6, unit: in }
452
+ background: { finish: retroreflective }
453
+ note: "one design per authorised program; individual designs are L4 scope (PRD-PLATES §2.5) and none is described here"
454
+ emblem: { present: true, rendered: placeholder }
455
+ program_index:
456
+ count: null
457
+ count_note: >-
458
+ NO COUNT IS ASSERTED, and that is the honest answer. Service Oklahoma's
459
+ specialty-plate page is an AEM-rendered application that returned no
460
+ enumerable catalogue to a fetcher, and no Oklahoma instrument stating a
461
+ program count was located. Contrast Florida ("over 100", FLHSMV's own
462
+ words) and Arkansas (131 catalogue entries, counted from the DFA's own
463
+ content API). Recorded as a GAP rather than filled from a locator.
464
+ official_list_url: "https://oklahoma.gov/service/all-services/auto-vehicle/specialty-plates.html"
465
+ tribal_plates: >-
466
+ THE OKLAHOMA-SPECIFIC FACT WORTH MORE THAN THE COUNT: Service Oklahoma
467
+ lists TRIBAL PLATES as a first-class plate type alongside specialty and
468
+ personalized. Oklahoma tribal nations issue their own vehicle tags under
469
+ their own sovereign authority, and those tags are not state issuance at
470
+ all — they are a separate registration system operating on the same
471
+ roads. A US plate dataset that models only state issuance will fail to
472
+ parse a large population of legitimately registered Oklahoma vehicles.
473
+ Flagged as a distinct JURISDICTION question (tribal nations are not
474
+ ISO 3166-2 subdivisions) and deliberately not modelled at L2.
475
+ statutory_frame:
476
+ - "§ 1113(B)(2): apportioned plates, state-vehicle plates and exempt plates for governmental entities and fire departments organised under 18 O.S. § 592 are excluded from the yearly-decal regime"
477
+ - "§ 1113(B)(8): where a reissue is initiated, the Oklahoma Tourism and Recreation Department designs the plates and submits them to DPS for approval before the agency may issue them"
478
+ - "§ 1113.2(F): the reissue design applies to ALL plates issued on or after 1 January 2017 'Except for vehicles registered pursuant to the provisions of Section 1120 of this title and certain official special license plates' — so some specialty and official plates are exempt from base changes, which is why a specialty plate's base cannot be used to date it"
479
+ region_encoding: none
480
+ sources:
481
+ - "https://oklahoma.gov/service/popular-services/license-plates.html # Service Oklahoma: 'Oklahoma offers several License Plate types, including Physically Disabled License Plates, Specialty Plates, Personalized Plates, and Tribal Plates'; 'In lieu of receiving a Standard License Plate, you may choose to order a Specialty Plate'"
482
+ - "https://oklahoma.gov/service/all-services/auto-vehicle/specialty-plates.html # the official specialty catalogue entry point; JavaScript-rendered, no enumerable list retrieved (recorded gap)"
483
+ - "https://oksenate.gov/sites/default/files/2019-12/os47.pdf # 47 O.S. § 1113(B)(2) and (B)(8), § 1113.2(F): the statutory carve-outs that keep certain official and special plates off the general-issue base"
484
+ notes: >-
485
+ THE OKLAHOMA SPECIALTY INDEX — count deliberately absent. The finding that
486
+ matters here is not the catalogue but the TRIBAL PLATE question: Oklahoma is
487
+ the US state where sovereign tribal registration is most visible on the
488
+ road, Service Oklahoma itself lists tribal plates as a plate type, and none
489
+ of it is state issuance. That is a jurisdiction-model problem, not a series
490
+ problem, and it belongs in a maintainer decision before L3 rather than in a
491
+ series record here.
492
+
493
+ # ---------------------------------------------------------------------------
494
+ # Classes Oklahoma separately serializes that are DELIBERATELY NOT given series
495
+ # here for want of a sourced format.
496
+ # ---------------------------------------------------------------------------
497
+ notable_classes_not_specced:
498
+ - class: government
499
+ subtype: "state vehicles generally"
500
+ evidence: "§ 1113(B)(4): 'the Tax Commission shall design appropriate official license plates for all state vehicles. Such license plates shall be permanent in nature and designed in such manner as to remain with the vehicle for the duration of the vehicle's life span or until the title is transferred to a nongovernmental owner.' A statutory PERMANENT-plate rule for the state fleet."
501
+ gap: "no serial arrangement stated in statute and none obtained; the reported 'TAX EXEMPT' plate (E-prefixed, five digits) is locator-grade only"
502
+ - class: trailer
503
+ evidence: "a NON-EXPIRING TRAILER plate is reported on the 2017 base; § 1113(A)(3) independently authorises permanent nonexpiring plates for large commercial fleets and § 1120 vehicles"
504
+ gap: "no arrangement from any authority source"
505
+ - class: motorcycle
506
+ evidence: "§ 1113(A)(1) treats motorcycles used exclusively off-road as plate-exempt, which implies on-road motorcycles are plated"
507
+ gap: "no arrangement obtained"
508
+ - class: dealer
509
+ evidence: "Oklahoma licenses dealers and issues dealer plates; the governing provisions were not read this pass"
510
+ gap: "class not sourced to a specific section; no arrangement obtained"
511
+ - class: personalized
512
+ evidence: "§ 1113.2(F) refers to registrants reserving 'their present general issue or PERSONALIZED license plate numbers', so the class plainly exists in statute; Service Oklahoma lists Personalized Plates as a plate type"
513
+ gap: "no character frame, length cap or content rule obtained — contrast Louisiana, whose OMV policy states all three"