vehicles 0.4.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 (189) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +164 -0
  3. data/CHANGELOG.md +321 -0
  4. data/README.md +88 -15
  5. data/data/PROVENANCE-vehicles.md +12 -0
  6. data/data/plates/PROVENANCE.md +10 -0
  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/es-provinces.yml +116 -0
  14. data/data/plates/_decode/fr-departements.yml +191 -0
  15. data/data/plates/_decode/gb-age-identifiers.yml +170 -0
  16. data/data/plates/_decode/gb-memory-tags.yml +202 -0
  17. data/data/plates/_decode/gr-prefectures.yml +1408 -0
  18. data/data/plates/_decode/hr-cities.yml +315 -0
  19. data/data/plates/_decode/ie-counties.yml +227 -0
  20. data/data/plates/_decode/in-state-codes.yml +169 -0
  21. data/data/plates/_decode/is-districts-1938.yml +116 -0
  22. data/data/plates/_decode/it-provinces.yml +348 -0
  23. data/data/plates/_decode/jp-office-marks.yml +960 -0
  24. data/data/plates/_decode/jp-use-marks.yml +205 -0
  25. data/data/plates/_decode/kr-authority-marks.yml +146 -0
  26. data/data/plates/_decode/kr-use-syllables.yml +194 -0
  27. data/data/plates/_decode/lu-series-order.yml +638 -0
  28. data/data/plates/_decode/mx-entity-series.yml +380 -0
  29. data/data/plates/_decode/my-index-marks.yml +271 -0
  30. data/data/plates/_decode/no-counties-1913.yml +148 -0
  31. data/data/plates/_decode/no-districts.yml +901 -0
  32. data/data/plates/_decode/pl-powiats.yml +567 -0
  33. data/data/plates/_decode/pt-trailer-services.yml +96 -0
  34. data/data/plates/_decode/ro-counties.yml +213 -0
  35. data/data/plates/_decode/se-diplomatic.yml +220 -0
  36. data/data/plates/_decode/si-regions.yml +123 -0
  37. data/data/plates/_decode/sk-districts.yml +314 -0
  38. data/data/plates/_decode/th-registration-elements.yml +208 -0
  39. data/data/plates/_decode/ua-regions.yml +393 -0
  40. data/data/plates/_decode/za-licence-marks.yml +215 -0
  41. data/data/plates/_meta/classes.yml +26 -0
  42. data/data/plates/_meta/separators.yml +102 -0
  43. data/data/plates/ad.yml +961 -0
  44. data/data/plates/ar.yml +762 -0
  45. data/data/plates/at.yml +1424 -0
  46. data/data/plates/au-act.yml +472 -0
  47. data/data/plates/au-nsw.yml +282 -0
  48. data/data/plates/au-nt.yml +431 -0
  49. data/data/plates/au-qld.yml +272 -0
  50. data/data/plates/au-sa.yml +248 -0
  51. data/data/plates/au-tas.yml +302 -0
  52. data/data/plates/au-vic.yml +215 -0
  53. data/data/plates/au-wa.yml +309 -0
  54. data/data/plates/be.yml +1840 -0
  55. data/data/plates/br.yml +1152 -0
  56. data/data/plates/ca-ab.yml +430 -0
  57. data/data/plates/ca-bc.yml +697 -0
  58. data/data/plates/ca-mb.yml +499 -0
  59. data/data/plates/ca-nb.yml +537 -0
  60. data/data/plates/ca-nl.yml +743 -0
  61. data/data/plates/ca-ns.yml +808 -0
  62. data/data/plates/ca-nt.yml +610 -0
  63. data/data/plates/ca-nu.yml +280 -0
  64. data/data/plates/ca-on.yml +881 -0
  65. data/data/plates/ca-pe.yml +592 -0
  66. data/data/plates/ca-qc.yml +1036 -0
  67. data/data/plates/ca-sk.yml +256 -0
  68. data/data/plates/ca-yt.yml +656 -0
  69. data/data/plates/ch.yml +1273 -0
  70. data/data/plates/cn.yml +1431 -0
  71. data/data/plates/cy.yml +688 -0
  72. data/data/plates/cz.yml +1179 -0
  73. data/data/plates/de.yml +1107 -0
  74. data/data/plates/dk.yml +1647 -0
  75. data/data/plates/ee.yml +1275 -0
  76. data/data/plates/es.yml +888 -0
  77. data/data/plates/fi.yml +1271 -0
  78. data/data/plates/fr.yml +1265 -0
  79. data/data/plates/gb.yml +1188 -0
  80. data/data/plates/gr.yml +721 -0
  81. data/data/plates/hr.yml +860 -0
  82. data/data/plates/hu.yml +959 -0
  83. data/data/plates/ie.yml +775 -0
  84. data/data/plates/in.yml +1172 -0
  85. data/data/plates/is.yml +667 -0
  86. data/data/plates/it.yml +1317 -0
  87. data/data/plates/jp.yml +3650 -0
  88. data/data/plates/kr.yml +1375 -0
  89. data/data/plates/li.yml +1010 -0
  90. data/data/plates/lt.yml +879 -0
  91. data/data/plates/lu.yml +842 -0
  92. data/data/plates/lv.yml +924 -0
  93. data/data/plates/mc.yml +1024 -0
  94. data/data/plates/mt.yml +854 -0
  95. data/data/plates/mx.yml +1372 -0
  96. data/data/plates/my.yml +685 -0
  97. data/data/plates/nl.yml +1016 -0
  98. data/data/plates/no.yml +1018 -0
  99. data/data/plates/nz.yml +1699 -0
  100. data/data/plates/pl.yml +1296 -0
  101. data/data/plates/pt.yml +847 -0
  102. data/data/plates/ro.yml +785 -0
  103. data/data/plates/se.yml +1091 -0
  104. data/data/plates/si.yml +1105 -0
  105. data/data/plates/sk.yml +1439 -0
  106. data/data/plates/sm.yml +1119 -0
  107. data/data/plates/th.yml +1150 -0
  108. data/data/plates/ua.yml +1672 -0
  109. data/data/plates/us-ak.yml +763 -0
  110. data/data/plates/us-al.yml +457 -0
  111. data/data/plates/us-ar.yml +427 -0
  112. data/data/plates/us-as.yml +454 -0
  113. data/data/plates/us-az.yml +430 -0
  114. data/data/plates/us-ca.yml +892 -0
  115. data/data/plates/us-co.yml +452 -0
  116. data/data/plates/us-ct.yml +427 -0
  117. data/data/plates/us-dc.yml +614 -0
  118. data/data/plates/us-de.yml +551 -0
  119. data/data/plates/us-fl.yml +741 -0
  120. data/data/plates/us-ga.yml +644 -0
  121. data/data/plates/us-gu.yml +658 -0
  122. data/data/plates/us-hi.yml +585 -0
  123. data/data/plates/us-ia.yml +438 -0
  124. data/data/plates/us-id.yml +531 -0
  125. data/data/plates/us-il.yml +516 -0
  126. data/data/plates/us-in.yml +324 -0
  127. data/data/plates/us-ks.yml +351 -0
  128. data/data/plates/us-ky.yml +770 -0
  129. data/data/plates/us-la.yml +568 -0
  130. data/data/plates/us-ma.yml +379 -0
  131. data/data/plates/us-md.yml +536 -0
  132. data/data/plates/us-me.yml +445 -0
  133. data/data/plates/us-mi.yml +408 -0
  134. data/data/plates/us-mn.yml +411 -0
  135. data/data/plates/us-mo.yml +356 -0
  136. data/data/plates/us-mp.yml +402 -0
  137. data/data/plates/us-ms.yml +432 -0
  138. data/data/plates/us-mt.yml +619 -0
  139. data/data/plates/us-nc.yml +602 -0
  140. data/data/plates/us-nd.yml +419 -0
  141. data/data/plates/us-ne.yml +483 -0
  142. data/data/plates/us-nh.yml +394 -0
  143. data/data/plates/us-nj.yml +547 -0
  144. data/data/plates/us-nm.yml +574 -0
  145. data/data/plates/us-nv.yml +655 -0
  146. data/data/plates/us-ny.yml +592 -0
  147. data/data/plates/us-oh.yml +404 -0
  148. data/data/plates/us-ok.yml +513 -0
  149. data/data/plates/us-or.yml +392 -0
  150. data/data/plates/us-pa.yml +506 -0
  151. data/data/plates/us-pr.yml +507 -0
  152. data/data/plates/us-ri.yml +445 -0
  153. data/data/plates/us-sc.yml +605 -0
  154. data/data/plates/us-sd.yml +428 -0
  155. data/data/plates/us-tn.yml +471 -0
  156. data/data/plates/us-tx.yml +535 -0
  157. data/data/plates/us-ut.yml +384 -0
  158. data/data/plates/us-va.yml +567 -0
  159. data/data/plates/us-vi.yml +489 -0
  160. data/data/plates/us-vt.yml +458 -0
  161. data/data/plates/us-wa.yml +484 -0
  162. data/data/plates/us-wi.yml +509 -0
  163. data/data/plates/us-wv.yml +446 -0
  164. data/data/plates/us-wy.yml +523 -0
  165. data/data/plates/va.yml +604 -0
  166. data/data/plates/za.yml +1141 -0
  167. data/data/vehicles.json +160653 -105090
  168. data/lib/vehicles/configuration.rb +18 -2
  169. data/lib/vehicles/dataset.rb +73 -18
  170. data/lib/vehicles/fuzzy.rb +115 -0
  171. data/lib/vehicles/http.rb +48 -0
  172. data/lib/vehicles/make.rb +36 -6
  173. data/lib/vehicles/mcp_server.rb +5 -5
  174. data/lib/vehicles/model.rb +42 -6
  175. data/lib/vehicles/plates/jurisdiction.rb +32 -0
  176. data/lib/vehicles/plates/series.rb +291 -0
  177. data/lib/vehicles/plates/template_fill.rb +188 -0
  178. data/lib/vehicles/plates/templates.rb +162 -0
  179. data/lib/vehicles/plates.rb +122 -0
  180. data/lib/vehicles/providers/hosted_provider.rb +49 -58
  181. data/lib/vehicles/providers/local_provider.rb +4 -3
  182. data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
  183. data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
  184. data/lib/vehicles/version.rb +1 -1
  185. data/lib/vehicles.rb +53 -16
  186. data/rakelib/data_refresh.rake +109 -0
  187. data/rakelib/plates_refresh.rake +29 -0
  188. data/sig/vehicles.rbs +18 -0
  189. metadata +174 -2
