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,619 @@
1
+ # plates/us-mt.yml — Montana (PRD-PLATES gate L2, northwest group).
2
+ #
3
+ # MONTANA IS THE BEST-SOURCED US STATE IN THIS GROUP, AND IT IS NOT CLOSE.
4
+ # MCA 61-3-332 is a single section that legislates, in terms: the plate
5
+ # material and finish, the state wordmark, the STATE-OUTLINE BORDER, two exact
6
+ # plate sizes in inches, the serial grammar, the county-number prefix and its
7
+ # separation mark, the replacement clock, the exempt-plate markings, and — in
8
+ # subsection (7) — THE ENTIRE 56-ROW COUNTY CODE TABLE, verbatim, in the
9
+ # statute itself. Florida's Chapter 320 is the pilot for statute-first
10
+ # sourcing; Montana out-specifies it. Almost nothing in this file is observed.
11
+ #
12
+ # THE REGION-ENCODING PRIZE. MCA 61-3-332(7) assigns every Montana county a
13
+ # number and the numbering is NOT alphabetical and NOT arbitrary: Silver Bow
14
+ # is 1, Cascade 2, Yellowstone 3, Missoula 4 — the 1930s population order,
15
+ # frozen in law ever since and now wildly out of date (Silver Bow/Butte was
16
+ # Montana's largest county in 1930 and is nowhere near it today). A Montana
17
+ # plate therefore encodes a NINETY-YEAR-OLD CENSUS RANKING, which is precisely
18
+ # the kind of decode fact PRD-PLATES §2.4 exists to carry. The table below is
19
+ # quoted from the statute, not from a collector site. NOTE THE FOLKLORE LINE
20
+ # CAREFULLY: the statute states the ASSIGNMENT; it does not state the
21
+ # RATIONALE. "Ordered by 1930 population" is commonly repeated and is recorded
22
+ # here as COMMONLY REPEATED, NOT STATED IN LAW.
23
+ #
24
+ # THE ONE THING MONTANA DOES NOT HAVE: a "previous base". MCA
25
+ # 61-3-332(3)(a)(i) provides that new plates "must be a standard license plate
26
+ # design first issued in 1989 or later". Montana does not retire bases; it
27
+ # accumulates them. Every standard design first issued from 1989 onward
28
+ # remains orderable today, in parallel, forever. So the L2 "one series back"
29
+ # requirement is INAPPLICABLE IN MONTANA'S OWN TERMS, and saying so with the
30
+ # citation is more accurate than inventing a superseded series. See
31
+ # `us-mt-standard.notes`.
32
+ jurisdiction: us-mt
33
+ authority:
34
+ name: Montana Motor Vehicle Division (MVD), Montana Department of Justice
35
+ url: "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0030/section_0320/0610-0030-0030-0320.html"
36
+ binding: vehicle
37
+ statute_edition: >-
38
+ Montana Code Annotated 2025, Title 61 (Motor Vehicles), Chapter 3, Parts 3
39
+ and 4, read 2026-08-02 from mca.legmt.gov. AUTHORITY URL CAVEAT: the MVD's
40
+ own estate (mvdmt.gov and dojmt.gov) returned HTTP 403 to every request from
41
+ this environment, so the `authority.url` above points at the STATUTE — which
42
+ is where Montana's plate facts actually live, and which is an edict of
43
+ government and therefore public domain. This is a deliberate choice, not an
44
+ oversight; see research_notes.
45
+
46
+ # ---------------------------------------------------------------------------
47
+ # artwork_risk — required per jurisdiction by PRD-PLATES §4/§7.1.
48
+ # ---------------------------------------------------------------------------
49
+ artwork_risk:
50
+ posture: split-standard-unresearched-specialty-adverse
51
+ basis: >-
52
+ MONTANA SPLITS, AND THE SPLIT IS SOURCED FROM STATUTE RATHER THAN INFERRED.
53
+ (1) THE STANDARD BASE — UNRESEARCHED. Montana appears NOWHERE in the
54
+ standing per-state copyright survey PRD-PLATES §4 works from, no
55
+ {{PD-MTGov}} tag exists on Wikimedia Commons, and no copyright notice was
56
+ found anywhere on mt.gov as fetched. So the default applies: a US state's
57
+ works are copyrighted unless that state says otherwise, and Montana has
58
+ not said. Recorded as UNRESEARCHED for the standard base rather than
59
+ guessed in either direction. What IS clean is the SPEC: MCA 61-3-332 is an
60
+ edict of government and public domain at every level, so the wordmark
61
+ rule, the state-outline border, the dimensions and the county table below
62
+ are all freely usable even if the rendered artwork is not.
63
+ (2) THE SPECIALTY TIER — AFFIRMATIVELY ADVERSE, ON THE STATE'S OWN
64
+ ADMISSION. MCA 61-3-475(1)(e)(iv)(C) requires a sponsoring organisation to
65
+ prove that its name, identifying phrase or graphic does not "infringe or
66
+ otherwise violate a trademark, trade name, service mark, copyright, or
67
+ other proprietary or property right", and 61-3-475(2) lets the department
68
+ demand a sworn statement that the organisation "is authorized to use the
69
+ name, identifying phrase, and graphic ... and that no infringement or
70
+ violation of any property right exists, together with an agreement to
71
+ defend and hold harmless the state of Montana". Montana therefore states
72
+ in law that specialty plate GRAPHICS ARE THIRD-PARTY PROPERTY and
73
+ contracts out of liability for them. No clearer legislative admission that
74
+ plate artwork is privately owned was found in any state in this group.
75
+ emblem_rule: >-
76
+ PRD-PLATES §3's placeholder default applies. Two Montana-specific notes.
77
+ First, the STATE-OUTLINE BORDER required by MCA 61-3-332(4)(a) is a
78
+ geographic outline — a fact, not an authored work — and is the single most
79
+ likely emblem-slot upgrade candidate in this group, but it is not upgraded
80
+ here because the artwork_risk posture for the base is unresearched and the
81
+ §3 default is binding until BOTH artwork_risk and the ledger clear.
82
+ Second, the BUFFALO SKULL used as the group separator on the current base
83
+ is a design element, is NOT part of the serial, and must never be treated
84
+ as a separator character (see `format.separator_note`).
85
+ photograph_caution: "Standard: a Commons CC BY-SA tag on a photograph of a Montana plate is the photographer's licence on the photograph, not on the design. Our renders are generated from the statute, so the obligation never attaches."
86
+ sources:
87
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0040/section_0750/0610-0030-0040-0750.html # MCA 61-3-475(1)(e)(iv)(C) and (2): the sponsor's non-infringement proof and the defend-and-hold-harmless agreement — Montana's own statement that specialty graphics are third-party property"
88
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0030/section_0320/0610-0030-0030-0320.html # MCA 61-3-332 — the design spec itself, an edict of government and public domain"
89
+ - "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR ONLY: Montana is NOT MENTIONED — a measured absence, recorded as unresearched rather than favourable"
90
+ - "https://commons.wikimedia.org/wiki/Commons:Copyright_rules_by_territory/United_States # LOCATOR ONLY: no Montana state PD template exists among those listed"
91
+
92
+ # ---------------------------------------------------------------------------
93
+ # The US standards chain. Montana is the group's counter-example on the
94
+ # replacement cycle: it legislated FIVE years, BELOW AAMVA's 7-10 band.
95
+ # ---------------------------------------------------------------------------
96
+ us_standards:
97
+ no_federal_mandate: true
98
+ chain: "SAE J686 -> AAMVA License Plate Standard Edition 3 (September 2025) -> voluntary state adoption."
99
+ aamva_edition_3:
100
+ dimensions_delegated: "AAMVA §3.1 delegates dimensions and bolt holes to SAE J686, whose text is paywalled and UNPINNED and is never quoted here. MONTANA DOES NOT NEED IT: MCA 61-3-332(4)(b)-(d) states both plate sizes in inches, in law."
101
+ character_layout: "AAMVA §2.2: characters at least 2.5 in high, spacing at least 0.25 in, stroke 0.2-0.4 in, 1.25 in clear of top and bottom. Montana legislates the RELATIVE rule instead: MCA 61-3-332(5), 'The dimensions of the numerals and letters must be determined by the department, and all county and registration numbers must be of equal height.'"
102
+ replacement_cycle: >-
103
+ AAMVA §1.1 recommends a cycle "not to exceed 7 to 10 years". MONTANA
104
+ LEGISLATED FIVE — below the bottom of the recommended band — and ten for
105
+ combat-disabled veterans. Set against Florida's legislated ten (the top
106
+ of the band) and Washington's no clock at all, the three states span the
107
+ entire space, which is the cleanest available proof that AAMVA's cycle
108
+ is recommendation and not requirement.
109
+ source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
110
+ folklore_caution: >-
111
+ The "1956 AMA standardization agreement" is COMMONLY REPEATED, UNSOURCED
112
+ (a `citation needed` since 2017, copied verbatim across articles). Montana
113
+ needs no part of it: MCA 61-3-332(4)(b) states 6 x 12 inches in law, and
114
+ (4)(c) states 4 x 7 inches for motorcycles and quadricycles.
115
+
116
+ # ---------------------------------------------------------------------------
117
+ # Display and issuance.
118
+ # ---------------------------------------------------------------------------
119
+ display_rules:
120
+ issuance: "MCA 61-3-331: 'The county treasurer or an authorized agent shall, at the time of issuing a registration receipt under 61-3-322, assign the motor vehicle, trailer, semitrailer, or pole trailer a distinctive license plate number and ... deliver to the applicant ... a set of two license plates or one license plate, each of which must bear the assigned distinctive number.' NOTE THE STRUCTURE: in Montana the COUNTY TREASURER assigns the number, not the state — which is why the county code is in the serial rather than on a sticker."
121
+ decal_placement: "MCA 61-3-332(2)(a): 'In years when standard license plates are not reissued for a vehicle, the department shall provide a registration decal that must be affixed to the rear license plate of the vehicle.' The decal is REAR-ONLY, which is a real asymmetry between the two plates of a Montana pair."
122
+ permanent_registration_marking: "MCA 61-3-332(2)(c): for a travel trailer, motorcycle, quadricycle, trailer, semitrailer or pole trailer permanently registered under 61-3-313(2), 'the department may use the word or an abbreviation for the word \"permanent\" on the plate in lieu of issuing a registration decal' — a legend that encodes registration status rather than identity."
123
+ mounting_gap: "NO MONTANA MOUNTING-POSITION STATUTE WAS LOCATED IN THIS PASS. MCA 61-3-331 and 61-3-332 govern assignment and design; the display-position rule (height, angle, obstruction) was not found in Part 3 and is a recorded gap."
124
+ sources:
125
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0030/section_0310/0610-0030-0030-0310.html # MCA 61-3-331: county-treasurer assignment, two plates or one, each bearing the assigned distinctive number"
126
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0030/section_0320/0610-0030-0030-0320.html # MCA 61-3-332(2): the rear-only registration decal, the permanent-registration decal, and the 'permanent' legend option"
127
+
128
+ series:
129
+
130
+ # =========================================================================
131
+ # THE STANDARD-ISSUE SERIES. County-number-prefixed, statute-specified.
132
+ # =========================================================================
133
+ - id: us-mt-standard
134
+ class: standard
135
+ categories: [car, van, truck, bus]
136
+ period: { start: 1989 }
137
+ period_evidence: statutory-date
138
+ matching: strict
139
+ format:
140
+ pattern: "99-9999L"
141
+ regex: '\A\d{1,2}[- ]?\d{4,5}[A-Z]\z'
142
+ regex_strict: '\A(?:[1-9]|[1-4]\d|5[0-6])[- ]?\d{4,5}[A-Z]\z'
143
+ regex_statutory: '\A\d{1,2}[- ]?[A-Z0-9]{1,6}\z'
144
+ charset:
145
+ notes: >-
146
+ MCA 61-3-332(5), verbatim: "The distinctive registration numbers for
147
+ standard license plates must begin with a number one or with a
148
+ letter-number combination, such as 'A 1' or 'AA 1', or any other
149
+ similar combination of letters and numbers. Except for special
150
+ license plates, collegiate license plates, generic specialty license
151
+ plates, fleet license plates, and standard license plates that are 4
152
+ inches wide and 7 inches in length, the distinctive registration
153
+ number or letter-number combination assigned to the motor vehicle
154
+ must appear on the plate preceded by the number of the county and
155
+ appearing in horizontal order on the same horizontal baseline. The
156
+ county number must be separated from the distinctive registration
157
+ number by a separation mark unless a letter-number combination is
158
+ used." So Montana law fixes THREE things — the county number goes
159
+ first, a separation mark divides it from the serial, and everything
160
+ is on one baseline at equal height — and delegates the serial's own
161
+ shape to the department. No letter exclusions are stated anywhere in
162
+ MCA 61-3-332.
163
+ letter_exclusions: "NONE STATED IN LAW. No excluded-letter list appears in MCA 61-3-332; none is invented here."
164
+ separator_note: >-
165
+ MCA 61-3-332(5) requires "a separation mark" and DOES NOT NAME A
166
+ GLYPH. That is a genuine gap in the authority's own text, and
167
+ PRD-PLATES §2.8 sanctions exactly this case: the separator position is
168
+ spelled as the separator-only class `[- ]`, never as a bare literal,
169
+ so a consumer deriving a separator-free twin can detect the position
170
+ mechanically. `pattern` shows the canonical printed form with a
171
+ hyphen. SEPARATELY AND IMPORTANTLY: the current base is reported to
172
+ print a BUFFALO SKULL device in the separator position. A skull is not
173
+ punctuation. Per plates/_meta/separators.yml's never_separator note, a
174
+ device between serial groups is a DESIGN ELEMENT carried in
175
+ design.emblem and is never deleted or matched as a separator.
176
+ tier_note: >-
177
+ `regex_strict` bounds the leading group to the 56 county numbers MCA
178
+ 61-3-332(7) actually assigns — the authority's own alphabet for that
179
+ position, which is what PRD-PLATES §2.7 reserves the strict twin for.
180
+ `regex` is the current issued arrangement (county number, separation
181
+ mark, four or five numerals, one trailing letter). `regex_statutory`
182
+ is the outer statutory bound: a county number, a separation mark, and
183
+ a department-determined combination of letters and numbers. Tier order
184
+ regex_strict subset-of regex subset-of regex_statutory holds by
185
+ construction.
186
+ progression: "MCA 61-3-332(6)(b) states the rule for EXEMPT plates explicitly — numbering 'must begin with number one and be numbered consecutively' within each county. For standard plates (5) states only that the number 'must begin with a number one or with a letter-number combination'; the department's actual progression was not sourced (recorded gap)."
187
+ design:
188
+ plate: { w: 12, h: 6, unit: in, w_mm: 304.8, h_mm: 152.4 }
189
+ plate_dimension_note: >-
190
+ STATUTORY, NOT CONVENTIONAL. MCA 61-3-332(4)(b), verbatim: "Plates for
191
+ semitrailers, travel trailers, pole trailers, trailers with a declared
192
+ weight of 6,000 pounds or more, and motor vehicles, other than
193
+ motorcycles and quadricycles, must be 6 inches wide and 12 inches in
194
+ length." Note the axis wording reads oddly, exactly as Florida's does
195
+ — "6 inches wide and 12 inches in length" describes the conventional
196
+ 12-across-by-6-tall American plate, and is recorded that way here.
197
+ material: "MCA 61-3-332(4)(a): 'All license plates must be metal and treated with a reflectorized background material according to specifications prescribed by the department.'"
198
+ background: { finish: retroreflective }
199
+ colour_note: >-
200
+ NO COLOUR IS IN THE STATUTE. MCA 61-3-332(4)(a) mandates a
201
+ reflectorized background and names no hue. The current base is
202
+ reported as a white serial on reflective blue with a white
203
+ state-shaped border; that is LOCATOR-GRADE and no hex is invented
204
+ here. Contrast Wyoming, which legislates "a marked contrast" without a
205
+ value, and Florida, which legislates neither.
206
+ legend_top: "MONTANA"
207
+ legend_rule: "MCA 61-3-332(4)(a), verbatim: 'The word \"Montana\" must be placed on each license plate and, except for license plates that are 4 inches wide and 7 inches in length, the outline of the state of Montana must be used as a distinctive border on each standard license plate.'"
208
+ border:
209
+ shape: state-outline
210
+ rendered: placeholder
211
+ statutory: true
212
+ note: >-
213
+ THE MOST UNUSUAL SOURCED DESIGN FACT IN THE GROUP. Montana does not
214
+ merely permit a state-shaped motif; it REQUIRES the state outline as
215
+ the plate's BORDER, by statute, on every standard plate except the
216
+ 4 x 7 inch sizes. This is a border constraint rather than a graphic
217
+ in a slot, and a render pipeline must model it as such: the outline
218
+ bounds the plate face, it does not sit inside it.
219
+ emblem: { present: true, rendered: placeholder, description: "buffalo skull device reported in the separator position on the current base — observed, not statutory, and NOT part of the serial" }
220
+ rear_differs: false
221
+ manufacture: "MCA 61-3-474(1)(b) has the department consult 'the department of corrections' on the most efficient plate-processing system — prison manufacture is contemplated in law for the generic specialty tier and by implication for the rest."
222
+ replacement_cycle:
223
+ years: 5
224
+ statutory_text: "MCA 61-3-332(3)(a)(ii)(A): 'Except as provided in subsection (3)(a)(ii)(B), license plates issued on or after January 1, 2010, must be replaced with new license plates if, upon renewal of registration under 61-3-312, the license plates are 5 or more years old or will become older than 5 years during the registration period. New license plates must be issued in accordance with the implementation schedule adopted by the department under 61-14-101.'"
225
+ veteran_exception: "MCA 61-3-332(3)(a)(ii)(B): 'License plates issued to a disabled veteran with a combat-related disability must be replaced with new license plates if, on renewal of registration under 61-3-312, the license plates are 10 or more years old or will become older than 10 years during the registration period.'"
226
+ number_retention: "MCA 61-3-332(3)(a)(iii): 'A vehicle owner may elect to keep the same license plate number from license plates issued before January 1, 2010, when replacement of those plates is required under this subsection.'"
227
+ exemptions: "MCA 61-3-332(3)(d): the replacement rule does NOT apply to a travel trailer, motorcycle, quadricycle, trailer, semitrailer or pole trailer at all. (3)(b): a vehicle registered for 13 to 24 months may display the design in effect at registration for the whole period. (3)(c): permanently registered light vehicles and motor homes may display the design in effect at registration for the whole permanent period — i.e. FOREVER."
228
+ note: >-
229
+ MONTANA LEGISLATED BELOW AAMVA'S FLOOR. AAMVA recommends a cycle not
230
+ exceeding 7 to 10 years; Montana chose 5. But read (3)(c) with it: a
231
+ permanently registered light vehicle keeps its design indefinitely, so
232
+ Montana simultaneously runs the group's shortest replacement clock and
233
+ an unbounded exemption from it. Any consumer inferring plate age from
234
+ the five-year rule will be wrong on every permanently registered
235
+ vehicle.
236
+ region_encoding:
237
+ mechanism: >-
238
+ THE COUNTY NUMBER IS THE FIRST GROUP OF THE SERIAL. MCA 61-3-332(5)
239
+ requires the distinctive registration number to "appear on the plate
240
+ preceded by the number of the county", separated by a separation mark.
241
+ The mapping is fixed in statute, not in a departmental list, and it
242
+ has not been renumbered since it was enacted — MCA 61-3-332(7) closes
243
+ with "Any new counties must be assigned numbers by the department as
244
+ they are formed, beginning with the number 57."
245
+ decode_evidence: statutory-verbatim
246
+ ordering_folklore: >-
247
+ COMMONLY REPEATED, NOT STATED IN LAW. The numbering is universally
248
+ explained as the counties' 1930 population rank (Silver Bow first,
249
+ Cascade second, Yellowstone third). MCA 61-3-332(7) states the
250
+ ASSIGNMENT and gives NO rationale, and its History line shows the
251
+ section originating in 1917 and being amended in 1933 — consistent
252
+ with the story but not evidence for it. Recorded as folklore pending a
253
+ Laws of Montana primary. THE STRUCTURAL POINT SURVIVES EITHER WAY: the
254
+ order is manifestly not alphabetical, so it encodes something
255
+ historical, and it is frozen — the ranking is roughly a century stale.
256
+ table:
257
+ 1: Silver Bow
258
+ 2: Cascade
259
+ 3: Yellowstone
260
+ 4: Missoula
261
+ 5: Lewis and Clark
262
+ 6: Gallatin
263
+ 7: Flathead
264
+ 8: Fergus
265
+ 9: Powder River
266
+ 10: Carbon
267
+ 11: Phillips
268
+ 12: Hill
269
+ 13: Ravalli
270
+ 14: Custer
271
+ 15: Lake
272
+ 16: Dawson
273
+ 17: Roosevelt
274
+ 18: Beaverhead
275
+ 19: Chouteau
276
+ 20: Valley
277
+ 21: Toole
278
+ 22: Big Horn
279
+ 23: Musselshell
280
+ 24: Blaine
281
+ 25: Madison
282
+ 26: Pondera
283
+ 27: Richland
284
+ 28: Powell
285
+ 29: Rosebud
286
+ 30: Deer Lodge
287
+ 31: Teton
288
+ 32: Stillwater
289
+ 33: Treasure
290
+ 34: Sheridan
291
+ 35: Sanders
292
+ 36: Judith Basin
293
+ 37: Daniels
294
+ 38: Glacier
295
+ 39: Fallon
296
+ 40: Sweet Grass
297
+ 41: McCone
298
+ 42: Carter
299
+ 43: Broadwater
300
+ 44: Wheatland
301
+ 45: Prairie
302
+ 46: Granite
303
+ 47: Meagher
304
+ 48: Liberty
305
+ 49: Park
306
+ 50: Garfield
307
+ 51: Jefferson
308
+ 52: Wibaux
309
+ 53: Golden Valley
310
+ 54: Mineral
311
+ 55: Petroleum
312
+ 56: Lincoln
313
+ table_note: "Quoted verbatim from MCA 61-3-332(7). 56 counties, numbers 1-56, no gaps, no reserved values. Kept inline rather than in plates/_decode/ because 56 rows is small enough to read in place and because the table's authority is the same statute as the rest of this series."
314
+ excluded_series: "MCA 61-3-332(5) exempts special, collegiate, generic specialty, fleet and 4 x 7 inch standard plates from the county-number rule; 61-3-332(8) confirms that for special plate series 'the county number must be replaced by a design that distinguishes each separate plate series'. So the ABSENCE of a county number on a Montana plate is itself information: it means the plate is not a full-size standard issue."
315
+ sources:
316
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0030/section_0320/0610-0030-0030-0320.html # MCA 61-3-332: (1) separate standard series and the dealer-distinguishability rule; (3)(a)(i) the 1989-or-later design floor; (3)(a)(ii) the 5-year and 10-year replacement clocks; (3)(a)(iii) number retention; (3)(b)-(d) the replacement exemptions; (4)(a) metal, reflectorized, the MONTANA wordmark and the state-outline border; (4)(b)-(d) the two statutory plate sizes; (5) the serial grammar, county-number prefix, separation mark and equal-height rule; (6) the exempt-plate markings; (7) the 56-row county table; (8) special series replace the county number with a distinguishing design"
317
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0030/section_0310/0610-0030-0030-0310.html # MCA 61-3-331: county-treasurer assignment of the distinctive number, and two plates or one"
318
+ - "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf # AAMVA Ed.3 §1.1 — the 7-to-10-year recommendation Montana legislated BELOW"
319
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Montana # LOCATOR ONLY (PRD-PLATES §4): the reported current colourway, the buffalo-skull separator device, and the reported per-era serial arrangements. None is asserted as sourced here."
320
+ notes: >-
321
+ MONTANA STANDARD ISSUE. `period.start: 1989` IS A REAL STATUTORY CLAIM,
322
+ not an instrument-edition upper bound: MCA 61-3-332(3)(a)(i) provides
323
+ that new plates "must be a standard license plate design first issued in
324
+ 1989 or later", so 1989 is the legislated floor of the currently
325
+ issuable standard design family. WHY THERE IS NO "ONE SERIES BACK" ENTRY
326
+ FOR MONTANA, and this is the file's most important structural finding:
327
+ Montana does not retire bases. Every standard design first issued from
328
+ 1989 onward remains orderable in parallel, indefinitely, and 61-3-332(3)
329
+ extends the same rule to collegiate, generic specialty, commemorative
330
+ centennial and military/veteran plates. A "previous base" in the sense
331
+ the L2 brief means — a design that stopped — DOES NOT EXIST IN MONTANA
332
+ LAW. Recording that with the citation is more accurate than minting a
333
+ superseded series from a collector table, and it is a genuinely
334
+ different jurisdiction shape from Oregon (one frozen base) or Washington
335
+ (serial base changes with no legal marker). Distinct from
336
+ us-mt-motorcycle in carrying the county-number prefix, which the 4 x 7
337
+ inch sizes are statutorily exempt from.
338
+
339
+ # =========================================================================
340
+ # CORE DISTINCT CLASSES. Montana separately serializes these AND states the
341
+ # difference in law. Where the statute gives a bound but not a grammar, the
342
+ # series is `recall-only` and the regex is the STATUTORY bound — which is
343
+ # what recall-only means, not a hedge.
344
+ # =========================================================================
345
+ - id: us-mt-motorcycle
346
+ class: motorcycle
347
+ categories: [motorcycle]
348
+ period: { start: 1989 }
349
+ period_evidence: statutory-date
350
+ matching: recall-only
351
+ format:
352
+ pattern: "999999"
353
+ regex: '\A[A-Z0-9]+\z'
354
+ charset:
355
+ notes: >-
356
+ MCA 61-3-332(5) EXPRESSLY EXEMPTS 4 x 7 inch standard plates from
357
+ the county-number rule, so a Montana motorcycle plate carries NO
358
+ county prefix — the opposite of what a reader would infer from the
359
+ passenger plate, and the opposite of what secondary sources report.
360
+ MAJORITY IS NOT AUTHORITY (PRD-PLATES §5.3): the encyclopedia record
361
+ shows county-prefixed motorcycle serials, the statute exempts them,
362
+ and the statute governs. Beyond the exemption the statute states
363
+ only that a distinctive number "must begin with a number one or with
364
+ a letter-number combination", with NO WIDTH — hence the unbounded
365
+ quantifier, which makes no width claim at all.
366
+ design:
367
+ plate: { w: 7, h: 4, unit: in, w_mm: 177.8, h_mm: 101.6 }
368
+ plate_dimension_note: "STATUTORY. MCA 61-3-332(4)(c), verbatim: 'Plates for motorcycles and quadricycles must be 4 inches wide and 7 inches in length.'"
369
+ material: "MCA 61-3-332(4)(a): metal, reflectorized background per departmental specification"
370
+ background: { finish: retroreflective }
371
+ legend_top: "MONTANA"
372
+ legend_rule: "MCA 61-3-332(4)(a): the word 'Montana' is required on EVERY plate. The STATE-OUTLINE BORDER is NOT — it is expressly excepted for 4 x 7 inch plates. So Montana's smallest plates are the only standard plates without the outline."
373
+ border: { shape: none, statutory: true, note: "excepted by MCA 61-3-332(4)(a) for 4 x 7 inch plates" }
374
+ emblem: { present: true, rendered: placeholder }
375
+ region_encoding: "none — statutorily exempted by MCA 61-3-332(5). The ABSENCE of a county number is the class signal."
376
+ sources:
377
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0030/section_0320/0610-0030-0030-0320.html # MCA 61-3-332(4)(a) the state-outline exception for 4 x 7 in plates; (4)(c) the 4 x 7 in motorcycle and quadricycle size; (5) the county-number exemption for 4 x 7 in standard plates; (3)(d) exemption from the 5-year replacement clock"
378
+ notes: >-
379
+ MOTORCYCLE (and QUADRICYCLE — Montana registers quadricycles as their
380
+ own vehicle kind throughout Title 61 and gives them the motorcycle
381
+ plate). `recall-only` is exact here rather than defensive: the regex is
382
+ the STATUTORY outer bound, because the statute states an alphabet and no
383
+ width, and a match therefore claims only that the string is a
384
+ well-formed Montana serial of unknown class. Distinct from
385
+ us-mt-standard in three sourced ways: size, no county prefix, no state
386
+ outline. Also exempt from the 5-year replacement clock by 61-3-332(3)(d).
387
+
388
+ - id: us-mt-trailer
389
+ class: trailer
390
+ categories: [trailer]
391
+ period: { start: 1989 }
392
+ period_evidence: statutory-date
393
+ matching: recall-only
394
+ format:
395
+ pattern: "999999"
396
+ regex: '\A[A-Z0-9]+\z'
397
+ charset: { notes: "as for the standard series: MCA 61-3-332(5) states an alphabet and no width. Whether a given Montana trailer plate carries the county prefix depends on its SIZE, not its class — see design." }
398
+ design:
399
+ plate_size_rule: >-
400
+ MONTANA SIZES TRAILER PLATES BY DECLARED WEIGHT, WHICH IS UNUSUAL AND
401
+ HAS A DIRECT FORMAT CONSEQUENCE. MCA 61-3-332(4)(b): semitrailers,
402
+ travel trailers, pole trailers and trailers with a declared weight of
403
+ 6,000 pounds or more get the 6 x 12 inch plate. (4)(d): 'The
404
+ department shall issue plates that are 4 inches wide and 7 inches in
405
+ length for trailers with a declared weight of less than 6,000 pounds
406
+ unless a person registering a trailer with a declared weight of less
407
+ than 6,000 pounds requests plates that are 6 inches wide and 12 inches
408
+ in length. A person registering a trailer shall pay all applicable
409
+ fees for the plates chosen.' Because 61-3-332(5) exempts 4 x 7 inch
410
+ plates from the county-number rule, A LIGHT MONTANA TRAILER'S PLATE
411
+ FORMAT DEPENDS ON A SIZE THE OWNER MAY ELECT AND PAY FOR. That is a
412
+ real modelling wrinkle: the same trailer can lawfully carry a
413
+ county-prefixed serial or an unprefixed one depending on which plate
414
+ its owner bought.
415
+ plate: { w: 12, h: 6, unit: in }
416
+ plate_variant: { w: 7, h: 4, unit: in, applies_to: "trailers with declared weight under 6,000 lb, unless the 6 x 12 in plate is requested and paid for" }
417
+ material: "MCA 61-3-332(4)(a): metal, reflectorized"
418
+ legend_top: "MONTANA"
419
+ border: { shape: state-outline, statutory: true, note: "required on the 6 x 12 in plate; excepted on the 4 x 7 in plate" }
420
+ emblem: { present: true, rendered: placeholder }
421
+ region_encoding: "conditional — present on the 6 x 12 in plate, statutorily absent on the 4 x 7 in plate (MCA 61-3-332(5))"
422
+ sources:
423
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0030/section_0320/0610-0030-0030-0320.html # MCA 61-3-332(4)(b) and (4)(d): the 6,000 lb declared-weight size split and the owner's paid election; (5) the county-number exemption that rides on the size; (2)(c) the 'permanent' legend option; (3)(d) exemption from the 5-year clock"
424
+ notes: >-
425
+ TRAILER. Kept as its own series because Montana gives it a size rule, a
426
+ county-prefix consequence and a permanent-registration legend that the
427
+ passenger plate does not have. The declared-weight size split is the
428
+ single best example in this group of a US state making the PLATE FORMAT
429
+ depend on a vehicle attribute plus an owner election.
430
+
431
+ - id: us-mt-government-exempt
432
+ class: government
433
+ categories: [car, van, truck, bus, trailer]
434
+ period: { start: 1989 }
435
+ period_evidence: statutory-date
436
+ matching: strict
437
+ format:
438
+ pattern: "999"
439
+ regex: '\A\d+\z'
440
+ charset:
441
+ notes: >-
442
+ MCA 61-3-332(6)(b), verbatim: 'Distinctive registration numbers for
443
+ plates assigned to motor vehicles, trailers, semitrailers, or pole
444
+ trailers of each of the counties in the state and those of the
445
+ municipalities and special districts that obtain plates within each
446
+ county must begin with number one and be numbered consecutively.' A
447
+ purely numeric series with a stated origin and NO STATED WIDTH —
448
+ hence the unbounded quantifier, which makes no width claim.
449
+ progression: "strictly sequential from 1, restarting within each county"
450
+ design:
451
+ plate: { w: 12, h: 6, unit: in }
452
+ material: "MCA 61-3-332(4)(a): metal, reflectorized"
453
+ legend_top: "MONTANA"
454
+ legend_marking: >-
455
+ TWO DIFFERENT MARKINGS FOR TWO DIFFERENT OWNERS, both statutory.
456
+ MCA 61-3-332(6)(a) for STATE-owned vehicles: 'the department may
457
+ designate the prefix number for the various state departments. All
458
+ numbered plates issued to state departments must bear the words "State
459
+ Owned", and a year number may not be indicated on the plates because
460
+ these numbered plates are of a permanent nature'. MCA 61-3-332(6)(b)
461
+ for COUNTY, MUNICIPAL and SPECIAL-DISTRICT vehicles (and for civil air
462
+ patrol vehicles on loan from the United States or the state): 'there
463
+ must be placed on the standard license plates assigned, in a position
464
+ that the department may designate, the letter "X" or the word
465
+ "EXEMPT"'.
466
+ border: { shape: state-outline, statutory: true }
467
+ emblem: { present: true, rendered: placeholder }
468
+ no_year: "MCA 61-3-332(6)(a) and (6)(b) both provide that a year number may not be displayed, because the plates are permanent and are replaced only when their physical condition requires it."
469
+ region_encoding: >-
470
+ A DIFFERENT MECHANISM FROM THE STANDARD SERIES, AND THE DISTINCTION
471
+ MATTERS. State-department plates carry a DEPARTMENT prefix number the
472
+ department designates (61-3-332(6)(a)) — an agency code, not a county
473
+ code. County/municipal/special-district plates are numbered
474
+ consecutively from 1 WITHIN EACH COUNTY (61-3-332(6)(b)) — so the county
475
+ is implied by the issuing county's sequence rather than encoded in the
476
+ serial. Neither is the 61-3-332(7) county-number prefix.
477
+ sources:
478
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0030/section_0320/0610-0030-0030-0320.html # MCA 61-3-332(6)(a): the 'State Owned' legend, department prefix numbers, permanent nature and no year number; (6)(b): the 'X' or 'EXEMPT' marking, the per-county consecutive numbering from one, the civil air patrol case, and permanence"
479
+ notes: >-
480
+ GOVERNMENT / EXEMPT. Among the best-specified government plate rules
481
+ found in any US state at this gate: Montana legislates the legend, the
482
+ numbering origin, the numbering scope (per county), the prohibition on a
483
+ year number, and the replacement trigger (physical condition only).
484
+ Distinct from us-mt-standard in format, legend, region encoding and
485
+ replacement rule — four independent grounds under PRD-PLATES §2.3.
486
+
487
+ # =========================================================================
488
+ # SPECIALTY — THE PROGRAM INDEX, per PRD-PLATES §2.5.
489
+ # =========================================================================
490
+ - id: us-mt-specialty-index
491
+ class: specialty
492
+ categories: [car, van, truck, motorcycle, trailer]
493
+ period: { start: 1989 }
494
+ period_evidence: statutory-date
495
+ matching: recall-only
496
+ format:
497
+ pattern: "999999"
498
+ regex: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
499
+ charset:
500
+ notes: >-
501
+ MCA 61-3-474(1)(c) requires the department to 'use a numbering
502
+ system for generic specialty license plates that is distinctive from
503
+ the numbering system required under 61-3-332 or used for collegiate
504
+ license plates', and 61-3-332(8) requires that in each special
505
+ series 'the county number must be replaced by a design that
506
+ distinguishes each separate plate series'. So Montana specialty
507
+ serials are BY STATUTE unlike standard serials and unlike each
508
+ other. No per-programme grammar was sourced (individual specialty
509
+ specs are L4), so the index carries a deliberately wide union and is
510
+ `recall-only`.
511
+ design:
512
+ plate: { w: 12, h: 6, unit: in }
513
+ background: { finish: retroreflective }
514
+ design_authority: "MCA 61-3-474(1)(a): 'The department shall ... design the background and general format of generic specialty license plates, including ensuring the readability of a generic specialty license plate design.' The SPONSOR supplies the name, phrase and graphic; the DEPARTMENT owns the background and format."
515
+ approval_rule: "MCA 61-3-474(2): 'All sponsor names, identifying phrases, and graphics intended for use on generic specialty license plates must be approved by the department prior to the manufacture of the plates.'"
516
+ emblem: { present: true, rendered: placeholder }
517
+ program_index:
518
+ tiers: ["special license plates (legislatively approved, each its own numbered series)", "collegiate license plates (MCA 61-3-461 to 61-3-468)", "generic specialty license plates (the Montana Generic Specialty License Plate Act, MCA 61-3-472 to 61-3-481)", "fleet license plates (MCA 61-3-711 to 61-3-733)"]
519
+ count_official: unstated-and-request-only
520
+ count_official_note: >-
521
+ MONTANA PUBLISHES NO COUNT AND, BY STATUTE, PUBLISHES NO LIST EITHER —
522
+ it publishes a list ON REQUEST. MCA 61-3-474(4), verbatim: 'The
523
+ department shall maintain a list of the sponsors that have been
524
+ approved to promote the sale and issuance of generic specialty license
525
+ plates, the initial distribution date for sale of each sponsored
526
+ generic specialty license plate, and the donation fee established by
527
+ the sponsor for each sponsored generic specialty license plate. The
528
+ department shall, upon request, make copies of this list available to
529
+ interested members of the public.' That is a public-records duty, not
530
+ a publication duty. A count therefore requires a records request, and
531
+ the ONE INTERESTING CONSEQUENCE is that the statutory list carries the
532
+ INITIAL DISTRIBUTION DATE per programme — i.e. Montana's own list
533
+ would supply per-programme period data that no enthusiast source has.
534
+ Flagged as the highest-value follow-up in this file.
535
+ churn_rule: >-
536
+ MCA 61-3-474(5) obliges the department to REVOKE a sponsorship if
537
+ fewer than 400 sets have been sold or renewed within 3 years of
538
+ initial distribution, or if at any time after 3 years fewer than 400
539
+ sets carry a current registration, or if the sponsor stops qualifying.
540
+ 61-3-474(6): on revocation, issuance and sale terminate, existing
541
+ holders may run their plates until the NEXT RENEWAL, and the
542
+ department may not issue replacements or duplicates. So Montana's
543
+ catalogue self-prunes at a numeric threshold — the exact figure
544
+ Florida's equivalent duty left unextracted in the L0 pass is HERE,
545
+ and it is 400.
546
+ sponsor_gates: >-
547
+ MCA 61-3-475(1): a sponsor must be a 501(c)(3) that has held the
548
+ status at least a year; its primary purpose must be community service
549
+ through programmes promoting public health, education or general
550
+ welfare (military veterans' organisations excepted); it must be a
551
+ Montana entity with a Montana address, a Montana bank account and a
552
+ listed Montana telephone number; and at least 75% of donation fees
553
+ must be spent in Montana. (4): an organisation may sponsor only ONE
554
+ design at a time, and may apply for a new one only after four years,
555
+ at which point the old design is discontinued from the initial
556
+ distribution date of the new one.
557
+ content_rules: "MCA 61-3-475(1)(e)(iv): the name, phrase or graphic must not invoke 'connotations offensive to good taste and decency', must not 'promote, advertise, or endorse a product, brand, or service provided for sale', must not infringe third-party rights (see artwork_risk), and must not obscure the plate letters or numbers."
558
+ generic_specialty_act_url: "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0040/section_0720/0610-0030-0040-0720.html"
559
+ collegiate_note: >-
560
+ MCA 61-3-461 through 61-3-468 are the collegiate plate sections. They
561
+ were CROSS-REFERENCED FROM 61-3-332 BUT NOT READ in this pass, so no
562
+ URL is pinned for them — the mca.legmt.gov section path is derivable
563
+ (61-3-4NN maps to part_0040/section_0<NN>0) but a derived URL is not a
564
+ fetched one and is not recorded as a source. Recorded gap.
565
+ repealed_section_note: >-
566
+ MCA 61-3-473 was fetched and returns "Repealed. Sec. 32, Ch. 395, L.
567
+ 2025." The Generic Specialty License Plate Act was amended in the 2025
568
+ session; anyone re-reading 61-3-472 through 61-3-481 should expect
569
+ further 2025 movement and should not assume a stale secondary
570
+ description of the programme still holds.
571
+ region_encoding: "none — MCA 61-3-332(8) replaces the county number with a series-distinguishing design"
572
+ sources:
573
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0040/section_0740/0610-0030-0040-0740.html # MCA 61-3-474: (1)(a) departmental design of background and general format; (1)(b) corrections-department consultation on manufacture; (1)(c) the distinctive numbering requirement; (2) prior approval of names, phrases and graphics; (4) the request-only sponsor list with initial distribution dates and donation fees; (5) the 400-set revocation thresholds; (6) the run-until-renewal grace and the replacement bar"
574
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0040/section_0750/0610-0030-0040-0750.html # MCA 61-3-475: sponsor qualification gates, the content rules including the non-infringement requirement, the hold-harmless agreement, and the one-design-per-sponsor / four-year rule"
575
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0040/section_0720/0610-0030-0040-0720.html # MCA 61-3-472: 'Sections 61-3-472 through 61-3-481 may be cited as the \"Montana Generic Specialty License Plate Act\"'"
576
+ - "https://mca.legmt.gov/bills/mca/title_0610/chapter_0030/part_0030/section_0320/0610-0030-0030-0320.html # MCA 61-3-332(8): each special plate series is separately numbered and the county number is replaced by a series-distinguishing design"
577
+ notes: >-
578
+ THE MONTANA SPECIALTY INDEX — one entry standing for four statutory
579
+ tiers, which is what PRD-PLATES §2.5 asks for at this gate. Three things
580
+ worth carrying forward. First, the count is not merely unpublished; MCA
581
+ 61-3-474(4) makes the list a RECORDS-REQUEST artefact by design, so the
582
+ honest index value is "unstated and request-only" with the statute
583
+ quoted. Second, that same statutory list carries INITIAL DISTRIBUTION
584
+ DATES per programme — Montana would hand over per-programme period data
585
+ on request, which no competitor has and which is worth a records
586
+ request before L4. Third, the churn threshold is a hard number, 400
587
+ sets, with a stated grace period, so this index is a moving target in a
588
+ precisely specified way.
589
+
590
+ # ---------------------------------------------------------------------------
591
+ # Classes Montana separately serializes but which are NOT given series here.
592
+ # ---------------------------------------------------------------------------
593
+ unspecified_classes:
594
+ dealer:
595
+ statutory_hook: "MCA 61-3-332(1): 'Standard license plates issued to licensed vehicle dealers must be readily distinguishable from license plates issued to vehicles owned by other persons.' The duty and the distinguishability requirement are sourced."
596
+ gap: "the department's actual dealer marking and serial grammar were not located (MVD estate 403-blocked)"
597
+ temporary:
598
+ statutory_hook: "MCA 61-3-479 is cross-referenced from 61-3-332(2)(a) as an exception to the standard-plate rule; the section itself was not read."
599
+ gap: "not obtained"
600
+ personalized:
601
+ statutory_hook: "Montana runs personalized plates through the MVD; no MCA section was read for them in this pass."
602
+ gap: "character cap, alphabet and content-refusal criteria all unobtained"
603
+ disability:
604
+ statutory_hook: "MCA 61-3-332(9): a resident eligible for a disability parking permit under 49-4-301 may, and a low-speed-restricted licensee operating a low-speed electric vehicle or golf cart under 61-5-122 must, be issued 'a disability license plate with a design or decal bearing a representation of a wheelchair'. Note 61-3-332(3)(a)(i) treats wheelchair-design plates as STANDARD plates for the design-vintage rule."
605
+ gap: "no serial grammar; also note _meta/classes.yml carries no `disability` value, so a vocabulary PR would be needed before this could become a series"
606
+
607
+ # ---------------------------------------------------------------------------
608
+ # Dead ends and open items.
609
+ # ---------------------------------------------------------------------------
610
+ research_notes:
611
+ reachability:
612
+ - "leg.mt.gov/bills/mca/... 301-redirects twice, to archive.legmt.gov and then to mca.legmt.gov. Pin the FINAL host: mca.legmt.gov. The pages carry a heavy anti-bot JavaScript preamble that must be stripped before parsing, but the statutory text is fully present in the HTML."
613
+ - "mvdmt.gov and dojmt.gov: HTTP 403 to every request from this environment, including with a browser user agent. No Wayback capture exists for mvdmt.gov at all. Montana's AGENCY estate is therefore entirely unread in this pass — which is survivable only because MCA 61-3-332 carries so much of the spec."
614
+ - "plates.mt.gov, app.mt.gov/plates, svc.mt.gov/dojmvd/platesearch: all dead (connection failure or 404)."
615
+ open_items:
616
+ - "MCA 61-3-474(4) records request for the generic specialty sponsor list — it carries per-programme INITIAL DISTRIBUTION DATES and donation fees. Highest-value follow-up in this file."
617
+ - "No Montana plate DISPLAY-POSITION statute was located; Part 3 covers assignment and design only."
618
+ - "The current base's colourway and the buffalo-skull separator device are locator-grade; an MVD instrument would upgrade them."
619
+ - "MCA 61-3-332(7)'s numbering rationale (the 1930-population story) needs a Laws of Montana primary before it can be stated as anything but folklore."