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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +164 -0
- data/CHANGELOG.md +274 -0
- data/README.md +55 -10
- data/data/PROVENANCE-vehicles.md +12 -0
- data/data/plates/PROVENANCE.md +5 -4
- data/data/plates/_decode/at-districts.yml +287 -0
- data/data/plates/_decode/ch-cantons.yml +110 -0
- data/data/plates/_decode/cn-issuing-offices.yml +463 -0
- data/data/plates/_decode/cn-provinces.yml +614 -0
- data/data/plates/_decode/cz-kraj.yml +159 -0
- data/data/plates/_decode/dk-serial-blocks.yml +327 -0
- data/data/plates/_decode/fr-departements.yml +191 -0
- data/data/plates/_decode/gb-age-identifiers.yml +170 -0
- data/data/plates/_decode/gb-memory-tags.yml +202 -0
- data/data/plates/_decode/gr-prefectures.yml +1408 -0
- data/data/plates/_decode/hr-cities.yml +315 -0
- data/data/plates/_decode/ie-counties.yml +227 -0
- data/data/plates/_decode/in-state-codes.yml +169 -0
- data/data/plates/_decode/is-districts-1938.yml +116 -0
- data/data/plates/_decode/it-provinces.yml +348 -0
- data/data/plates/_decode/jp-office-marks.yml +960 -0
- data/data/plates/_decode/jp-use-marks.yml +205 -0
- data/data/plates/_decode/kr-authority-marks.yml +146 -0
- data/data/plates/_decode/kr-use-syllables.yml +194 -0
- data/data/plates/_decode/lu-series-order.yml +638 -0
- data/data/plates/_decode/mx-entity-series.yml +380 -0
- data/data/plates/_decode/my-index-marks.yml +271 -0
- data/data/plates/_decode/no-counties-1913.yml +148 -0
- data/data/plates/_decode/no-districts.yml +901 -0
- data/data/plates/_decode/pl-powiats.yml +567 -0
- data/data/plates/_decode/pt-trailer-services.yml +96 -0
- data/data/plates/_decode/ro-counties.yml +213 -0
- data/data/plates/_decode/se-diplomatic.yml +220 -0
- data/data/plates/_decode/si-regions.yml +123 -0
- data/data/plates/_decode/sk-districts.yml +314 -0
- data/data/plates/_decode/th-registration-elements.yml +208 -0
- data/data/plates/_decode/ua-regions.yml +393 -0
- data/data/plates/_decode/za-licence-marks.yml +215 -0
- data/data/plates/_meta/classes.yml +1 -0
- data/data/plates/_meta/separators.yml +102 -0
- data/data/plates/ad.yml +961 -0
- data/data/plates/ar.yml +762 -0
- data/data/plates/at.yml +1424 -0
- data/data/plates/au-act.yml +472 -0
- data/data/plates/au-nsw.yml +282 -0
- data/data/plates/au-nt.yml +431 -0
- data/data/plates/au-qld.yml +272 -0
- data/data/plates/au-sa.yml +248 -0
- data/data/plates/au-tas.yml +302 -0
- data/data/plates/au-vic.yml +215 -0
- data/data/plates/au-wa.yml +309 -0
- data/data/plates/be.yml +1840 -0
- data/data/plates/br.yml +1152 -0
- data/data/plates/ca-ab.yml +430 -0
- data/data/plates/ca-bc.yml +697 -0
- data/data/plates/ca-mb.yml +499 -0
- data/data/plates/ca-nb.yml +537 -0
- data/data/plates/ca-nl.yml +743 -0
- data/data/plates/ca-ns.yml +808 -0
- data/data/plates/ca-nt.yml +610 -0
- data/data/plates/ca-nu.yml +280 -0
- data/data/plates/ca-on.yml +881 -0
- data/data/plates/ca-pe.yml +592 -0
- data/data/plates/ca-qc.yml +1036 -0
- data/data/plates/ca-sk.yml +256 -0
- data/data/plates/ca-yt.yml +656 -0
- data/data/plates/ch.yml +1273 -0
- data/data/plates/cn.yml +1431 -0
- data/data/plates/cy.yml +688 -0
- data/data/plates/cz.yml +1179 -0
- data/data/plates/de.yml +553 -118
- data/data/plates/dk.yml +1647 -0
- data/data/plates/ee.yml +1275 -0
- data/data/plates/es.yml +228 -32
- data/data/plates/fi.yml +1271 -0
- data/data/plates/fr.yml +1265 -0
- data/data/plates/gb.yml +1188 -0
- data/data/plates/gr.yml +721 -0
- data/data/plates/hr.yml +860 -0
- data/data/plates/hu.yml +959 -0
- data/data/plates/ie.yml +775 -0
- data/data/plates/in.yml +1172 -0
- data/data/plates/is.yml +667 -0
- data/data/plates/it.yml +1317 -0
- data/data/plates/jp.yml +3650 -0
- data/data/plates/kr.yml +1375 -0
- data/data/plates/li.yml +1010 -0
- data/data/plates/lt.yml +879 -0
- data/data/plates/lu.yml +842 -0
- data/data/plates/lv.yml +924 -0
- data/data/plates/mc.yml +1024 -0
- data/data/plates/mt.yml +854 -0
- data/data/plates/mx.yml +1372 -0
- data/data/plates/my.yml +685 -0
- data/data/plates/nl.yml +44 -0
- data/data/plates/no.yml +1018 -0
- data/data/plates/nz.yml +1699 -0
- data/data/plates/pl.yml +1296 -0
- data/data/plates/pt.yml +847 -0
- data/data/plates/ro.yml +785 -0
- data/data/plates/se.yml +1091 -0
- data/data/plates/si.yml +1105 -0
- data/data/plates/sk.yml +1439 -0
- data/data/plates/sm.yml +1119 -0
- data/data/plates/th.yml +1150 -0
- data/data/plates/ua.yml +1672 -0
- data/data/plates/us-ak.yml +763 -0
- data/data/plates/us-al.yml +457 -0
- data/data/plates/us-ar.yml +427 -0
- data/data/plates/us-as.yml +454 -0
- data/data/plates/us-az.yml +430 -0
- data/data/plates/us-ca.yml +892 -0
- data/data/plates/us-co.yml +452 -0
- data/data/plates/us-ct.yml +427 -0
- data/data/plates/us-dc.yml +614 -0
- data/data/plates/us-de.yml +551 -0
- data/data/plates/us-fl.yml +319 -96
- data/data/plates/us-ga.yml +644 -0
- data/data/plates/us-gu.yml +658 -0
- data/data/plates/us-hi.yml +585 -0
- data/data/plates/us-ia.yml +438 -0
- data/data/plates/us-id.yml +531 -0
- data/data/plates/us-il.yml +516 -0
- data/data/plates/us-in.yml +324 -0
- data/data/plates/us-ks.yml +351 -0
- data/data/plates/us-ky.yml +770 -0
- data/data/plates/us-la.yml +568 -0
- data/data/plates/us-ma.yml +379 -0
- data/data/plates/us-md.yml +536 -0
- data/data/plates/us-me.yml +445 -0
- data/data/plates/us-mi.yml +408 -0
- data/data/plates/us-mn.yml +411 -0
- data/data/plates/us-mo.yml +356 -0
- data/data/plates/us-mp.yml +402 -0
- data/data/plates/us-ms.yml +432 -0
- data/data/plates/us-mt.yml +619 -0
- data/data/plates/us-nc.yml +602 -0
- data/data/plates/us-nd.yml +419 -0
- data/data/plates/us-ne.yml +483 -0
- data/data/plates/us-nh.yml +394 -0
- data/data/plates/us-nj.yml +547 -0
- data/data/plates/us-nm.yml +574 -0
- data/data/plates/us-nv.yml +655 -0
- data/data/plates/us-ny.yml +592 -0
- data/data/plates/us-oh.yml +404 -0
- data/data/plates/us-ok.yml +513 -0
- data/data/plates/us-or.yml +392 -0
- data/data/plates/us-pa.yml +506 -0
- data/data/plates/us-pr.yml +507 -0
- data/data/plates/us-ri.yml +445 -0
- data/data/plates/us-sc.yml +605 -0
- data/data/plates/us-sd.yml +428 -0
- data/data/plates/us-tn.yml +471 -0
- data/data/plates/us-tx.yml +535 -0
- data/data/plates/us-ut.yml +384 -0
- data/data/plates/us-va.yml +567 -0
- data/data/plates/us-vi.yml +489 -0
- data/data/plates/us-vt.yml +458 -0
- data/data/plates/us-wa.yml +484 -0
- data/data/plates/us-wi.yml +509 -0
- data/data/plates/us-wv.yml +446 -0
- data/data/plates/us-wy.yml +523 -0
- data/data/plates/va.yml +604 -0
- data/data/plates/za.yml +1141 -0
- data/data/vehicles.json +160653 -105090
- data/lib/vehicles/configuration.rb +17 -3
- data/lib/vehicles/dataset.rb +73 -18
- data/lib/vehicles/fuzzy.rb +115 -0
- data/lib/vehicles/http.rb +48 -0
- data/lib/vehicles/make.rb +36 -6
- data/lib/vehicles/mcp_server.rb +5 -5
- data/lib/vehicles/model.rb +21 -2
- data/lib/vehicles/plates/series.rb +172 -18
- data/lib/vehicles/plates/template_fill.rb +188 -0
- data/lib/vehicles/plates/templates.rb +162 -0
- data/lib/vehicles/plates.rb +12 -0
- data/lib/vehicles/providers/hosted_provider.rb +28 -55
- data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
- data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
- data/lib/vehicles/version.rb +1 -1
- data/lib/vehicles.rb +32 -16
- data/rakelib/data_refresh.rake +109 -0
- data/rakelib/plates_refresh.rake +29 -0
- data/sig/vehicles.rbs +18 -0
- metadata +164 -2
|
@@ -0,0 +1,411 @@
|
|
|
1
|
+
# plates/us-mn.yml — Minnesota (PRD-PLATES gate L2, group midwest-b).
|
|
2
|
+
#
|
|
3
|
+
# MINNESOTA'S STATUTE IS THE MOST PHYSICALLY SPECIFIC IN THIS GROUP AND THE LEAST
|
|
4
|
+
# FORMAT-SPECIFIC. Minn. Stat. § 168.12 subd. 1 will tell you that a plate must be
|
|
5
|
+
# "at least 100 times brighter than the conventional painted number plates" and
|
|
6
|
+
# must be "visible for a distance of not less than 1,500 feet and readable for a
|
|
7
|
+
# distance of not less than 110 feet" from a vehicle with standard headlights —
|
|
8
|
+
# a testable photometric specification of a kind no other state in group
|
|
9
|
+
# midwest-b legislates. It will not tell you how many characters are on the
|
|
10
|
+
# plate or in what order. That asymmetry drives this whole file.
|
|
11
|
+
#
|
|
12
|
+
# THREE MINNESOTA FACTS WORTH THE READER'S ATTENTION:
|
|
13
|
+
#
|
|
14
|
+
# 1. THE PLATE ENCODES WEIGHT, NOT GEOGRAPHY. § 168.12 subd. 1(b): "When a
|
|
15
|
+
# vehicle is registered on the basis of total gross weight, the plates issued
|
|
16
|
+
# must clearly indicate by letters or other suitable insignia the maximum
|
|
17
|
+
# gross weight for which the tax has been paid." Minnesota is the only state
|
|
18
|
+
# in this group with a statutory weight-class encoding on the plate itself.
|
|
19
|
+
#
|
|
20
|
+
# 2. THE PLATE CAN SAY "NONCOMMERCIAL". § 168.12 subd. 1(c) requires that legend
|
|
21
|
+
# on noncommercial-vehicle plates unless a special plate is displayed — a
|
|
22
|
+
# mandated negative legend, which is an unusual instrument.
|
|
23
|
+
#
|
|
24
|
+
# 3. MINNESOTA REGISTERS ROADABLE AIRCRAFT WITH THEIR FAA TAIL NUMBERS.
|
|
25
|
+
# § 168.12 subd. 1(i), in terms. That is a direct, statutory bridge between
|
|
26
|
+
# this dataset's road layer and the aircraft layer PRD-PLATES §7 puts at gate
|
|
27
|
+
# L6, and it is specified below as its own series because it genuinely is one.
|
|
28
|
+
#
|
|
29
|
+
# WHAT THIS FILE COULD NOT GET: Minnesota's serial ARRANGEMENT and its current
|
|
30
|
+
# base design. § 168.12 delegates both to the commissioner's rules, and the
|
|
31
|
+
# Minnesota DVS website sits behind a bot-protection layer that refused every
|
|
32
|
+
# request in this pass. The standard series is therefore `recall-only` and its
|
|
33
|
+
# arrangement is a recorded gap, not a guess.
|
|
34
|
+
jurisdiction: us-mn
|
|
35
|
+
authority:
|
|
36
|
+
name: Minnesota Department of Public Safety, Driver and Vehicle Services (DVS)
|
|
37
|
+
url: "https://www.revisor.mn.gov/statutes/cite/168.12"
|
|
38
|
+
binding: vehicle
|
|
39
|
+
statute_edition: "Minnesota Statutes Chapter 168 (Vehicle Registration, Taxation, Sale), §§ 168.10 and 168.12 as published by the Office of the Revisor of Statutes at revisor.mn.gov. § 168.12 was last amended by 2024 c 104 art 1 s 17, so the design provisions read here are current to the 2024 session."
|
|
40
|
+
|
|
41
|
+
# ---------------------------------------------------------------------------
|
|
42
|
+
# artwork_risk — required per jurisdiction by PRD-PLATES §4. Minnesota is one of
|
|
43
|
+
# only two states in group midwest-b for which ANY evidence exists — and the
|
|
44
|
+
# evidence is that the question is genuinely open.
|
|
45
|
+
# ---------------------------------------------------------------------------
|
|
46
|
+
artwork_risk:
|
|
47
|
+
posture: contested-unresolved
|
|
48
|
+
basis: >-
|
|
49
|
+
MINNESOTA IS THE ONE STATE IN THIS GROUP WHERE THE COPYRIGHT QUESTION HAS BEEN
|
|
50
|
+
LITIGATED IN OPINIONS AND STILL HAS NO ANSWER. Two official Minnesota legal opinions
|
|
51
|
+
conflict and no court has resolved them. A state commissioner's statement of December
|
|
52
|
+
1994 reads, in part, that 'unless specified by the legislature, the public's right of
|
|
53
|
+
access to and use of public government data cannot be curtailed by a government
|
|
54
|
+
entity's claim of intellectual property rights in those data' — language a reader
|
|
55
|
+
might take for a public-domain rule. An Attorney General statement of December 1995
|
|
56
|
+
expressly contradicts that reading, claims higher authority, and confines the earlier
|
|
57
|
+
statement to ACCESS rather than COPYRIGHT, offering the narrower phrasing that 'The
|
|
58
|
+
department may not assert copyright ownership to deny members of the public their
|
|
59
|
+
right "to inspect and copy public government data at reasonable times and places"
|
|
60
|
+
under Minn. Stat. § 13.03, subd. 3'.
|
|
61
|
+
THE STATUTE ITSELF POINTS THE OTHER WAY, and narrowly. Minn. Stat. § 13.03 subd. 5,
|
|
62
|
+
FETCHED AND READ FOR THIS FILE, provides verbatim: 'A government entity may enforce a
|
|
63
|
+
copyright or acquire a patent for a COMPUTER SOFTWARE PROGRAM or components of a
|
|
64
|
+
program created by that government entity without statutory authority. In the event
|
|
65
|
+
that a government entity acquires a patent to a computer software program or component
|
|
66
|
+
of a program, the data shall be treated as trade secret information pursuant to section
|
|
67
|
+
13.37.' Expressly authorising copyright for software and for nothing else is weak
|
|
68
|
+
evidence that other works are free and weak evidence that they are protected — it is
|
|
69
|
+
simply a provision about software.
|
|
70
|
+
(Textual note, since this file quotes a primary against a secondary: the survey renders
|
|
71
|
+
the opening words as 'may enforce copyright'; the statute as served by the Revisor reads
|
|
72
|
+
'may enforce A copyright'. Immaterial to the meaning, recorded because the primary was
|
|
73
|
+
read rather than trusted.)
|
|
74
|
+
CONCLUSION: contested and unresolved. Treat Minnesota plate ARTWORK as protected by
|
|
75
|
+
default, per the dossier's rule that state works are presumed copyrighted absent a
|
|
76
|
+
contrary declaration, and note that Minnesota has arguably made a contrary declaration
|
|
77
|
+
that its own Attorney General has disclaimed. Do not record Minnesota as public domain
|
|
78
|
+
on the strength of the 1994 statement.
|
|
79
|
+
edict_carve_out: >-
|
|
80
|
+
Every claim in this file cites the Minnesota Statutes. Edicts of government are
|
|
81
|
+
uncopyrightable at every level ({{PD-US-GovEdict}}), and this carve-out is doing more
|
|
82
|
+
work in Minnesota than elsewhere precisely BECAUSE the general posture is contested:
|
|
83
|
+
the photometric specification, the weight-encoding rule, the 'noncommercial' legend,
|
|
84
|
+
the seven-year plate period and the roadable-aircraft rule are all free to use
|
|
85
|
+
whatever the answer on artwork turns out to be.
|
|
86
|
+
emblem_rule: >-
|
|
87
|
+
PRD-PLATES §3's placeholder default applies to whatever graphic the current Minnesota
|
|
88
|
+
base carries — which this pass could not identify, since the DVS site refused every
|
|
89
|
+
request. Render `emblem: {present: true, rendered: placeholder}`. Minnesota state-seal
|
|
90
|
+
misuse statutes are a protection regime independent of copyright and are unresearched.
|
|
91
|
+
sources:
|
|
92
|
+
- "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR ONLY (PRD-PLATES §4): the Minnesota section, which sets out the conflicting 1994 commissioner and 1995 Attorney General statements and quotes Minn. Stat. § 13.03 subd. 5. The conflict is recorded here, not resolved (PRD-PLATES §5.3)"
|
|
93
|
+
- "https://www.revisor.mn.gov/statutes/cite/13.03 # Minn. Stat. § 13.03 subd. 5, FETCHED AND READ: the software-only copyright authorization and its trade-secret consequence — an edict, PD, and the primary the secondary account turns on"
|
|
94
|
+
|
|
95
|
+
us_standards:
|
|
96
|
+
no_federal_mandate: true
|
|
97
|
+
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."
|
|
98
|
+
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."
|
|
99
|
+
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)."
|
|
100
|
+
retroreflectivity: >-
|
|
101
|
+
AAMVA §3.3 asks for legibility 'in both daylight and nighttime from distances of at
|
|
102
|
+
least 75 feet', with ASTM D4956-19 and ISO 7591:1982 clause 3 as the materials
|
|
103
|
+
standards and a minimum 45 cd/lx/m^2 at 0.2 deg entrance / -4 deg observation.
|
|
104
|
+
MINNESOTA'S OWN STATUTORY SPECIFICATION IS FAR MORE DEMANDING and is expressed
|
|
105
|
+
differently — see `design.photometric_spec` on us-mn-standard: 100x brighter than
|
|
106
|
+
conventional painted plates, visible at 1,500 feet, readable at 110 feet. Minnesota's
|
|
107
|
+
110-foot READABILITY floor is not directly comparable to AAMVA's 75-foot legibility
|
|
108
|
+
figure, but it is plainly stricter, and it is in statute rather than in a recommendation.
|
|
109
|
+
replacement_cycle_recommendation: "AAMVA §1.1 recommends a cycle 'not to exceed 7 to 10 years'. MINNESOTA LEGISLATED SEVEN — the bottom of AAMVA's range and a genuine mandatory replacement, not a floor. See `replacement_cycle` on us-mn-standard."
|
|
110
|
+
source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
|
|
111
|
+
folklore_caution: >-
|
|
112
|
+
The '1956 AMA standardization agreement' is UNCITED in its Wikipedia source (a
|
|
113
|
+
`citation needed` since 2017, copied across articles). Recorded as COMMONLY REPEATED,
|
|
114
|
+
UNSOURCED. A second piece of Minnesota-specific folklore is flagged here for the same
|
|
115
|
+
treatment: the widely repeated claim that Minnesota's base design dates from 1978 and
|
|
116
|
+
is among the oldest in continuous US use appears in the dossier only as a WIKIPEDIA
|
|
117
|
+
assertion, and § 168.12's seven-year mandatory REPLACEMENT cycle concerns the physical
|
|
118
|
+
plate rather than the design. Neither the 1978 date nor its continuity is asserted
|
|
119
|
+
anywhere in this file; both are recorded as unsourced.
|
|
120
|
+
|
|
121
|
+
# ---------------------------------------------------------------------------
|
|
122
|
+
# Display rules. NOT ESTABLISHED — recorded as a gap rather than assumed.
|
|
123
|
+
# ---------------------------------------------------------------------------
|
|
124
|
+
display_rules:
|
|
125
|
+
status: not-established
|
|
126
|
+
note: >-
|
|
127
|
+
MINNESOTA'S PLATE-DISPLAY RULES LIVE IN Minn. Stat. § 169.79, WHICH WAS NOT READ IN
|
|
128
|
+
THIS PASS. § 168.12 subd. 1(f)(4) cross-references it, so its existence and relevance
|
|
129
|
+
are sourced, but its contents are not. Whether Minnesota requires one plate or two,
|
|
130
|
+
and where, is therefore NOT recorded here. This is a deliberate omission: the
|
|
131
|
+
front-plate question is exactly the kind of per-state statutory fact the dossier warns
|
|
132
|
+
against importing from an aggregate table (§1.2 — 'The dataset should model
|
|
133
|
+
front-plate requirement as a per-jurisdiction field with a statute citation, not import
|
|
134
|
+
a list'), and no Minnesota statute stating it was fetched.
|
|
135
|
+
follow_up: "read Minn. Stat. § 169.79 and record display, mounting and orientation from it"
|
|
136
|
+
sources:
|
|
137
|
+
- "https://www.revisor.mn.gov/statutes/cite/168.12 # Minn. Stat. § 168.12 subd. 1(f)(4) cross-references § 169.79 for veterans' plates issued for life — the pointer establishing where Minnesota's display rules live"
|
|
138
|
+
|
|
139
|
+
series:
|
|
140
|
+
|
|
141
|
+
# =========================================================================
|
|
142
|
+
# THE STANDARD-ISSUE SERIES — photometrically specified, format-delegated.
|
|
143
|
+
# =========================================================================
|
|
144
|
+
- id: us-mn-standard
|
|
145
|
+
class: standard
|
|
146
|
+
categories: [car, van, truck, bus]
|
|
147
|
+
period: { start: 2024 }
|
|
148
|
+
period_evidence: instrument-in-force-upper-bound
|
|
149
|
+
matching: recall-only
|
|
150
|
+
format:
|
|
151
|
+
pattern: "999LLL"
|
|
152
|
+
regex: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
153
|
+
charset:
|
|
154
|
+
notes: >-
|
|
155
|
+
§ 168.12 subd. 1(a) is the whole statutory constraint on the serial, and it is
|
|
156
|
+
almost content-free: the commissioner issues plates 'bearing the state name and
|
|
157
|
+
an assigned vehicle registration number', and 'The number assigned by the
|
|
158
|
+
commissioner may be a combination of a letter or sign with figures.' The
|
|
159
|
+
arrangement is then delegated outright — the plates 'must be lettered, spaced, or
|
|
160
|
+
distinguished to suitably indicate the registration of the vehicle ACCORDING TO
|
|
161
|
+
THE RULES OF THE COMMISSIONER.' NO WIDTH, NO ARRANGEMENT and NO LETTER EXCLUSIONS
|
|
162
|
+
appear in the statute. Note the striking phrase 'a letter or SIGN with figures':
|
|
163
|
+
Minnesota law contemplates a non-alphanumeric SIGN in a registration number,
|
|
164
|
+
which if ever exercised would be a `never_separator` amendment under
|
|
165
|
+
PRD-PLATES §2.6 rule 3. No such sign is known to be in use.
|
|
166
|
+
pattern_note: >-
|
|
167
|
+
REPRESENTATIVE SHAPE ONLY, on the nl-export precedent, AND AN HONEST ADMISSION.
|
|
168
|
+
Neither Minnesota's serial width nor its arrangement was sourced in this pass: the
|
|
169
|
+
statute delegates both to the commissioner's rules, the relevant rules were not
|
|
170
|
+
located (Minnesota Rules chapter 7410 was fetched and is DRIVER LICENSING, not
|
|
171
|
+
plates), and the DVS website refused every request behind a bot-protection layer.
|
|
172
|
+
The regex is therefore the widest defensible alphanumeric frame and
|
|
173
|
+
`matching: recall-only` states plainly that a hit is a shape hit and nothing more.
|
|
174
|
+
Pinning the Minnesota arrangement is the single highest-value follow-up in this
|
|
175
|
+
group, because Minnesota is its largest state by vehicle count.
|
|
176
|
+
design:
|
|
177
|
+
contrast_rule: "§ 168.12 subd. 1(a): 'The color of the plates and the color of the abbreviation of the state name and the number assigned must be in marked contrast.'"
|
|
178
|
+
photometric_spec: >-
|
|
179
|
+
THE MOST DEMANDING PLATE SPECIFICATION IN GROUP MIDWEST-B, and it is legislated
|
|
180
|
+
rather than recommended. § 168.12 subd. 1(e), verbatim: 'The plates must be so
|
|
181
|
+
treated as to be at least 100 times brighter than the conventional painted number
|
|
182
|
+
plates. When properly mounted on an unlighted vehicle, the plates, when viewed from
|
|
183
|
+
a vehicle equipped with standard headlights, must be visible for a distance of not
|
|
184
|
+
less than 1,500 feet and readable for a distance of not less than 110 feet.' Three
|
|
185
|
+
testable quantities — a brightness RATIO against a named baseline, a visibility
|
|
186
|
+
distance and a readability distance — where most states legislate the word
|
|
187
|
+
'reflectorized' and stop.
|
|
188
|
+
weight_encoding: >-
|
|
189
|
+
§ 168.12 subd. 1(b), verbatim: 'When a vehicle is registered on the basis of total
|
|
190
|
+
gross weight, the plates issued must clearly indicate by letters or other suitable
|
|
191
|
+
insignia the maximum gross weight for which the tax has been paid.' This is a
|
|
192
|
+
WEIGHT-CLASS ENCODING ON THE PLATE, mandated by statute — the Minnesota analogue of
|
|
193
|
+
a region code, and the reason `region_encoding` below is not simply 'none'. The
|
|
194
|
+
letters or insignia used, and their mapping to weight bands, are set by the
|
|
195
|
+
commissioner and were NOT obtained (recorded gap).
|
|
196
|
+
noncommercial_legend: >-
|
|
197
|
+
§ 168.12 subd. 1(c), verbatim: 'Plates issued to a noncommercial vehicle must bear
|
|
198
|
+
the inscription "noncommercial" unless the vehicle is displaying a special plate
|
|
199
|
+
authorized and issued under this chapter.' A mandated NEGATIVE legend — the plate
|
|
200
|
+
declares what the vehicle is not — and one that a special plate switches off, so
|
|
201
|
+
the legend's absence proves nothing about the vehicle.
|
|
202
|
+
one_ton_pickup_rule: "§ 168.12 subd. 1(d): a one-ton pickup truck used for commercial purposes and subject to § 168.185 is nonetheless eligible to display special plates authorized under the chapter"
|
|
203
|
+
colour_note: >-
|
|
204
|
+
NO HEX IS RECORDED. § 168.12 mandates 'marked contrast' and a brightness ratio but
|
|
205
|
+
names no colour, and no Minnesota departmental colour specification or DVS page was
|
|
206
|
+
reachable. Recorded gap rather than an eyedropped value.
|
|
207
|
+
emblem: { present: true, rendered: placeholder }
|
|
208
|
+
replacement_cycle:
|
|
209
|
+
years: 7
|
|
210
|
+
statutory_text: >-
|
|
211
|
+
§ 168.12 subd. 1(f)(2): 'Plates issued for passenger automobiles must be issued for
|
|
212
|
+
a seven-year period. All plates issued under this paragraph must be replaced if they
|
|
213
|
+
are seven years old or older at the time of registration renewal or will become so
|
|
214
|
+
during the registration period.'
|
|
215
|
+
note: >-
|
|
216
|
+
A GENUINE MANDATORY REPLACEMENT, at the bottom of AAMVA §1.1's recommended 7-to-10
|
|
217
|
+
year band — and note the forward-looking trigger, which is a nice piece of drafting:
|
|
218
|
+
a plate must be replaced not only if it IS seven years old at renewal but if it WILL
|
|
219
|
+
BECOME so during the coming registration period, so no plate is ever lawfully driven
|
|
220
|
+
past seven years. Contrast Missouri, whose statute sets a six-year FLOOR and no
|
|
221
|
+
ceiling, and North Dakota, which legislates no cycle at all.
|
|
222
|
+
other_classes: "§ 168.12 subd. 1(f)(5): plates for vehicles not otherwise specified 'must be issued for the life of the vehicle' — so the seven-year rule is a PASSENGER-CAR rule, and a Minnesota trailer or truck plate may be arbitrarily old and still current"
|
|
223
|
+
exempt_agency_plates: "§ 168.12 subd. 1(f)(1): plates issued under § 168.012 subd. 1 to an exempt agency last as long as the agency owns the vehicle, are not transferable between vehicles, but MAY transfer with the vehicle from one tax-exempt agency to another"
|
|
224
|
+
veterans_plates: "§ 168.12 subd. 1(f)(4): plates under subds. 2c and 2d and §§ 168.123, 168.1235 and 168.1255 are issued for the LIFE OF THE VETERAN under § 169.79"
|
|
225
|
+
stickers: "§ 168.12 subd. 1(g): in a year in which plates are not issued the commissioner issues a registration sticker showing the year or years for which it is issued; plates and stickers may not be transferred to another vehicle during that period, except for vehicles registered under § 168.187"
|
|
226
|
+
driver_education_transfer: "§ 168.12 subd. 1(h): plates on a vehicle used for behind-the-wheel instruction in a public-school driver education course may be transferred to another vehicle used for the same purpose without any additional fee, on notice to the commissioner"
|
|
227
|
+
region_encoding:
|
|
228
|
+
geographic: none
|
|
229
|
+
weight_class: >-
|
|
230
|
+
PRESENT AND STATUTORY, though not geographic: § 168.12 subd. 1(b) requires
|
|
231
|
+
gross-weight-registered vehicles to carry letters or insignia indicating the maximum
|
|
232
|
+
gross weight for which tax has been paid. A Minnesota plate on a weight-registered
|
|
233
|
+
vehicle therefore decodes to a WEIGHT BAND, which is a real decode target for the
|
|
234
|
+
parse API and is the Minnesota entry in this dataset's region_encoding slot.
|
|
235
|
+
decode_status: "the letter-or-insignia to weight-band mapping is set by the commissioner and was NOT obtained (recorded gap); a decode file is warranted once it is"
|
|
236
|
+
decode_file_planned: "plates/_decode/us-mn-gross-weight-letters.yml"
|
|
237
|
+
sources:
|
|
238
|
+
- "https://www.revisor.mn.gov/statutes/cite/168.12 # Minn. Stat. § 168.12 subd. 1(a): state name and assigned number, 'a combination of a letter or sign with figures', marked contrast, and delegation of lettering and spacing to the commissioner's rules; (b) the gross-weight letters or insignia; (c) the mandatory 'noncommercial' inscription and its special-plate exception; (d) the one-ton pickup rule; (e) the 100x brightness ratio, 1,500-foot visibility and 110-foot readability; (f)(1)-(5) the issuance periods including the seven-year passenger replacement and the life-of-vehicle default; (g) stickers in non-issue years; (h) the driver-education transfer. History: 2024 c 104 art 1 s 17"
|
|
239
|
+
- "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf # AAMVA Ed.3 §1.1's 7-10 year recommendation, whose floor Minnesota legislated, and §3.3's 75-foot legibility figure against which Minnesota's statutory photometrics are markedly stricter"
|
|
240
|
+
notes: >-
|
|
241
|
+
MINNESOTA STANDARD ISSUE. THE ID IS DELIBERATELY UNDATED and the series is
|
|
242
|
+
deliberately `recall-only`, and the two go together: Minnesota legislates how BRIGHT
|
|
243
|
+
a plate must be and how LONG it may live, but delegates what is printed on it, so
|
|
244
|
+
this dataset can state Minnesota's physics precisely and its grammar not at all.
|
|
245
|
+
Recording that split honestly is more useful than a plausible-looking regex would be.
|
|
246
|
+
PERIOD CAVEAT: `start: 2024` is the last amendment year of § 168.12 and is an UPPER
|
|
247
|
+
BOUND on the true start of the current base, not a claim about it. THE ONE SERIES
|
|
248
|
+
BACK IS A RECORDED GAP: no primary establishing any Minnesota base-design boundary was
|
|
249
|
+
obtained, the DVS site was unreachable, and the commonly repeated 1978 date is
|
|
250
|
+
Wikipedia-grade and is not asserted here (see us_standards.folklore_caution).
|
|
251
|
+
|
|
252
|
+
# =========================================================================
|
|
253
|
+
# ROADABLE AIRCRAFT — the statutory bridge to the aircraft layer. This is a
|
|
254
|
+
# real series with a real, fully-specified format that Minnesota did not write.
|
|
255
|
+
# =========================================================================
|
|
256
|
+
- id: us-mn-roadable-aircraft
|
|
257
|
+
class: standard
|
|
258
|
+
categories: [aircraft]
|
|
259
|
+
period: { start: 2024 }
|
|
260
|
+
period_evidence: instrument-in-force-upper-bound
|
|
261
|
+
matching: strict
|
|
262
|
+
format:
|
|
263
|
+
pattern: "N99999"
|
|
264
|
+
regex: '\AN\d{1,5}[A-Z]{0,2}\z'
|
|
265
|
+
charset:
|
|
266
|
+
notes: >-
|
|
267
|
+
MINNESOTA ADOPTS A FEDERAL FORMAT BY REFERENCE. § 168.12 subd. 1(i), verbatim:
|
|
268
|
+
'In lieu of plates required under this section, the commissioner must issue a
|
|
269
|
+
registration number identical to the federally issued tail number assigned to a
|
|
270
|
+
roadable aircraft.' The grammar is therefore 14 CFR 47.15(b)'s, not Minnesota's:
|
|
271
|
+
'A U.S. registration number may not exceed five symbols in addition to the prefix
|
|
272
|
+
letter "N". These symbols may be all numbers (N10000), one to four numbers and one
|
|
273
|
+
suffix letter (N 1000A), or one to three numbers and two suffix letters (N 100AB).
|
|
274
|
+
The letters "I" and "O" may not be used. The first zero in a number must always be
|
|
275
|
+
preceded by at least one of the numbers 1 through 9.'
|
|
276
|
+
excluded: ["I", "O"]
|
|
277
|
+
excluded_basis: "14 CFR 47.15(b): 'The letters \"I\" and \"O\" may not be used' — a federal exclusion, and the only sourced letter exclusion anywhere in group midwest-b"
|
|
278
|
+
regex_strict: '\AN(?:[1-9]\d{0,4}|[1-9]\d{0,3}[A-HJ-NP-Z]|[1-9]\d{0,2}[A-HJ-NP-Z]{2})\z'
|
|
279
|
+
pattern_note: >-
|
|
280
|
+
`regex` is the shape of an N-number; `regex_strict` is the AUTHORITY'S OWN GRAMMAR
|
|
281
|
+
and narrows it on two counts the round-trippable form cannot carry — the I/O
|
|
282
|
+
exclusion, spelled as the ranges A-H, J-N and P-Z, and the leading-zero prohibition,
|
|
283
|
+
spelled by requiring the first symbol after N to be 1-9. This is a textbook case of
|
|
284
|
+
why PRD-PLATES §2.7's strict twin exists: the charset restriction is real, sourced
|
|
285
|
+
and unrepresentable in a regex that must round-trip a human pattern.
|
|
286
|
+
design:
|
|
287
|
+
note: "no plate design is prescribed — subd. 1(i) issues a registration NUMBER 'in lieu of plates required under this section', so what is displayed is the aircraft's existing tail number"
|
|
288
|
+
emblem: { present: false }
|
|
289
|
+
binding: vehicle
|
|
290
|
+
region_encoding: "none — an N-number encodes no geography; the FAA assigns it nationally"
|
|
291
|
+
sources:
|
|
292
|
+
- "https://www.revisor.mn.gov/statutes/cite/168.12 # Minn. Stat. § 168.12 subd. 1(i): 'the commissioner must issue a registration number identical to the federally issued tail number assigned to a roadable aircraft'"
|
|
293
|
+
- "https://www.ecfr.gov/current/title-14/section-47.15 # 14 CFR 47.15(b): the N-number grammar Minnesota adopts by reference — five symbols after the N prefix, the three permitted arrangements, the I/O exclusion and the leading-zero rule. A US federal edict, public domain"
|
|
294
|
+
notes: >-
|
|
295
|
+
ROADABLE AIRCRAFT. This series is small, strange and genuinely valuable to the
|
|
296
|
+
dataset, because it is a STATUTORY BRIDGE between the road-vehicle layer this program
|
|
297
|
+
is building now and the aircraft layer PRD-PLATES §7 schedules for gate L6: Minnesota
|
|
298
|
+
law says a roadable aircraft's road registration number IS its FAA tail number. Two
|
|
299
|
+
consequences worth carrying forward. First, `categories: [aircraft]` exercises the
|
|
300
|
+
schema's kind-extensibility exactly as PRD-PLATES §2.2 anticipated, with no schema
|
|
301
|
+
change. Second, this is the only series in group midwest-b whose format is fully
|
|
302
|
+
specified by a fetched primary INCLUDING its charset exclusions, which is why it is
|
|
303
|
+
the only one here carrying a `regex_strict` — and the specification came from the
|
|
304
|
+
Code of Federal Regulations rather than from any state. The FAA additionally publishes
|
|
305
|
+
a free bulk registration database (registry.faa.gov/database/ReleasableAircraft.zip),
|
|
306
|
+
which would make this the one series in the group testable against a real corpus.
|
|
307
|
+
|
|
308
|
+
# =========================================================================
|
|
309
|
+
# COLLECTOR-VEHICLE FAMILY — four statutory inscriptions, one regime, and a
|
|
310
|
+
# permanent validity that makes them invisible to any era inference.
|
|
311
|
+
# =========================================================================
|
|
312
|
+
- id: us-mn-collector
|
|
313
|
+
class: historic
|
|
314
|
+
categories: [car, truck]
|
|
315
|
+
period: { start: 2024 }
|
|
316
|
+
period_evidence: instrument-in-force-upper-bound
|
|
317
|
+
matching: recall-only
|
|
318
|
+
format:
|
|
319
|
+
pattern: "LLL999"
|
|
320
|
+
regex: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
321
|
+
pattern_note: >-
|
|
322
|
+
REPRESENTATIVE SHAPE ONLY. § 168.10 gives each of these plates 'the registration
|
|
323
|
+
number OR OTHER COMBINATION OF CHARACTERS authorized under section 168.12,
|
|
324
|
+
subdivision 2a' — i.e. the serial may be an ordinary assigned number or a
|
|
325
|
+
personalized combination, so the series' own space is a union and
|
|
326
|
+
`matching: recall-only` is mandatory. § 168.12 subd. 2a itself was NOT read in this
|
|
327
|
+
pass (recorded gap), so the personalized frame it authorises is not encoded.
|
|
328
|
+
design:
|
|
329
|
+
legend_variants: ["Pioneer", "Classic Car", "Collector", "Street Rod"]
|
|
330
|
+
legend_rule: >-
|
|
331
|
+
§ 168.10 prescribes the inscription for each sub-regime in near-identical terms:
|
|
332
|
+
the plate 'shall bear the inscription "Pioneer," "Minnesota" and the registration
|
|
333
|
+
number or other combination of characters authorized under section 168.12,
|
|
334
|
+
subdivision 2a, BUT NO DATE', and likewise for 'Classic Car', 'Collector' and
|
|
335
|
+
'Street Rod'. Four legends, one grammar, one validity rule.
|
|
336
|
+
no_date: "each of the four expressly bears NO DATE — which is the visible consequence of the permanent validity below, and a real trap for anyone dating a Minnesota vehicle from its plate"
|
|
337
|
+
emblem: { present: true, rendered: placeholder }
|
|
338
|
+
colour_note: "no hex recorded; § 168.10 prescribes inscriptions and silence on colour"
|
|
339
|
+
plate_count: "a SINGLE plate is issued for the Pioneer, Classic Car, Collector and Street Rod regimes ('shall issue a single number plate', § 168.10); a separate Collector provision issues plates in the plural, so the count is not uniform across the family"
|
|
340
|
+
validity: >-
|
|
341
|
+
PERMANENT AND UNRENEWED: 'The number plate is valid without renewal as long as the
|
|
342
|
+
vehicle is in existence in Minnesota' (§ 168.10, repeated for each sub-regime). The
|
|
343
|
+
commissioner may revoke for failure to comply with the subdivision.
|
|
344
|
+
region_encoding: none
|
|
345
|
+
sources:
|
|
346
|
+
- "https://www.revisor.mn.gov/statutes/cite/168.10 # Minn. Stat. § 168.10: the 'Pioneer', 'Classic Car', 'Collector' and 'Street Rod' inscriptions, each with 'Minnesota' and the registration number or a § 168.12 subd. 2a character combination but NO DATE; single-plate issuance; validity without renewal as long as the vehicle exists in Minnesota; the commissioner's revocation power"
|
|
347
|
+
- "https://www.revisor.mn.gov/statutes/cite/168.12 # Minn. Stat. § 168.12 subd. 2a, cross-referenced by § 168.10 as the source of the alternative character combinations (text not read in this pass — recorded gap)"
|
|
348
|
+
notes: >-
|
|
349
|
+
THE MINNESOTA COLLECTOR FAMILY — Pioneer, Classic Car, Collector and Street Rod —
|
|
350
|
+
modelled as ONE series with four legend variants rather than four series, because
|
|
351
|
+
§ 168.10 gives them a single grammar, a single validity rule and a single no-date
|
|
352
|
+
rule, and PRD-PLATES §2.3 makes a variant its own series only where format OR design
|
|
353
|
+
OR period differs. Here only the inscription word differs.
|
|
354
|
+
THE FACT WORTH CARRYING FORWARD is the interaction of two provisions: these plates
|
|
355
|
+
bear NO DATE and are valid FOREVER without renewal. A Minnesota collector plate
|
|
356
|
+
therefore carries no temporal information whatsoever, cannot be aged from its own
|
|
357
|
+
face, and may have been issued at any point since the regime began — which, together
|
|
358
|
+
with the year-of-manufacture regimes in North Dakota and Kansas, means every state in
|
|
359
|
+
this group has at least one class of plate that defeats era inference.
|
|
360
|
+
ELIGIBILITY THRESHOLDS for each of the four regimes are in § 168.10's subdivisions and
|
|
361
|
+
were not extracted in this pass (recorded gap).
|
|
362
|
+
|
|
363
|
+
# =========================================================================
|
|
364
|
+
# SPECIALTY — THE PROGRAM INDEX, per PRD-PLATES §2.5.
|
|
365
|
+
# =========================================================================
|
|
366
|
+
- id: us-mn-specialty-index
|
|
367
|
+
class: specialty
|
|
368
|
+
categories: [car, van, truck, motorcycle]
|
|
369
|
+
period: { start: 2024 }
|
|
370
|
+
period_evidence: instrument-in-force-upper-bound
|
|
371
|
+
matching: recall-only
|
|
372
|
+
format:
|
|
373
|
+
pattern: "999LLL"
|
|
374
|
+
regex: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
375
|
+
pattern_note: "REPRESENTATIVE SHAPE ONLY; the index stands for many programs whose arrangements are not individually stated and whose common frame was not sourced"
|
|
376
|
+
design:
|
|
377
|
+
note: "one design per authorised program; the designs themselves are L4 scope (PRD-PLATES §2.5) and none is described here"
|
|
378
|
+
emblem: { present: true, rendered: placeholder }
|
|
379
|
+
program_index:
|
|
380
|
+
count_official: null
|
|
381
|
+
count_status: >-
|
|
382
|
+
NOT ESTABLISHED. No Minnesota specialty-plate count was obtained: DVS pages sit
|
|
383
|
+
behind a bot-protection layer that refused every request in this pass, and the
|
|
384
|
+
statutory enumeration — Minnesota creates special plates in a long run of
|
|
385
|
+
subdivisions of § 168.12 and in §§ 168.123, 168.1235, 168.1255 and neighbours — was
|
|
386
|
+
not completed. Recording null with an explicit status is better than importing a
|
|
387
|
+
secondary figure.
|
|
388
|
+
structural_note: >-
|
|
389
|
+
WHAT IS SOURCED about the structure: § 168.12 subd. 1(c) shows special plates
|
|
390
|
+
DISPLACING the mandatory 'noncommercial' legend, and subd. 1(d) shows a commercial
|
|
391
|
+
one-ton pickup remaining eligible for them, so Minnesota special plates are
|
|
392
|
+
substitutes for the standard plate rather than overlays on it. § 168.12 subd. 2
|
|
393
|
+
(amateur radio) is one worked example: the commissioner issues amateur radio plates
|
|
394
|
+
to an owner of a passenger automobile or recreational vehicle who is a Minnesota
|
|
395
|
+
resident holding an FCC amateur or citizens-band class D licence in good standing,
|
|
396
|
+
on payment of the § 168.12 subd. 5 special-plate fee.
|
|
397
|
+
known_program_hooks: ["168.12 subd. 2 (amateur radio)", "168.12 subds. 2a, 2c, 2d", "168.123", "168.1235", "168.1255"]
|
|
398
|
+
official_list_url: "https://www.revisor.mn.gov/statutes/cite/168.12"
|
|
399
|
+
dvs_status: "the Minnesota DVS website (mn.gov/dps/dvs) was UNREACHABLE in this pass — a ShieldSquare/bot-protection challenge on every request, via two clients; recorded so a later run does not mistake it for unfetched-but-fine"
|
|
400
|
+
region_encoding: none
|
|
401
|
+
sources:
|
|
402
|
+
- "https://www.revisor.mn.gov/statutes/cite/168.12 # Minn. Stat. § 168.12 subd. 2: the amateur radio plate and its eligibility and fee conditions, the worked example of a Minnesota special-plate authorization; subd. 1(c)-(d): special plates displacing the 'noncommercial' legend and remaining available to commercial one-ton pickups"
|
|
403
|
+
- "https://www.revisor.mn.gov/statutes/cite/168.10 # Minn. Stat. § 168.10: the collector-vehicle plate regimes, which sit alongside the specialty programs and are specified separately above"
|
|
404
|
+
notes: >-
|
|
405
|
+
THE SPECIALTY PROGRAM INDEX — present as required by PRD-PLATES §2.5, CARRYING NO
|
|
406
|
+
COUNT. Minnesota and Kansas are the two states in group midwest-b that yielded no
|
|
407
|
+
specialty figure at all, in both cases because the issuing agency's website refused
|
|
408
|
+
automated requests and the statutory enumeration was not completed. The honest record
|
|
409
|
+
is `count_official: null` plus the sourced structural facts and the specific hooks a
|
|
410
|
+
later pass should enumerate — which is materially more useful to a verifier than a
|
|
411
|
+
borrowed number would be.
|