@@ -0,0 +1,523 @@
1
+ # plates/us-wy.yml — Wyoming (PRD-PLATES gate L2, northwest group).
2
+ #
3
+ # WYOMING IS THE ONLY STATE IN THIS GROUP WHOSE PLATE ARTWORK IS A REGISTERED
4
+ # STATE TRADEMARK, AND THE STATUTE PUTS THAT ARTWORK INSIDE THE SERIAL LINE.
5
+ # W.S. 31-2-204(b) requires that the plate carry "arabic numerals for the
6
+ # county in which issued, followed by the bucking horse and rider emblem and a
7
+ # distinctive number assigned to the vehicle". The Bucking Horse and Rider is
8
+ # not decoration in a corner: it occupies the position where every other state
9
+ # in this group prints a separator. And W.S. 8-3-117 directs the Secretary of
10
+ # State to "promulgate rules regulating the licensing or other authorized use
11
+ # of the 'Bucking Horse and Rider' and related trademarks", with licensing
12
+ # fees and royalties deposited to a dedicated account and appropriations
13
+ # authorised "to protect, preserve and promote" the marks. So Wyoming
14
+ # affirmatively asserts, licenses and monetises the central element of its own
15
+ # licence plate. That is the cleanest artwork_risk evidence found anywhere in
16
+ # this group — better than Arizona's bare copyright assertion, because it is
17
+ # statutory, specific to THIS mark, and revenue-generating. See artwork_risk.
18
+ #
19
+ # THE SEPARATOR CONSEQUENCE, WHICH IS A SCHEMA POINT AND NOT A CURIOSITY.
20
+ # Because the emblem sits between the county number and the serial, Wyoming is
21
+ # a live instance of plates/_meta/separators.yml's `never_separator` case: the
22
+ # printed gap between the two groups is occupied by a DEVICE, not by
23
+ # punctuation. A consumer deriving a separator-free twin must delete the
24
+ # emitted separator characters and MUST NOT treat the emblem as one, because
25
+ # it is carried in `design.emblem` and never in the serial. Recorded loudly
26
+ # below.
27
+ #
28
+ # SOURCING. Wyoming publishes its statutes as per-title PDFs at wyoleg.gov;
29
+ # Title 31 (Motor Vehicles) and Title 8 (General Provisions) were both fetched
30
+ # and text-extracted, and every statutory quotation below is verbatim from
31
+ # them. WYDOT's own county-prefix page was fetched and INDEPENDENTLY
32
+ # CORROBORATES the statutory table row for row — a rare case in this wave
33
+ # where statute and agency agree exactly and both were read.
34
+ jurisdiction: us-wy
35
+ authority:
36
+ name: Wyoming Department of Transportation (WYDOT), Motor Vehicle Services
37
+ url: "https://www.dot.state.wy.us/home/titles_plates_registration.html"
38
+ binding: vehicle
39
+ statute_edition: >-
40
+ Wyoming Statutes, Title 31 (Motor Vehicles) and Title 8 (General
41
+ Provisions), as published by the Wyoming Legislative Service Office at
42
+ wyoleg.gov/statutes/compress/title31.pdf and title08.pdf, fetched and
43
+ text-extracted 2026-08-02.
44
+
45
+ # ---------------------------------------------------------------------------
46
+ # artwork_risk — required per jurisdiction by PRD-PLATES §4/§7.1.
47
+ # ---------------------------------------------------------------------------
48
+ artwork_risk:
49
+ posture: asserted
50
+ basis: >-
51
+ ASSERTED, ON A NAMED STATUTORY TRADEMARK, AND THE MARK IS THE PLATE'S
52
+ CENTREPIECE. W.S. 8-3-117, verbatim: "(a) The secretary of state shall
53
+ promulgate rules regulating the licensing or other authorized use of the
54
+ 'Bucking Horse and Rider' and related trademarks. (b) Any licensing fees,
55
+ royalties or other revenues collected by the secretary of state under this
56
+ section shall be deposited into a separate account. The legislature shall
57
+ by appropriation authorize expenditures from the account as necessary to
58
+ defray administrative expenses associated with licensing of the trademark
59
+ and expenditures required to protect, preserve and promote the 'Bucking
60
+ Horse and Rider' and related trademarks on behalf of the state." Wyoming
61
+ therefore (i) claims the mark, (ii) licenses it for money, and (iii)
62
+ appropriates funds specifically to enforce it. W.S. 31-2-204(b) then puts
63
+ that mark ON THE PLATE, between the county number and the serial, on every
64
+ standard issue. Separately, Wyoming appears NOWHERE in the standing
65
+ per-state COPYRIGHT survey PRD-PLATES §4 works from and no {{PD-WYGov}}
66
+ tag exists on Wikimedia Commons, so the copyright posture is unresearched
67
+ and the default (state works copyrighted unless the state says otherwise)
68
+ applies. THE TRADEMARK POINT IS INDEPENDENT OF COPYRIGHT AND SURVIVES IT:
69
+ even a favourable copyright finding would not clear the Bucking Horse and
70
+ Rider, because trademark protection is a separate regime — exactly the
71
+ hazard PRD-PLATES §4 flags for state seals, here documented rather than
72
+ assumed.
73
+ emblem_rule: >-
74
+ PRD-PLATES §3's placeholder default applies with unusual force. The
75
+ Bucking Horse and Rider MUST render as a neutral placeholder — it is a
76
+ live, licensed, revenue-generating state trademark, and it is not a
77
+ candidate for an emblem-slot upgrade at any gate absent an affirmative
78
+ licence from the Wyoming Secretary of State. Render `emblem: {present:
79
+ true, rendered: placeholder}`. NOTE ALSO that the emblem's POSITION is
80
+ statutory (between the county number and the serial), so a render must
81
+ reserve the slot even while filling it with a placeholder.
82
+ photograph_caution: "Standard: a Commons CC BY-SA tag on a photograph of a Wyoming plate is the photographer's licence on the photograph. Our renders are generated from the statute — but in Wyoming the underlying mark is the live problem, not the photograph."
83
+ trademark_reach_note: >-
84
+ The mark is not confined to plates. W.S. 31-3-102(a)(xxiii) and (xxiv)
85
+ require the annual ELECTRIC-VEHICLE and PLUG-IN-HYBRID decals to "include
86
+ the bucking horse and rider emblem" as well ($100 and $50 respectively).
87
+ Wyoming propagates the mark across its whole vehicle-credential estate.
88
+ sources:
89
+ - "https://www.wyoleg.gov/statutes/compress/title08.pdf # W.S. 8-3-117, quoted verbatim above: Secretary of State rulemaking over licensing of the Bucking Horse and Rider and related trademarks, the royalty account, and the protect-preserve-promote appropriation"
90
+ - "https://www.wyoleg.gov/statutes/compress/title31.pdf # W.S. 31-2-204(b): the emblem's mandatory place on the plate, between the county numerals and the distinctive number; W.S. 31-3-102(a)(xxiii)-(xxiv): the emblem required on EV and PHEV decals"
91
+ - "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR ONLY: Wyoming is NOT MENTIONED — measured absence, so copyright posture is recorded unresearched"
92
+ - "https://commons.wikimedia.org/wiki/Commons:Copyright_rules_by_territory/United_States # LOCATOR ONLY: no Wyoming state PD template exists among those listed"
93
+
94
+ # ---------------------------------------------------------------------------
95
+ # The US standards chain.
96
+ # ---------------------------------------------------------------------------
97
+ us_standards:
98
+ no_federal_mandate: true
99
+ chain: "SAE J686 -> AAMVA License Plate Standard Edition 3 (September 2025) -> voluntary state adoption."
100
+ aamva_edition_3:
101
+ dimensions_delegated: "AAMVA §3.1 delegates dimensions and bolt holes to SAE J686, which is paywalled and UNPINNED and is never quoted here. Wyoming does not need it for length: W.S. 31-2-204(b) legislates a MINIMUM of twelve inches long, and a minimum of 3 x 6 inches for the small plates."
102
+ character_layout: "AAMVA §2.2: characters at least 2.5 in high, spacing at least 0.25 in, stroke 0.2-0.4 in. Wyoming legislates no character geometry; W.S. 31-2-204(b) leaves the distinctive number 'set forth in numerals and letters as determined by the department'."
103
+ retroreflectivity: "AAMVA §3.3: readable day and night from at least 75 feet; ASTM D4956-19 and ISO 7591:1982 cl.3. W.S. 31-2-204(b) legislates the requirement without the metric: 'the background of all plates shall be fully reflectorized'."
104
+ replacement_cycle: >-
105
+ AAMVA §1.1 recommends a cycle "not to exceed 7 to 10 years". WYOMING
106
+ LEGISLATES ANNUAL: W.S. 31-2-204(b), "License plates shall be changed or
107
+ validated annually." Wyoming is therefore the most aggressive of the
108
+ four positions this group documents — Wyoming annual, Montana five
109
+ years, Florida ten, Washington no clock at all.
110
+ source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
111
+ folklore_caution: >-
112
+ The "1956 AMA standardization agreement" is COMMONLY REPEATED, UNSOURCED.
113
+ Wyoming states its own minimum length in law and nothing here depends on
114
+ it. NOTE ALSO the Wyoming-specific folklore: the county numbers are
115
+ universally explained as the counties' 1930s assessed-valuation or wealth
116
+ ranking. W.S. 31-2-204(d) states the ASSIGNMENT and gives NO rationale.
117
+ Recorded as folklore; see us-wy-standard.region_encoding.
118
+
119
+ # ---------------------------------------------------------------------------
120
+ # Display rules — W.S. 31-2-205, and the nine-way front-plate exclusion list
121
+ # is the most granular in this group.
122
+ # ---------------------------------------------------------------------------
123
+ display_rules:
124
+ default: "TWO plates, front and rear. W.S. 31-2-205(a)(i): plates shall be 'Conspicuously displayed and securely fastened to be plainly visible: (A) One (1) on the front of the vehicle, excluding [nine listed classes] ... (B) One (1) on the rear of the vehicle.'"
125
+ issuance: "W.S. 31-2-204(a): the COUNTY TREASURER issues 'one (1) license plate or validation sticker for motorcycles, multipurpose vehicles, trailers, including house trailers, and vehicles operated with dealer license plates and two (2) license plates or proper validation stickers for any other vehicle.'"
126
+ front_plate_exclusions:
127
+ - "motorcycles"
128
+ - "multipurpose vehicles"
129
+ - "trailers, including house trailers"
130
+ - "vehicles operated with demo, full use or manufacturer license plates issued pursuant to W.S. 31-16-125"
131
+ - "street rods registered pursuant to W.S. 31-2-226"
132
+ - "custom vehicles registered pursuant to W.S. 31-2-227"
133
+ - "antique vehicles registered pursuant to W.S. 31-2-223"
134
+ - "a motor vehicle which was originally manufactured without a bracket, device or other means to display and secure a front license plate"
135
+ - "off-road recreational vehicles as defined by W.S. 31-1-101(a)(xv)(K)(II) that are registered pursuant to W.S. 31-2-232"
136
+ front_plate_note: >-
137
+ THE EIGHTH EXCLUSION IS THE INTERESTING ONE AND NO OTHER STATE IN THIS
138
+ GROUP HAS IT: Wyoming excuses the front plate for "a motor vehicle which
139
+ was originally manufactured without a bracket, device or other means to
140
+ display and secure a front license plate." That converts a front-plate
141
+ obligation into a per-MODEL fact about the vehicle's manufacture. A
142
+ dataset that models front-plate requirement as a per-jurisdiction boolean
143
+ cannot express it; a vehicle catalogue that knows factory front-bracket
144
+ fitment can. This is a direct hook between the plates dataset and the
145
+ vehicle catalogue.
146
+ mounting: "W.S. 31-2-205(a)(ii)-(iv): plates must be 'Secured to prevent swinging'; 'Attached in a horizontal position no less than twelve (12) inches from the ground'; and 'Maintained free from foreign materials and in a condition to be clearly legible.' NOTE the direction of the constraint — Wyoming legislates a MINIMUM height (12 in), while Washington and Florida legislate a MAXIMUM (four feet / 60 in). They are not the same rule and must not be normalised together."
147
+ sources:
148
+ - "https://www.wyoleg.gov/statutes/compress/title31.pdf # W.S. 31-2-204(a): one plate or two by vehicle type, issued by the county treasurer; W.S. 31-2-205(a): conspicuous display, the nine front-plate exclusions, no-swinging, the twelve-inch minimum height, and the legibility duty"
149
+
150
+ series:
151
+
152
+ # =========================================================================
153
+ # THE STANDARD-ISSUE SERIES. County-number-prefixed, emblem-separated.
154
+ # =========================================================================
155
+ - id: us-wy-standard
156
+ class: standard
157
+ categories: [car, van, truck, bus]
158
+ period: { start: 2026 }
159
+ period_evidence: instrument-in-force-upper-bound
160
+ matching: strict
161
+ format:
162
+ pattern: "99 9999"
163
+ regex: '\A\d{1,2}[- ]?\d{1,6}\z'
164
+ regex_strict: '\A(?:[1-9]|1\d|2[0-3])[- ]?\d{1,6}\z'
165
+ regex_statutory: '\A\d{1,2}[- ]?[A-Z0-9]+\z'
166
+ charset:
167
+ notes: >-
168
+ W.S. 31-2-204(b), verbatim: "Except as otherwise provided, license
169
+ plates shall be of metal not less than twelve (12) inches long in
170
+ the left-hand end of which shall be arabic numerals for the county
171
+ in which issued, followed by the bucking horse and rider emblem and
172
+ a distinctive number assigned to the vehicle, set forth in numerals
173
+ and letters as determined by the department and above or underneath
174
+ such numerals shall be the word 'Wyoming' and arabic numerals for
175
+ the year of issue or validation." And (c): "The distinctive license
176
+ plate numbers shall begin with one (1) and be numbered consecutively
177
+ in each county." So Wyoming law fixes the county numerals, their
178
+ POSITION (left-hand end), the emblem after them, the state name, the
179
+ year, and the numbering origin — and delegates only the serial's own
180
+ shape to the department. NO WIDTH and NO EXCLUDED LETTERS are stated
181
+ anywhere; none is invented here.
182
+ vehicle_type_marker: >-
183
+ W.S. 31-2-204(b) also permits, but does not require, a type marker
184
+ in the serial line: "After the county number on the left-hand end,
185
+ the license plate may also contain a distinctive symbol or letters,
186
+ as determined by the department, indicating vehicle type." A Wyoming
187
+ serial may therefore carry a class token between the county number
188
+ and the plate number. `regex_statutory` admits it (letters are
189
+ allowed); `regex` does not, because the current passenger issue does
190
+ not use one.
191
+ separator_note: >-
192
+ CRITICAL, AND A LIVE INSTANCE OF plates/_meta/separators.yml's
193
+ `never_separator` CASE. The printed gap between the county numerals
194
+ and the distinctive number is occupied BY THE BUCKING HORSE AND RIDER
195
+ EMBLEM, which W.S. 31-2-204(b) places there by statute. The emblem is
196
+ a DESIGN ELEMENT carried in `design.emblem`; it is NOT a separator
197
+ character, it is NOT part of the serial, and no consumer may treat it
198
+ as either. The separator position is spelled as the separator-only
199
+ class `[- ]`, sanctioned by PRD-PLATES §2.8, because the statute names
200
+ no separator GLYPH at all — it names a picture. `pattern` shows the
201
+ canonical printed form as a space.
202
+ tier_note: >-
203
+ `regex_strict` bounds the leading group to the 23 county numbers W.S.
204
+ 31-2-204(d) actually assigns — the authority's own alphabet for that
205
+ position. `regex` is the current all-numeric passenger arrangement.
206
+ `regex_statutory` is the outer statutory bound: county numerals, the
207
+ emblem gap, then a department-determined combination of numerals and
208
+ letters of unstated width (hence the unbounded quantifier, which makes
209
+ no width claim). Tier order regex_strict subset-of regex subset-of
210
+ regex_statutory holds by construction.
211
+ progression: "STATUTORY. W.S. 31-2-204(c): 'The distinctive license plate numbers shall begin with one (1) and be numbered consecutively in each county.' Wyoming's serial space is therefore PER COUNTY, restarting at 1 in each — which is why low numbers in populous Natrona (county 1) are collectible and why the same distinctive number legitimately recurs in all 23 counties."
212
+ design:
213
+ plate: { w: 12, h: 6, unit: in, w_mm: 304.8, h_mm: 152.4, dimension_basis: statutory-minimum-length-plus-convention }
214
+ plate_dimension_note: >-
215
+ HALF STATUTORY. W.S. 31-2-204(b) legislates only a MINIMUM LENGTH:
216
+ plates 'shall be of metal not less than twelve (12) inches long'. No
217
+ height is stated for full-size plates. The 6-inch height is the North
218
+ American convention as observed, not a Wyoming claim; the 12-inch
219
+ length is a legislated floor, not a fixed value.
220
+ plate_variant: { w: 6, h: 3, unit: in, applies_to: "light utility trailers under 1,000 lb, motorcycles and multipurpose vehicles", statutory_text: "W.S. 31-2-204(b): 'Plates for light utility trailers under one thousand (1,000) pounds, motorcycles and multipurpose vehicles shall not be less than three (3) inches wide and six (6) inches long.' Again a MINIMUM, not a fixed size." }
221
+ material: "W.S. 31-2-204(b): 'license plates shall be of metal'"
222
+ background: { finish: retroreflective }
223
+ contrast_rule: >-
224
+ W.S. 31-2-204(b), verbatim: "There shall be a marked contrast between
225
+ the color of the plate and that of the numerals and letters and the
226
+ background of all plates shall be fully reflectorized." THE CLEANEST
227
+ EXAMPLE IN THIS GROUP OF A LEGISLATURE SPECIFYING A DESIGN PROPERTY
228
+ RATHER THAN A DESIGN VALUE — Wyoming mandates CONTRAST and
229
+ REFLECTORIZATION and names no colour whatsoever, exactly as Florida
230
+ mandates a 'distinguishing color' for its historic plates without
231
+ naming one. No hex is recorded here because no authority states one.
232
+ colour_note: "NO COLOUR IS IN THE STATUTE. Wyoming plates are conventionally described as a dark serial on a light reflective ground with the emblem in silhouette; that is observation, no hex is invented, and `contrast_rule` above is the sourced claim."
233
+ legend_top: "Wyoming"
234
+ legend_rule: "W.S. 31-2-204(b): 'above or underneath such numerals shall be the word \"Wyoming\" and arabic numerals for the year of issue or validation.' Note the statute leaves the ABOVE-OR-BELOW choice open, and (c) reserves the department's freedom to move things: 'In ordering license plates the department may from year to year change the location of the figures, words and letters or validation sticker as deemed necessary.'"
235
+ year_on_plate: "STATUTORY AND UNUSUAL AT THIS DATE. W.S. 31-2-204(b) requires 'arabic numerals for the year of issue or validation' ON THE PLATE ITSELF. Most US states moved the year to a sticker decades ago; Wyoming still legislates it onto the plate face, which is why Wyoming plate images are datable on sight."
236
+ emblem:
237
+ present: true
238
+ rendered: placeholder
239
+ name: "Bucking Horse and Rider"
240
+ statutory_position: "between the county numerals at the left-hand end and the distinctive number (W.S. 31-2-204(b))"
241
+ ip_note: "a registered state trademark licensed by the Secretary of State under W.S. 8-3-117 — see artwork_risk. Placeholder is mandatory, not a default."
242
+ substitution_rule: "W.S. 31-2-204(b): plates issued to dealers and for state or federal official forestry vehicles, motorcycles, multipurpose vehicles and trailers 'shall contain appropriate identification which may be in lieu of the bucking horse and rider emblem.' So the emblem's ABSENCE is class information."
243
+ rear_differs: false
244
+ replacement_cycle:
245
+ years: 1
246
+ statutory_text: "W.S. 31-2-204(b): 'License plates shall be changed or validated annually.'"
247
+ note: >-
248
+ THE SHORTEST CLOCK IN THE GROUP, AND IT IS A DISJUNCTION. The statute
249
+ says CHANGED OR VALIDATED annually, so Wyoming may satisfy it with a
250
+ sticker rather than new metal — which is how it operates in practice.
251
+ Read with the mandatory year numerals on the plate face, this means a
252
+ Wyoming plate always asserts a year, whether by metal or by validation.
253
+ registration_period: "W.S. 31-2-206(a): 'vehicle registrations expire on the last day of the annual registration month. Renewals are effective for one (1) year beginning the first day of the month following the annual registration month.' Staggered monthly registration, not a common expiry date."
254
+ region_encoding:
255
+ mechanism: >-
256
+ THE COUNTY NUMBER IS THE LEFTMOST GROUP OF THE SERIAL, separated from
257
+ the plate number by the Bucking Horse and Rider emblem. W.S.
258
+ 31-2-204(b) fixes the position ('in the left-hand end of which shall
259
+ be arabic numerals for the county in which issued'); (c) makes the
260
+ plate number restart at 1 in each county; (d) fixes the mapping.
261
+ decode_evidence: statutory-verbatim-and-agency-corroborated
262
+ corroboration_note: >-
263
+ UNUSUALLY STRONG FOR THIS WAVE: the table below appears VERBATIM in
264
+ W.S. 31-2-204(d) AND, independently, on WYDOT's own county-prefix
265
+ page, which was fetched in the same pass and agrees row for row. Two
266
+ independent official sources, one an edict of government. WYDOT states
267
+ the mechanism in its own words: "Wyoming license plate numbers begin
268
+ with a prefix number that designates the county in which the vehicle
269
+ is registered."
270
+ ordering_folklore: >-
271
+ COMMONLY REPEATED, NOT STATED IN LAW. The numbering is universally
272
+ explained as the counties' assessed-valuation (wealth) ranking in the
273
+ 1930s — Natrona 1, Laramie 2, Sheridan 3, Sweetwater 4. W.S.
274
+ 31-2-204(d) states the ASSIGNMENT and gives NO rationale. Recorded as
275
+ folklore pending a Session Laws of Wyoming primary. THE STRUCTURAL
276
+ POINT SURVIVES EITHER WAY: the order is not alphabetical (Albany, the
277
+ alphabetically first county, is 5) and not by modern population
278
+ (Laramie County is the largest today but is 2), so it encodes
279
+ something historical and frozen. NOTE THE TELL IN THE STATUTE ITSELF:
280
+ Sublette is 23 and Teton is 22, both counties created after the
281
+ original assignment, and the section closes 'new counties shall be
282
+ assigned numbers by the department as they may be formed, beginning
283
+ with the number 24' — the tail of the sequence is chronological, not
284
+ ranked, which is direct textual evidence that the head was ranked
285
+ somehow and then frozen.
286
+ table:
287
+ 1: Natrona
288
+ 2: Laramie
289
+ 3: Sheridan
290
+ 4: Sweetwater
291
+ 5: Albany
292
+ 6: Carbon
293
+ 7: Goshen
294
+ 8: Platte
295
+ 9: Big Horn
296
+ 10: Fremont
297
+ 11: Park
298
+ 12: Lincoln
299
+ 13: Converse
300
+ 14: Niobrara
301
+ 15: Hot Springs
302
+ 16: Johnson
303
+ 17: Campbell
304
+ 18: Crook
305
+ 19: Uinta
306
+ 20: Washakie
307
+ 21: Weston
308
+ 22: Teton
309
+ 23: Sublette
310
+ table_note: "Quoted verbatim from W.S. 31-2-204(d) and corroborated row for row against WYDOT's published county-prefix table. 23 counties, numbers 1-23, no gaps. Kept inline rather than in plates/_decode/ because 23 rows is trivially small and its authority is the same statute as the rest of this series."
311
+ county_seats: "WYDOT's county-prefix page additionally publishes the county SEAT for each number (Natrona/Casper, Laramie/Cheyenne, Sheridan/Sheridan, Sweetwater/Green River, Albany/Laramie ...), because Wyoming plates are obtained from the county treasurer in the county seat. Note the trap: the town of Laramie is the seat of ALBANY county (5), while LARAMIE county (2) seats at Cheyenne. Any geocoder keyed on the name will get this wrong."
312
+ sources:
313
+ - "https://www.wyoleg.gov/statutes/compress/title31.pdf # W.S. 31-2-204: (a) one plate or two by vehicle type, county-treasurer issuance; (b) metal, twelve-inch minimum, county numerals at the left-hand end, the bucking horse and rider emblem, the department-determined distinctive number, the Wyoming wordmark and year numerals, the annual change-or-validate rule, the marked-contrast and fully-reflectorized rules, the 3 x 6 inch minimum for small plates, the antique 'Pioneer Wyo' legend, and the 'Farm' sticker; (c) numbering from one consecutively in each county and the department's freedom to relocate elements year to year; (d) the 23-row county table. W.S. 31-2-205: display. W.S. 31-2-206(a): staggered annual registration."
314
+ - "https://www.dot.state.wy.us/home/titles_plates_registration/prefixes.html # WYDOT's own county-prefix table and county seats — independent agency corroboration of the statutory table, plus 'Wyoming license plate numbers begin with a prefix number that designates the county in which the vehicle is registered'"
315
+ - "https://www.dot.state.wy.us/home/titles_plates_registration.html # WYDOT: 'Standard license plates and vehicle registrations are obtained through the local county treasurer in the county seat of the county of residence'; current passenger and truck plate imagery published as 2025 four-digit issues"
316
+ - "https://www.wyoleg.gov/statutes/compress/title08.pdf # W.S. 8-3-117: the Bucking Horse and Rider trademark regime — see artwork_risk"
317
+ - "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf # AAMVA Ed.3 §1.1 and §3.3 — the recommendations Wyoming's annual cycle and metric-free reflectorization rule sit against"
318
+ notes: >-
319
+ WYOMING STANDARD ISSUE. THE ID IS DELIBERATELY UNDATED, and in Wyoming
320
+ that is not a compromise but the correct model: W.S. 31-2-204(b) makes
321
+ the plate change or be validated ANNUALLY and (c) lets the department
322
+ 'from year to year change the location of the figures, words and
323
+ letters', so Wyoming law does not work in design generations at all. The
324
+ stable, statute-fixed facts are the ones recorded here — county numerals
325
+ left, emblem, department serial, wordmark, year — and they have held for
326
+ decades. `start: 2026` is the year the statute was read and is an UPPER
327
+ BOUND. NO "ONE SERIES BACK" ENTRY IS GIVEN: with an annual cycle and no
328
+ legislated design generations there is no primary-sourced predecessor
329
+ base to record, and inventing one from a collector table would be
330
+ exactly the laundering PRD-PLATES §9 warns against. Recorded as a gap.
331
+ Distinct from us-wy-antique in carrying the year numerals, which the
332
+ antique plate is statutorily forbidden to bear.
333
+
334
+ # =========================================================================
335
+ # HISTORIC — the one Wyoming class whose LEGEND is legislated verbatim.
336
+ # =========================================================================
337
+ - id: us-wy-antique
338
+ class: historic
339
+ categories: [car, truck]
340
+ period: { start: 2026 }
341
+ period_evidence: instrument-in-force-upper-bound
342
+ matching: recall-only
343
+ format:
344
+ pattern: "999999"
345
+ regex: '\A[A-Z0-9](?:[- ]?[A-Z0-9])*\z'
346
+ charset:
347
+ notes: >-
348
+ W.S. 31-2-204(b) states the antique plate's LEGEND and its
349
+ PROHIBITION but not its serial: 'Antique license plates shall bear
350
+ no date and shall bear the inscription "Pioneer Wyo".' The
351
+ department-determined serial rule of the same subsection applies by
352
+ default, with no stated width and no stated alphabet — hence the
353
+ unbounded, deliberately wide regex, which makes no width claim and
354
+ claims only a shape.
355
+ design:
356
+ plate: { w: 12, h: 6, unit: in, dimension_basis: statutory-minimum-length-plus-convention }
357
+ material: "W.S. 31-2-204(b): metal, fully reflectorized background, marked contrast"
358
+ legend: "Pioneer Wyo"
359
+ legend_rule: "W.S. 31-2-204(b), verbatim: 'Antique license plates shall bear no date and shall bear the inscription \"Pioneer Wyo\".'"
360
+ no_year: "STATUTORY PROHIBITION, not merely an omission: the antique plate 'shall bear no date' — the exact inverse of the standard plate, which must bear 'arabic numerals for the year of issue or validation'. Two Wyoming series, opposite rules, same subsection."
361
+ emblem: { present: true, rendered: placeholder, note: "whether the Bucking Horse and Rider appears on the antique plate is not stated; the substitution clause in 31-2-204(b) names dealers, forestry, motorcycles, multipurpose vehicles and trailers, and does not name antiques (recorded gap)" }
362
+ display_note: "W.S. 31-2-205(a)(i)(A)(VII): antique vehicles registered under W.S. 31-2-223 are EXCLUDED from the front-plate requirement — rear only."
363
+ region_encoding: "not stated for this series; the county-numeral rule of W.S. 31-2-204(b) is general and is not expressly disapplied (recorded gap)"
364
+ sources:
365
+ - "https://www.wyoleg.gov/statutes/compress/title31.pdf # W.S. 31-2-204(b): the 'Pioneer Wyo' inscription and the no-date prohibition; W.S. 31-2-205(a)(i)(A)(VII): antique vehicles excluded from the front plate; W.S. 31-2-223: the antique registration section (cross-referenced, not read in full)"
366
+ notes: >-
367
+ ANTIQUE ("Pioneer Wyo"). Worth its own series on two independent
368
+ PRD-PLATES §2.3 grounds: the LEGEND is legislated verbatim, and the
369
+ no-date rule is a statutory design prohibition the standard series
370
+ inverts. `recall-only` because only the legend and the date prohibition
371
+ are sourced — the serial grammar is not, and the regex is deliberately
372
+ wide enough to say so. Distinct from us-wy-standard in bearing no year
373
+ and in being rear-plate-only.
374
+
375
+ # =========================================================================
376
+ # GOVERNMENT — sourced existence and scope, unsourced grammar.
377
+ # =========================================================================
378
+ - id: us-wy-government
379
+ class: government
380
+ categories: [car, van, truck, bus]
381
+ period: { start: 2026 }
382
+ period_evidence: instrument-in-force-upper-bound
383
+ matching: recall-only
384
+ format:
385
+ pattern: "999999"
386
+ regex: '\A[A-Z0-9](?:[- ]?[A-Z0-9])*\z'
387
+ charset: { notes: "W.S. 31-2-207 requires 'distinctive license plates indicating public ownership' and states no grammar. The regex is a deliberately wide shape claim." }
388
+ design:
389
+ plate: { w: 12, h: 6, unit: in, dimension_basis: statutory-minimum-length-plus-convention }
390
+ background: { finish: retroreflective }
391
+ emblem: { present: true, rendered: placeholder }
392
+ distinctiveness_rule: "W.S. 31-2-207: 'Upon application the department shall issue distinctive license plates indicating public ownership for vehicles owned by the United States, state of Wyoming, a county, city, town or political subdivision of Wyoming, the tribal governments of the Eastern Shoshone and Northern Arapaho tribes of the Wind River Indian Reservation or a joint powers board under W.S. 16-1-101 through 16-1-109.'"
393
+ covert_plate_rule: >-
394
+ A GENUINELY UNUSUAL STATUTORY PROVISION, AND ONE A PLATE DATASET SHOULD
395
+ CARRY BECAUSE IT BOUNDS WHAT ANY PARSE API CAN HONESTLY CLAIM. W.S.
396
+ 31-2-207: 'Upon presentation of proper credentials and identification of
397
+ the applicant the department shall issue license plates NOT DISCLOSING
398
+ PUBLIC OWNERSHIP of a vehicle to investigative agencies of Wyoming and
399
+ the criminal investigative agencies of the department of justice,
400
+ department of defense and department of the treasury of the United
401
+ States and the records of the department shall not disclose the public
402
+ ownership of the vehicles.' Wyoming legislates covert plates that are
403
+ INDISTINGUISHABLE FROM STANDARD ISSUE and legislates that the registry
404
+ itself must not reveal them. Any consumer inferring "private vehicle"
405
+ from a standard-looking Wyoming plate is, by statute, sometimes wrong,
406
+ and no dataset can ever fix that.
407
+ region_encoding: "not stated (recorded gap)"
408
+ sources:
409
+ - "https://www.wyoleg.gov/statutes/compress/title31.pdf # W.S. 31-2-207: the distinctive public-ownership plate, its full list of eligible public entities including the Eastern Shoshone and Northern Arapaho tribal governments and joint powers boards, and the covert-plate provision quoted above"
410
+ notes: >-
411
+ GOVERNMENT / PUBLIC OWNERSHIP. `recall-only` because the grammar is
412
+ unsourced. Kept because two of its facts are high-value and both are
413
+ statutory: the eligible-entity list expressly includes TRIBAL
414
+ GOVERNMENTS of the Wind River Indian Reservation alongside federal,
415
+ state and local bodies, and the covert-plate clause sets a hard,
416
+ legislated ceiling on what any plate-parse product may claim about
417
+ Wyoming vehicles.
418
+
419
+ # =========================================================================
420
+ # SPECIALTY — THE PROGRAM INDEX, per PRD-PLATES §2.5.
421
+ # =========================================================================
422
+ - id: us-wy-specialty-index
423
+ class: specialty
424
+ categories: [car, van, truck, motorcycle]
425
+ period: { start: 2026 }
426
+ period_evidence: instrument-in-force-upper-bound
427
+ matching: recall-only
428
+ format:
429
+ pattern: "99 9999"
430
+ regex: '\A[A-Z0-9](?:[- ]?[A-Z0-9])*\z'
431
+ charset:
432
+ notes: >-
433
+ Wyoming special plates generally retain the county-number-first
434
+ structure — the disabled plate provision, for example, specifies
435
+ 'the arabic numerals designating the county in which issued at the
436
+ left, followed by the bucking horse and rider emblem and a
437
+ distinctive combination of up to three (3) numbers and letters ...
438
+ followed by the international symbol of access'. That THREE-CHARACTER
439
+ cap is a real sourced width for that programme, but per-programme
440
+ grammars are L4 scope, so the index carries a deliberately wide
441
+ union and is `recall-only`.
442
+ design:
443
+ plate: { w: 12, h: 6, unit: in, dimension_basis: statutory-minimum-length-plus-convention }
444
+ background: { finish: retroreflective }
445
+ note: "one design per authorised programme; the designs themselves are L4 scope and none is described here"
446
+ emblem: { present: true, rendered: placeholder, note: "many special series substitute their own identification for the Bucking Horse and Rider under the W.S. 31-2-204(b) substitution clause" }
447
+ program_index:
448
+ count_official: "23 named programmes, enumerated not totalled"
449
+ count_official_note: >-
450
+ WYDOT ENUMERATES RATHER THAN COUNTS, so 23 is this pass's arithmetic
451
+ on WYDOT's own list, not a figure WYDOT publishes. The list splits in
452
+ two by ISSUING ROUTE, which is the more useful structural fact.
453
+ county_treasurer_route: >-
454
+ WYDOT, in its own words: "The following special license plates are
455
+ processed by WYDOT in conjunction with the county treasurers' offices.
456
+ Some of these plates require a county treasurer to approve them prior
457
+ to submitting the application to WYDOT." Nineteen programmes:
458
+ Prestige Plates, Radio Amateur, Former POW, Pearl Harbor Survivor,
459
+ Disabled Veteran, National Guard, Purple Heart Recipient, Firefighter,
460
+ EMT, University of Wyoming, Veteran Plates, Embossed Plates, Gold Star
461
+ Plates, Choice Disabled Veteran Plates, Tribal Plates, Wildlife
462
+ Conservation Plates, Donate Life, Rodeo, Search and Rescue.
463
+ wydot_only_route: >-
464
+ WYDOT: "The following plates are issued through WYDOT-Motor Vehicles
465
+ Services only" — Pioneer, Street Rod and Custom Vehicle, Sample,
466
+ Novelty. Four programmes, no county treasurer in the loop.
467
+ embossed_plate_note: >-
468
+ WORTH RECORDING BECAUSE IT INVERTS THE USUAL DIRECTION OF TRAVEL.
469
+ "Embossed Plates" is a paid OPTION in Wyoming, not the default: W.S.
470
+ 31-3-102(a)(xxii) prices 'Optional embossed license plates' at $50.
471
+ Everywhere else in this wave embossing is the legacy manufacturing
472
+ method being retired; in Wyoming it is a premium product.
473
+ street_rod_and_custom: "W.S. 31-2-226 (street rods) and 31-2-227 (custom vehicles) are separate statutory registration classes, both excluded from the front-plate requirement by W.S. 31-2-205(a)(i)(A)(V)-(VI)."
474
+ ev_decal_note: "NOT A PLATE, BUT ADJACENT AND WORTH THE ROW: W.S. 31-3-102(a)(xxiii)-(xxiv) create an annual DECAL for all-electric vehicles ($100) and plug-in hybrids ($50), each of which 'shall include the bucking horse and rider emblem'. Wyoming charges an EV fee via a plate-adjacent credential rather than via a plate series."
475
+ official_list_url: "https://www.dot.state.wy.us/home/titles_plates_registration/specialty_plates.html"
476
+ prestige_plate_url: "https://www.dot.state.wy.us/home/titles_plates_registration.html"
477
+ region_encoding: "generally retained — Wyoming special series typically keep the county numerals at the left-hand end (see the disabled-plate text quoted in charset.notes), unlike Montana, which replaces the county number with a series-distinguishing design"
478
+ sources:
479
+ - "https://www.dot.state.wy.us/home/titles_plates_registration/specialty_plates.html # WYDOT's own enumerated specialty list, split into the nineteen county-treasurer-route programmes and the four WYDOT-only programmes, quoted above"
480
+ - "https://www.wyoleg.gov/statutes/compress/title31.pdf # the disabled-plate serial specification (county numerals, emblem, up to three numbers and letters, international symbol of access) and the 3 x 6 inch small-plate minimum; W.S. 31-3-102(a)(xxii)-(xxiv): the optional-embossed fee and the EV/PHEV decals bearing the emblem; W.S. 31-2-226/31-2-227: street rod and custom vehicle classes"
481
+ notes: >-
482
+ THE WYOMING SPECIALTY INDEX — one entry standing for the whole
483
+ programme, per PRD-PLATES §2.5. Wyoming's catalogue is SMALL (23 named
484
+ programmes against Washington's 49 statutory entries and Idaho's
485
+ "over 40"), ENUMERATED rather than counted, and split by issuing route
486
+ in a way that matters operationally: nineteen go through the county
487
+ treasurer, four do not. The two facts most worth carrying forward are
488
+ that Wyoming special series generally KEEP the county numerals — the
489
+ opposite of Montana, where MCA 61-3-332(8) replaces them — and that
490
+ embossing is a $50 premium option rather than the legacy default.
491
+
492
+ # ---------------------------------------------------------------------------
493
+ # Classes Wyoming separately serializes but which are NOT given series here.
494
+ # ---------------------------------------------------------------------------
495
+ unspecified_classes:
496
+ motorcycle:
497
+ statutory_hook: "W.S. 31-2-204(a): one plate for motorcycles and multipurpose vehicles. (b): 'shall not be less than three (3) inches wide and six (6) inches long' and 'shall contain appropriate identification which may be in lieu of the bucking horse and rider emblem'. (e): 'provisions for license plates for motorcycles shall apply to autocycles.' Excluded from the front plate by 31-2-205(a)(i)(A)(I)."
498
+ gap: "no motorcycle serial grammar stated in statute and none located from WYDOT; a series would have to invent one"
499
+ trailer:
500
+ statutory_hook: "W.S. 31-2-204(a): one plate for trailers including house trailers. (b): light utility trailers under 1,000 lb take the 3 x 6 inch minimum size and may substitute identification for the emblem. Excluded from the front plate by 31-2-205(a)(i)(A)(III)."
501
+ gap: "no serial grammar sourced"
502
+ dealer:
503
+ statutory_hook: "W.S. 31-2-204(a): vehicles operated with dealer plates receive ONE plate. (b): dealer plates 'shall contain appropriate identification which may be in lieu of the bucking horse and rider emblem'. W.S. 31-16-125 issues demo, full use and manufacturer plates, all excluded from the front-plate rule by 31-2-205(a)(i)(A)(IV)."
504
+ gap: "no dealer serial grammar sourced; note Wyoming distinguishes DEMO from FULL USE from MANUFACTURER plates, a three-way split worth modelling once sourced"
505
+ agricultural:
506
+ statutory_hook: "W.S. 31-2-204(b): 'Distinctive license farm stickers shall be issued by the county treasurer upon request for trucks and trailers used by any farmer or rancher ... Farm stickers shall bear the inscription \"Farm\".' A STICKER on a standard plate, not a plate series — recorded here so it is not mistaken for one."
507
+ gap: "n/a — this is correctly not a series; it is a sourced sticker legend"
508
+ personalized:
509
+ statutory_hook: "WYDOT calls these PRESTIGE PLATES and runs an online application; W.S. 31-3-102 prices them."
510
+ gap: "character cap, alphabet and content-refusal criteria not obtained"
511
+
512
+ # ---------------------------------------------------------------------------
513
+ # Dead ends and open items.
514
+ # ---------------------------------------------------------------------------
515
+ research_notes:
516
+ reachability:
517
+ - "wyoleg.gov publishes the statutes as per-title PDFs at /statutes/compress/title<NN>.pdf — Title 31 is 542 pages, 1.7 MB, and text-extracts cleanly with pdftotext -layout. THIS IS THE BEST STATUTE-ACCESS ROUTE FOUND IN THE ENTIRE NORTHWEST GROUP and should be pinned in the source appendix; it beats scraping any HTML statute site."
518
+ - "www.dot.state.wy.us serves plain HTML with no bot challenge; the county-prefix and specialty-plate pages both parse trivially. Its footer carries Privacy / Contact / Disclaimer links and NO copyright notice (measured, not assumed)."
519
+ open_items:
520
+ - "The Session Laws of Wyoming enactment behind W.S. 31-2-204(d) would settle whether the county numbering is the 1930s valuation ranking. Until then it is folklore."
521
+ - "W.S. 31-2-223 (antique), 31-2-226 (street rod) and 31-2-227 (custom vehicle) were cross-referenced but not read in full; each may carry its own design or eligibility text."
522
+ - "The Secretary of State's rules under W.S. 8-3-117 governing Bucking Horse and Rider licensing were not fetched. They are the document that would say whether any use is permitted without a licence — directly relevant to any future emblem-slot decision."
523
+ - "No Wyoming instrument stating plate COLOURS was located; the statute mandates contrast and reflectorization only."