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,483 @@
1
+ # plates/us-ne.yml — Nebraska (PRD-PLATES gate L2, group midwest-b).
2
+ #
3
+ # NEBRASKA IS THE MOST STRUCTURALLY INTERESTING STATE IN THIS GROUP, and the
4
+ # reason is that it runs TWO INCOMPATIBLE SERIAL SYSTEMS SIMULTANEOUSLY, split
5
+ # geographically, with a sourced boundary between them:
6
+ #
7
+ # * 90 counties issue COUNTY-DESIGNATION plates — a county prefix number, a
8
+ # hyphen, then the serial (the 1922 system, still running).
9
+ # * Douglas (1), Lancaster (2) and Sarpy (59) — the three most populous —
10
+ # converted to ALPHA/NUMERIC plates, `ABC 123`, as does the Department.
11
+ #
12
+ # That is not a historical footnote; it is live, and the DMV polices the seam.
13
+ # The registration manual forbids a message plate spelling `ABC 123` ANYWHERE in
14
+ # the state, "regardless of spacing", precisely because that shape is reserved to
15
+ # the alpha/numeric counties and the Department. A parser that treats Nebraska as
16
+ # one grammar will be wrong for 90 counties or for 3.
17
+ #
18
+ # THE COUNTY NUMBERS ARE NOT ARBITRARY AND THEIR ORIGIN IS SOURCED. The DMV's own
19
+ # history page states that in 1922 the Department of Public Works assigned each
20
+ # county a number BY ITS THEN-REGISTERED VEHICLE COUNT — Douglas most, hence 1;
21
+ # Lancaster second, hence 2. So a Nebraska county prefix is a frozen 1922
22
+ # population-proxy ranking, still printed on plates today, and Geoguessr-grade
23
+ # decode data of a kind almost no other state offers.
24
+ #
25
+ # SOURCING NOTE: Nebraska's legislature site (nebraskalegislature.gov) was
26
+ # UNREACHABLE for this pass — connection timeouts on every attempt, via two
27
+ # clients. So §60-3,100 and its neighbours are cited here ONLY as they are
28
+ # quoted by the DMV's own documents, never as though their text had been read.
29
+ # What saves the entry is that Nebraska's DMV publishes unusually good primary
30
+ # documents: a dated series catalogue, a 17,000-line county registration manual,
31
+ # and an NLETS plate-type-code table with per-type FORMATS. Those are the sources.
32
+ jurisdiction: us-ne
33
+ authority:
34
+ name: Nebraska Department of Motor Vehicles (Nebraska DMV), Driver and Vehicle Records / Vehicle Title and Registration
35
+ url: "https://dmv.nebraska.gov/dvr/license-plates"
36
+ binding: vehicle
37
+ statute_edition: "Nebraska Revised Statutes Chapter 60 as CITED BY the Nebraska DMV's own 2023-series catalogue, registration manual and specialty-plate tables. THE STATUTE TEXT ITSELF WAS NOT READ: nebraskalegislature.gov timed out on every request in this pass (recorded gap). No section is quoted verbatim below."
38
+
39
+ # ---------------------------------------------------------------------------
40
+ # artwork_risk — required per jurisdiction by PRD-PLATES §4.
41
+ # ---------------------------------------------------------------------------
42
+ artwork_risk:
43
+ posture: unresearched
44
+ basis: >-
45
+ NEBRASKA WAS NOT LOCATED IN ANY COPYRIGHT SURVEY READ FOR THIS PASS. The Wikipedia
46
+ survey of subnational-government copyright status carries per-state sections for
47
+ seventeen states and NO section for Nebraska; no {{PD-NEGov}} tag was found on
48
+ Commons. The dossier's default therefore governs: 17 U.S.C. § 105 does not reach
49
+ the states, so a Nebraska plate design is presumed COPYRIGHTED unless Nebraska says
50
+ otherwise, and Nebraska has not been shown to say otherwise. Recorded as
51
+ unresearched rather than as adverse, because absence of a fetched source is weak
52
+ evidence in either direction.
53
+ edict_carve_out: >-
54
+ Nebraska is the WEAKEST edict carve-out in group midwest-b, and the reason is the
55
+ sourcing gap above: because the Revised Statutes could not be reached, this file
56
+ rests on DMV publications rather than on statutory text. Agency manuals are
57
+ government works but they are NOT edicts of government in the sense that makes
58
+ statutes and administrative codes uncopyrightable. Facts in them remain
59
+ uncopyrightable — which is the ground this file actually stands on — but their TEXT
60
+ is not free to reproduce, and none is reproduced at length here.
61
+ emblem_rule: >-
62
+ PRD-PLATES §3's placeholder default applies to every Nebraska plate graphic,
63
+ including the Husker mark, which carries a further layer: it is a UNIVERSITY mark,
64
+ plausibly trademarked and licensed to the state's program rather than owned by it.
65
+ Nothing about it is cleared. Render `emblem: {present: true, rendered: placeholder}`.
66
+ State-seal misuse statutes are unresearched for Nebraska.
67
+ sources:
68
+ - "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR ONLY (PRD-PLATES §4): read to establish that Nebraska has NO section in the survey — a negative result, recorded as such"
69
+
70
+ us_standards:
71
+ no_federal_mandate: true
72
+ chain: "SAE J686 -> AAMVA License Plate Standard Edition 3 (September 2025) -> voluntary state adoption. AAMVA has no enforcement power; its declarative present is RECOMMENDED PRACTICE."
73
+ dimensions_delegated: "AAMVA §3.1 sends dimensions and bolt holes to SAE J686, whose text is PAYWALLED and UNPINNED. No J686 dimension is quoted anywhere in this file."
74
+ geometry_available: "AAMVA §2.1 (jurisdiction name top-centre between the bolt holes, >=0.25 in above the number, >=0.125 in from the top edge, characters 0.75-1.0 in) and §2.2 (characters >=2.5 in high, >=0.25 in apart, stroke 0.2-0.4 in, >=1.25 in clear of top and bottom)."
75
+ retroreflectivity: "AAMVA §3.3: legible day and night from at least 75 feet; ASTM D4956-19 and ISO 7591:1982 clause 3; entrance angle 0.2 deg, observation angle -4 deg, minimum 45 cd/lx/m^2."
76
+ replacement_cycle_recommendation: >-
77
+ AAMVA §1.1 recommends a cycle 'not to exceed 7 to 10 years'. NEBRASKA SITS INSIDE
78
+ THAT RANGE AND IS THE ONLY STATE IN THIS GROUP WHOSE CYCLE CAN BE READ STRAIGHT OFF
79
+ ITS OWN DOCUMENT TITLES: the DMV catalogues are headed '2017-2023 License Plates'
80
+ and '2023-2029 License Plates', i.e. a SIX-YEAR issue cycle, comfortably tighter
81
+ than AAMVA's ceiling. That is a cycle evidenced by the agency's own publication
82
+ practice rather than by a statute this pass could reach.
83
+ source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
84
+ folklore_caution: "The '1956 AMA standardization agreement' is UNCITED in its Wikipedia source (a `citation needed` since 2017, copied across articles). Recorded as COMMONLY REPEATED, UNSOURCED. This file makes no Nebraska plate-dimension claim (recorded gap)."
85
+
86
+ display_rules:
87
+ default: "TWO plates for passenger motor vehicles, per the plate counts printed against each type in the DMV's 2023-series catalogue and registration manual ('2 Plates')."
88
+ single_plate: "ONE plate for motorcycles, autocycles, minitrucks, trailers, cabin trailers, semitrailers and mobile homes, per the same catalogue ('1 Plate')."
89
+ front_plate_decal_option: >-
90
+ NEBRASKA'S GENUINE ODDITY, AND IT IS DATED. Per the DMV's history page: 'Beginning in
91
+ 2017 owners of passenger vehicles not manufactured or equipped with a front license
92
+ plate bracket could opt to purchase a single plate decal to be displayed on the
93
+ driver side of the windshield in lieu of a front plate. Initially, the fee for the
94
+ purchase was $100.60 annually; effective September 1, 2019 the annual fee was reduced
95
+ to $50.60.' A paid WINDSCREEN DECAL standing in for a front plate is a display regime
96
+ no other state in this group has, and it means a Nebraska vehicle lawfully showing one
97
+ plate may still be a two-plate registration.
98
+ historical_plate_count: "Per the DMV history page: 'From 1903 to 1920 only a single plate was issued for each vehicle. In 1921 two plates were issued for each vehicle.'"
99
+ sources:
100
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/plates/2023_Series_Plates.pdf # Nebraska DMV, '2023-2029 License Plates', updated August 2023: per-type plate counts (2 Plates / 1 Plate) and the vehicle classes each type serves"
101
+ - "https://dmv.nebraska.gov/dvr/history-license-plates # Nebraska DMV history: the 2017 front-plate decal option and its $100.60 -> $50.60 fee change effective 1 September 2019; single plate 1903-1920, two plates from 1921"
102
+
103
+ series:
104
+
105
+ # =========================================================================
106
+ # STANDARD, SYSTEM A — the ALPHA/NUMERIC counties. This is the only Nebraska
107
+ # arrangement stated in so many words by an official document.
108
+ # =========================================================================
109
+ - id: us-ne-standard-alphanumeric-2023
110
+ class: standard
111
+ categories: [car, van, truck, bus]
112
+ period: { start: 2023 }
113
+ period_evidence: agency-series-catalogue
114
+ matching: strict
115
+ format:
116
+ pattern: "LLL 999"
117
+ regex: '\A[A-Z]{3} ?\d{3}\z'
118
+ charset:
119
+ notes: >-
120
+ THE ARRANGEMENT IS SOURCED BY A PROHIBITION, which is an unusual and rather
121
+ strong form of evidence. The DMV registration manual tells county officials that
122
+ a message plate cannot be issued in this shape: 'Due to the issuance of
123
+ alpha/numeric plates by Douglas, Lancaster and Sarpy counties and the
124
+ Department, messages containing three alpha followed by three numeric
125
+ characters (ABC 123) cannot be processed, regardless of spacing.' The
126
+ arrangement is therefore three letters then three numerals, and it is RESERVED
127
+ state-wide. Whether I/O/Q are skipped was NOT established (recorded gap).
128
+ pattern_note: >-
129
+ 'regardless of spacing' in the source is why the separator is optional in the
130
+ regex: the DMV treats `ABC123` and `ABC 123` as the same reserved shape, which is
131
+ exactly the separator-forgiving equivalence PRD-PLATES §2.6 exists to make sound.
132
+ progression: "not established (recorded gap)"
133
+ design:
134
+ graphic: { present: true, rendered: placeholder, description: "the 2023-series Nebraska base graphic; the DMV catalogue carries designs as raster images and describes none of them in text" }
135
+ emblem: { present: true, rendered: placeholder }
136
+ colour_note: >-
137
+ NO HEX IS RECORDED. The Nebraska DMV's series catalogue is a picture book: it
138
+ shows every plate and describes no colour in words, and no Nebraska colour
139
+ specification in statute or administrative code was reached in this pass. Rather
140
+ than eyedrop a PDF raster and present the result as a fact, both colours are left
141
+ absent and recorded as a gap.
142
+ issuing_counties: "Douglas (county designation 1), Lancaster (2) and Sarpy (59) — the three most populous — plus the Department itself"
143
+ region_encoding: >-
144
+ NONE IN THE SERIAL, and that is the point of the conversion: an alpha/numeric
145
+ Nebraska plate has dropped the county prefix, so it encodes no geography at all.
146
+ Knowing a plate is alpha/numeric narrows the vehicle to Douglas, Lancaster, Sarpy
147
+ or a Department issue — a three-county disjunction, not a decode.
148
+ sources:
149
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/county/RegManual.pdf # Nebraska DMV county registration manual, Chapter 9 (License Plates): the ABC 123 reservation, verbatim — 'messages containing three alpha followed by three numeric characters (ABC 123) cannot be processed, regardless of spacing', attributed to issuance by Douglas, Lancaster and Sarpy counties and the Department"
150
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/plates/2023_Series_Plates.pdf # Nebraska DMV, '2023-2029 License Plates': the 'Alpha/Numeric (Douglas, Lancaster, Sarpy)' passenger type, 2 plates, citing Neb. Rev. Stat. §60-370(3)(c) and §60-3,100"
151
+ notes: >-
152
+ NEBRASKA STANDARD ISSUE, ALPHA/NUMERIC SYSTEM, 2023-2029 SERIES. This is the series
153
+ a visitor to Omaha or Lincoln actually sees, and it is the only one of Nebraska's
154
+ two live systems whose arrangement is stated by an official document. The period is
155
+ taken from the DMV catalogue's own title, '2023-2029 License Plates' — hence
156
+ `period_evidence: agency-series-catalogue`, a real claim about the issue window
157
+ rather than an instrument-in-force upper bound. The `end` is deliberately LEFT OPEN
158
+ even though the title implies 2029: a title stating an intended window is not the
159
+ same as evidence that issuance stopped, and old stock issues on.
160
+
161
+ # =========================================================================
162
+ # STANDARD, SYSTEM B — the 90 COUNTY-DESIGNATION counties. The 1922 system.
163
+ # =========================================================================
164
+ - id: us-ne-standard-county-2023
165
+ class: standard
166
+ categories: [car, van, truck, bus]
167
+ period: { start: 2023 }
168
+ period_evidence: agency-series-catalogue
169
+ matching: recall-only
170
+ format:
171
+ pattern: "99-L999"
172
+ regex: '\A\d{1,2}-[A-Z0-9]{1,5}\z'
173
+ charset:
174
+ notes: >-
175
+ THE PREFIX IS SOURCED; THE SUFFIX IS NOT. That the plate opens with the county
176
+ designation number and a hyphen is established three separate ways: the DMV
177
+ catalogue's '(Non-alpha/numeric counties)' passenger type, the County Message
178
+ rule that spells the prefix-and-hyphen construction out, and the dealer plates
179
+ in the registration manual whose images read 94-B321 / 94-X123 / 94-14. What was
180
+ NOT obtained is the serial grammar that follows the hyphen for ordinary
181
+ passenger issues in each of the 90 counties. Hence `matching: recall-only`.
182
+ pattern_note: >-
183
+ REPRESENTATIVE SHAPE ONLY, on the nl-export precedent. The regex is deliberately
184
+ WIDER than anything Nebraska issues: it accepts any one- or two-digit prefix and
185
+ any one-to-five-character suffix, so a match says 'this string has the shape of a
186
+ Nebraska county-designation plate' and NOTHING MORE. It is emphatically not the
187
+ claim that the string is a valid registration. Narrowing this to the real
188
+ per-county grammar is the single highest-value follow-up for Nebraska.
189
+ width_rule_observed: >-
190
+ A STRUCTURAL RULE WORTH CHASING. In the one place Nebraska's grammar IS spelled
191
+ out — the County Message plates — the suffix width COMPENSATES for the prefix
192
+ width, so total length is constant: one-digit counties (Douglas 1, Lancaster 2)
193
+ take a longer suffix than the two-digit county (Sarpy 59). If that rule
194
+ generalises to the 90 county-designation counties, the per-county grammar is
195
+ derivable from the county number's digit count alone. Recorded as a HYPOTHESIS
196
+ drawn from a sourced instance, not as a claim.
197
+ design:
198
+ graphic: { present: true, rendered: placeholder, description: "the 2023-series Nebraska base graphic, shared with the alpha/numeric system" }
199
+ emblem: { present: true, rendered: placeholder }
200
+ colour_note: "no hex recorded — see us-ne-standard-alphanumeric-2023; the DMV catalogue describes no colour in text"
201
+ region_encoding:
202
+ mechanism: "the leading number, before the hyphen, is the COUNTY DESIGNATION — the county of registration, printed in the serial"
203
+ origin: >-
204
+ SOURCED TO THE AGENCY, WITH A DATE AND A RULE. Nebraska DMV, in its own words:
205
+ 'In 1922, the Department of Public Works established the practice of using prefix
206
+ numbers to identify the counties in which vehicles were registered. Each county
207
+ was assigned a number based on the number of registered vehicles in the county at
208
+ that time. The county with the most vehicles, Douglas, was assigned the number 1;
209
+ the county with the second highest number of vehicles, Lancaster, was assigned
210
+ number 2; and so forth.' A Nebraska county prefix is therefore a FROZEN 1922
211
+ REGISTERED-VEHICLE RANKING — it does not track present-day population and must
212
+ never be re-derived from modern census data.
213
+ anchors_confirmed: { "1": Douglas, "2": Lancaster, "59": Sarpy, "94": "dealer / manufacturer (not a county)" }
214
+ anchors_basis: "1, 2 and 59 are stated in the DMV catalogue and registration manual repeatedly and independently; 94 is read off the dealer plate images in the registration manual"
215
+ range: "1 to 93 — Nebraska has 93 counties, of which 90 still use the county-designation system"
216
+ full_table_status: >-
217
+ DELIBERATELY NOT PUBLISHED HERE, AND THE REASON IS A MEASURED EXTRACTION FAULT. The
218
+ registration manual does carry a complete 'County Codes' table (Chapter 12), but
219
+ the text extracted from its three-column PDF layout renders BOTH 'Cass' and 'Clay'
220
+ as 30, which cannot be true. One of the two is a column misread. Publishing 93
221
+ decode rows off an extraction with a known collision would put a silent error into
222
+ a table consumers would trust, so the table is withheld pending a clean read and
223
+ recorded as the top follow-up. The four anchors above are published because each is
224
+ independently corroborated in running prose, not read out of the broken column.
225
+ decode_file_planned: "plates/_decode/us-ne-county-designations.yml once the table is re-extracted cleanly and verified row by row"
226
+ one_year_alpha_exception: "Per the DMV history page: 'For one year, 1951, the county number designation was changed from numeric to a one- or two-digit alpha code.' A single-year alpha county code is exactly the kind of one-off that breaks a naive historical parser."
227
+ sources:
228
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/plates/2023_Series_Plates.pdf # Nebraska DMV, '2023-2029 License Plates': the 'Passenger (Non-alpha/numeric counties)' type 'Issued in the 90 non-alpha/numeric counties', 2 plates, citing Neb. Rev. Stat. §60-370 and §60-3,100"
229
+ - "https://dmv.nebraska.gov/dvr/history-license-plates # Nebraska DMV history: the 1922 origin of county prefix numbers, assignment by registered-vehicle count, Douglas 1 and Lancaster 2, and the one-year 1951 alpha county code"
230
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/county/RegManual.pdf # Nebraska DMV county registration manual: the County Codes table (Chapter 12) and the dealer plate images showing the 94- prefix"
231
+ notes: >-
232
+ NEBRASKA STANDARD ISSUE, COUNTY-DESIGNATION SYSTEM, 2023-2029 SERIES. Ninety of
233
+ Nebraska's ninety-three counties still print a 1922 ranking on every plate, which
234
+ makes this the most decode-rich standard series in group midwest-b and the reason
235
+ Nebraska deserved the longest header in it. The series is `recall-only` NOT because
236
+ Nebraska issues loosely but because this pass could not reach the grammar: the
237
+ Revised Statutes were unreachable and the DMV catalogue is pictorial. That is a
238
+ sourcing failure recorded honestly in the matching field, where a consumer will
239
+ actually see it, rather than hidden behind a confident-looking regex.
240
+
241
+ # =========================================================================
242
+ # ONE SERIES BACK — the 2017-2023 issue, from the DMV's own prior catalogue.
243
+ # =========================================================================
244
+ - id: us-ne-standard-2017
245
+ class: standard
246
+ categories: [car, van, truck, bus]
247
+ period: { start: 2017, end: 2023 }
248
+ period_evidence: agency-series-catalogue
249
+ matching: recall-only
250
+ format:
251
+ pattern: "LLL 999"
252
+ regex: '\A(?:[A-Z]{3} ?\d{3}|\d{1,2}-[A-Z0-9]{1,5})\z'
253
+ pattern_note: >-
254
+ REPRESENTATIVE SHAPE ONLY. This single entry stands for BOTH of Nebraska's
255
+ systems as they ran in the 2017-2023 issue, so its regex is the union of the
256
+ alpha/numeric and county-designation shapes and `matching: recall-only` is
257
+ mandatory: a hit is a shape hit across two grammars, never a validity claim for
258
+ either. The two systems are split into separate series only for the CURRENT issue,
259
+ where the evidence supports the split.
260
+ design:
261
+ graphic: { present: true, rendered: placeholder, description: "the 2017-series Nebraska base graphic; the DMV catalogue is pictorial and describes no design element in text" }
262
+ emblem: { present: true, rendered: placeholder }
263
+ colour_note: "no hex recorded — the 2017 catalogue, like the 2023 one, carries designs as raster images only"
264
+ structural_continuity: "The 2017 catalogue lists the SAME type structure as the 2023 one — 'Passenger (Non alpha/numeric counties)' and 'Alpha/Numeric (Douglas, Lancaster, Sarpy)', citing the same §60-370 / §60-3,100 / §60-370(3)(c) hooks — so the two-system split predates 2017 and was not introduced by either issue."
265
+ region_encoding: "county designation on the non-alpha/numeric plates, as for us-ne-standard-county-2023; none on the alpha/numeric plates"
266
+ sources:
267
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/plates/2017_Series_Plates-updated.pdf # Nebraska DMV, '2017-2023 License Plates': the prior issue's title window, its passenger types for the 90 non-alpha/numeric counties and for Douglas/Lancaster/Sarpy, plate counts, and the same statutory hooks as the 2023 series"
268
+ notes: >-
269
+ THE ONE SERIES BACK, AND THE CLEANEST IN GROUP MIDWEST-B — because Nebraska's DMV
270
+ titles its catalogues by issue window, the previous series' period is read directly
271
+ off an agency document rather than reconstructed from collector-site era tables. The
272
+ pair '2017-2023' and '2023-2029' also establishes Nebraska's six-year cycle without
273
+ needing the statute. PERIOD NOTE: `end: 2023` overlaps the current series' `start:
274
+ 2023` by design and by fact — a plate issued under the 2017 series remains valid and
275
+ on the road well past the changeover, which is exactly the parallel-issuance case
276
+ PRD-PLATES's overlap-legal-iff-distinct-notes rule exists to permit.
277
+
278
+ # =========================================================================
279
+ # COUNTY MESSAGE — the ONLY Nebraska serial grammar stated in full anywhere,
280
+ # and the evidence for the width-compensation rule noted above.
281
+ # =========================================================================
282
+ - id: us-ne-county-message
283
+ class: specialty
284
+ categories: [car, van, truck, trailer]
285
+ period: { start: 2023 }
286
+ period_evidence: agency-series-catalogue
287
+ matching: strict
288
+ format:
289
+ pattern: "1-LL99"
290
+ regex: '\A(?:[12]-[A-Z][A-Z0-9]\d{2}|59-[A-Z][A-Z0-9]\d{3})\z'
291
+ charset:
292
+ notes: >-
293
+ THE FULLY SOURCED GRAMMAR, verbatim from the registration manual: 'Passenger -
294
+ county designation (1 - Douglas; 2 - Lancaster, 59 - Sarpy), followed by a dash
295
+ (-), followed by one alpha character, one alpha/numeric character, and three
296
+ numeric characters for Sarpy county or two numeric characters for Douglas and
297
+ Lancaster'. Note the second character is expressly ALPHA/NUMERIC, which is why
298
+ the regex spells `[A-Z0-9]` there and not `[A-Z]`.
299
+ commercial_variant: >-
300
+ The same source gives the commercial grammar too: 'county designation ... followed
301
+ by a dash (-), followed by four numeric for Sarpy county and five numeric for
302
+ Douglas and Lancaster'. It is recorded here rather than given its own series
303
+ because it shares this series' period, design and program; a curator who prefers
304
+ the split can add it without disturbing this id.
305
+ pattern_note: >-
306
+ The pattern shows the DOUGLAS form (prefix 1). It cannot show the Sarpy form,
307
+ and the reason is a genuine limit of the human-pattern DSL rather than a choice:
308
+ `9` is the DSL's DIGIT TOKEN, so a literal digit 9 cannot be spelled in a
309
+ `pattern` at all, and `59-` is therefore unwritable. Every Nebraska designation
310
+ containing a 9 — 59 Sarpy, 94 dealer — hits this. The regex carries all three
311
+ counties regardless; the width compensation is visible in it directly, two prefix
312
+ digits buying three suffix digits and one prefix digit buying two.
313
+ design:
314
+ note: "'The plates use the same design as Nebraska current plate graphic or Husker Spirit graphic' (registration manual) — so this is a serial-and-eligibility program, not a distinct base design"
315
+ emblem: { present: true, rendered: placeholder }
316
+ eligibility: "residents of the three alpha/numeric counties ONLY, who elect to keep 'a format prior to their alpha/numeric conversion'; the registrant must live in the county the prefix names, and must SURRENDER the plate on moving to another county"
317
+ fee: "$40.00 regular graphic or $70.00 Husker graphic on re-application after a lapse; the message is held for one year only after delinquency, then released to the public (registration manual)"
318
+ region_encoding: "county designation 1, 2 or 59 in the serial — the ONLY live Nebraska series that puts a county number back onto an alpha/numeric-county vehicle"
319
+ sources:
320
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/county/RegManual.pdf # Nebraska DMV county registration manual, Chapter 9: the passenger and commercial County Message grammars in full, the residency and surrender rules, the shared Nebraska/Husker graphics, the $40/$70 fees and the one-year message hold; cites Neb. Rev. Stat. §60-3,118 - §60-3,121"
321
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/plates/2023_Series_Plates.pdf # Nebraska DMV, '2023-2029 License Plates': County Message, County Message Commercial, County Message Farm and County Message Trailer types, each 'issued in lieu of regular county plates', citing §60-3,118(2)(a)"
322
+ notes: >-
323
+ COUNTY MESSAGE PLATES — a nostalgia program with unusual evidentiary value. Its
324
+ function is to let a Douglas, Lancaster or Sarpy resident keep the OLD
325
+ county-designation look after their county converted to alpha/numeric, and because
326
+ the DMV had to tell county officials exactly what those legacy serials look like, it
327
+ is the one place Nebraska's county-designation grammar is written down in full. That
328
+ is what makes it the evidence base for the width-compensation hypothesis recorded on
329
+ us-ne-standard-county-2023. Modelled as `specialty` rather than `personalized`
330
+ because the DMV classes it as a specialty plate issued in lieu of regular county
331
+ plates, and because the county prefix is assigned, not chosen.
332
+
333
+ # =========================================================================
334
+ # MESSAGE (personalized) — with a charset EXCLUSION that is genuinely unusual.
335
+ # =========================================================================
336
+ - id: us-ne-message
337
+ class: personalized
338
+ categories: [car, van, truck, trailer, motorcycle]
339
+ period: { start: 2023 }
340
+ period_evidence: agency-series-catalogue
341
+ matching: strict
342
+ format:
343
+ pattern: "LLLLLLL"
344
+ regex: '\A[A-Z]{1,7}\z'
345
+ regex_statutory: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
346
+ charset:
347
+ excluded_shapes: ["LLL 999"]
348
+ notes: >-
349
+ NEBRASKA EXCLUDES A SHAPE, NOT A LETTER, and that is rare enough to be worth the
350
+ field. From the registration manual: 'Maximum of 7 characters allowed [except
351
+ for motorcycle/autocycle (6 characters) and Gold Star Family (5 characters)
352
+ license plates]. Eight positions are provided to allow for one space if the
353
+ maximum numbers of characters are used in the message. (Note: A character cannot
354
+ be substituted for this space.)'; 'Alpha and numeric characters only. All alpha
355
+ characters are printed in upper case. No punctuation marks or symbols such as
356
+ slashes, periods, apostrophes or other such symbols are allowed'; and the
357
+ decisive one — 'messages containing three alpha followed by three numeric
358
+ characters (ABC 123) cannot be processed, regardless of spacing.' A vanity plate
359
+ may not impersonate the standard series.
360
+ pattern_note: "`regex` is the letters-only shape most message configurations take; `regex_statutory` is the true frame — up to seven alphanumerics across eight positions with at most one internal space. The ABC 999 exclusion is recorded in `charset.excluded_shapes` because a regex tier cannot express 'not this other series' without a lookahead the dataset's dialect avoids."
361
+ design:
362
+ note: "a message plate is a serial-source difference over the standard or an eligible specialty graphic; the DMV offers regular and Husker graphics"
363
+ emblem: { present: true, rendered: placeholder }
364
+ availability_service: "messages may be checked through the DMV's Online Specialty Plate System at clickdmv.ne.gov before application; the manual warns that availability 'is not a guarantee that the message will be approved'"
365
+ region_encoding: none
366
+ sources:
367
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/county/RegManual.pdf # Nebraska DMV county registration manual, Chapter 9: the seven-character cap and its six-character motorcycle/autocycle and five-character Gold Star Family exceptions, the eight-position/one-space rule, the alpha-and-numeric-only uppercase rule, the ABC 123 prohibition 'regardless of spacing', and the clickdmv.ne.gov availability service"
368
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/plates/2023_Series_Specialty_Plate_Info_NLETS_Plate_Type_Codes.pdf # Nebraska DMV, '2023 Series Specialty Plates / NLETS Plate Type Codes', August 2023: Message = 'Up to 7 characters selected by applicant', NLETS code PE"
369
+ notes: >-
370
+ MESSAGE PLATES (Nebraska's term for personalized). The interesting fact is the
371
+ NEGATIVE constraint: Nebraska forbids any message shaped like its own standard
372
+ alpha/numeric series, state-wide and independent of spacing. That is a jurisdiction
373
+ actively defending the disjointness of its serial spaces, and it is the cleanest
374
+ real-world justification in this whole dataset for PRD-PLATES §2.6's
375
+ separator-forgiving contract — the DMV itself reasons about `ABC123` and `ABC 123`
376
+ as the same string. Modelled as `personalized` because the serial is owner-chosen.
377
+
378
+ # =========================================================================
379
+ # DEALER — the second reserved number, and the counterpart to South Dakota's 77.
380
+ # =========================================================================
381
+ - id: us-ne-dealer
382
+ class: dealer
383
+ categories: [car, van, truck, trailer, motorcycle]
384
+ period: { start: 2023 }
385
+ period_evidence: agency-series-catalogue
386
+ matching: recall-only
387
+ format:
388
+ pattern: "99-L999"
389
+ regex: '\A\d{2}-[A-Z0-9]{1,5}\z'
390
+ charset:
391
+ designation_reserved: "94"
392
+ notes: >-
393
+ THE PREFIX IS THE FACT. Dealer plates in the registration manual carry serials
394
+ reading 94-B321, 94-X123 and 94-14 — a designation number OUTSIDE the 1-93
395
+ county range, occupying the county slot. Nebraska thus reserves 94 for the
396
+ trade exactly as South Dakota reserves 77 (SDCL 32-5-89), and a parser can tell
397
+ a Nebraska dealer plate from its prefix alone. The suffix grammar is NOT stated
398
+ and the three examples disagree in shape (one letter plus three digits; one
399
+ letter plus three digits; two digits), hence `matching: recall-only`.
400
+ pattern_note: >-
401
+ REPRESENTATIVE SHAPE ONLY, and the reserved 94 prefix is deliberately NOT in the
402
+ regex — not because it is unsourced, but because it is UNWRITABLE here. `9` is the
403
+ human-pattern DSL's digit token, so a literal 9 cannot appear in a `pattern`, and a
404
+ regex pinned to `94-` could never round-trip against any pattern the DSL can spell.
405
+ The sourced designation is therefore carried in `charset.designation_reserved` and
406
+ in `region_encoding` below, where a consumer will still find it, while the regex
407
+ stays deliberately wide and `matching: recall-only` says so. This is a real, small
408
+ limitation of the pattern DSL rather than a gap in the evidence, and it will recur
409
+ for any jurisdiction whose fixed prefix contains a 9.
410
+ design:
411
+ note: "the registration manual distinguishes Dealer, Dealer Personal-Use (alpha/numeric), Dealer Personal-Use (remaining 90 counties), Dealer Trailer and Dealer Motorcycle sub-types; only the 94- prefix is common to all and only it is recorded"
412
+ emblem: { present: true, rendered: placeholder }
413
+ binding: business
414
+ eligibility: "dealers and manufacturers licensed through the Nebraska Motor Vehicle Industry Licensing Board; the dealer presents a Treasurer's Certificate for Issuance of Dealer Plates to the county treasurer where the dealership is located"
415
+ plate_counts: "Dealer motor vehicle / motorcycle / trailer — 1 plate; Personal-Use — 2 plates"
416
+ fee: "first dealer plate $38.80 total, itemised across county fund, DMV registration, recreation road, highway trust motor vehicle registration, highway trust licence plate and EMS fund lines; dealer plate fees cannot be prorated for a partial year"
417
+ region_encoding: "designation 94 occupies the county-designation slot but denotes the TRADE, not a county — a decode table must exclude it or it will report a nonexistent 94th county"
418
+ sources:
419
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/county/RegManual.pdf # Nebraska DMV county registration manual: the dealer plate images reading 94-B321 / 94-X123 / 94-14, the Dealer / Dealer Personal-Use / Dealer Trailer / Dealer Motorcycle sub-types with their plate counts, the Licensing Board and Treasurer's Certificate route, and the $38.80 first-plate fee schedule with its no-proration rule"
420
+ notes: >-
421
+ DEALER PLATES. `binding: business` because the plate follows the dealership, not a
422
+ vehicle. The fact worth carrying forward is the RESERVED DESIGNATION: Nebraska's 94
423
+ and South Dakota's statutory 77 are the same design idea in two states — put the
424
+ trade in the county slot, above the real county range — and a decode table that
425
+ treats the leading number as unconditionally geographic will mis-resolve every
426
+ dealer plate in both states. Recorded on both files for that reason.
427
+
428
+ # =========================================================================
429
+ # SPECIALTY — THE PROGRAM INDEX, per PRD-PLATES §2.5. Count and links only.
430
+ # =========================================================================
431
+ - id: us-ne-specialty-index
432
+ class: specialty
433
+ categories: [car, van, truck, motorcycle]
434
+ period: { start: 2023 }
435
+ period_evidence: agency-series-catalogue
436
+ matching: recall-only
437
+ format:
438
+ pattern: "999LL"
439
+ regex: '\A[A-Z0-9]{1,7}\z'
440
+ pattern_note: >-
441
+ REPRESENTATIVE SHAPE ONLY — and here the union is genuinely irreducible, because
442
+ the index stands for 42 programs with THREE different frames: 'Up to 7 characters'
443
+ (Message, County Message, Husker, Special Interest), 'Up to 5 characters' (most
444
+ organizational, cause and military plates), and FCC-assigned call signs (Amateur
445
+ Radio). The pattern shows the common assigned form the DMV writes as '123AB'.
446
+ design:
447
+ note: "one design per authorised program; the designs themselves are L4 scope (PRD-PLATES §2.5) and none is described here"
448
+ emblem: { present: true, rendered: placeholder }
449
+ program_index:
450
+ count_official: 42
451
+ count_basis: >-
452
+ COUNTED ROW BY ROW from the Nebraska DMV's own '2023 Series Specialty Plates /
453
+ NLETS Plate Type Codes' table (August 2023) — 42 plate types, each carrying its
454
+ own format and NLETS code. This is a firmer count than most states allow, because
455
+ it is an operational law-enforcement reference rather than a marketing page: the
456
+ DMV has to keep it exact.
457
+ count_by_nlets_code: { PE: 21, OR: 11, CN: 4, VF: 3, AR: 1, CL: 1, DV: 1 }
458
+ nlets_codes_note: >-
459
+ THE NLETS CODE COLUMN IS THE FIND, and no competitor dataset carries it. NLETS is
460
+ the interstate law-enforcement telecommunications network, and these are the codes
461
+ by which a Nebraska plate type is transmitted between states: PE personalized, OR
462
+ organizational, CN conservation, VF veteran/military, AR amateur radio, CL
463
+ collegiate, DV disabled veteran. A plate-parse API that can return the NLETS type
464
+ alongside the jurisdiction and series is doing something genuinely new.
465
+ organizational_subtype: "11 of the 42 are 'Organizational' plates, which the document footnotes as requiring '250 prepaid applications from a certified non-profit organization required to initiate plate production' — a sourced barrier to entry that explains why the Nebraska catalogue grows slowly"
466
+ military_subtypes: "Military Honor plates are available for each service branch (Air Force, Army, Coast Guard, Marines, Army National Guard, Air National Guard, Navy and the Air Force, Army, Coast Guard, Marine Corps and Navy Reserves); Military Honor Campaign plates for the Afghanistan Campaign, Iraq Campaign, Global War on Terrorism Expeditionary, South Asia Service and Vietnam Service medals"
467
+ official_list_url: "https://dmv.nebraska.gov/dvr/license-plates"
468
+ official_catalogue_url: "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/plates/2023_Series_Plates.pdf"
469
+ official_format_table_url: "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/plates/2023_Series_Specialty_Plate_Info_NLETS_Plate_Type_Codes.pdf"
470
+ availability_service_url: "https://www.clickdmv.ne.gov"
471
+ region_encoding: "none, except the County Message family, which is broken out as its own series above"
472
+ sources:
473
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/plates/2023_Series_Specialty_Plate_Info_NLETS_Plate_Type_Codes.pdf # Nebraska DMV, August 2023: the 42-row plate-type table with per-type character limits and NLETS codes; the 250-prepaid-application footnote for Organizational plates; the military branch and campaign-medal footnotes"
474
+ - "https://dmv.nebraska.gov/sites/dmv.nebraska.gov/files/doc/dvr/plates/2023_Series_Plates.pdf # Nebraska DMV, '2023-2029 License Plates': the same programs shown as plates with their statutory hooks (§60-3,113 handicap, §60-3,118 message, §60-3,127/128 Husker, §60-3,255/256 Nebraska History)"
475
+ - "https://dmv.nebraska.gov/dvr/license-plates # the DMV's license-plate index, the official entry point for the program list"
476
+ notes: >-
477
+ THE SPECIALTY PROGRAM INDEX — one entry standing for the whole program, per
478
+ PRD-PLATES §2.5, with no individual designs. Nebraska is the best-instrumented
479
+ specialty index in group midwest-b for a reason worth generalising: the state
480
+ publishes its plate types as an NLETS CODE TABLE, i.e. as operational data for other
481
+ states' police systems, complete with per-type character limits. Any state that
482
+ publishes an NLETS plate-type table is publishing a machine-grade specialty index,
483
+ and that is a source class the remaining L2 states should be searched for by name.