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.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +164 -0
- data/CHANGELOG.md +321 -0
- data/README.md +88 -15
- data/data/PROVENANCE-vehicles.md +12 -0
- data/data/plates/PROVENANCE.md +10 -0
- 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/es-provinces.yml +116 -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 +26 -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 +1107 -0
- data/data/plates/dk.yml +1647 -0
- data/data/plates/ee.yml +1275 -0
- data/data/plates/es.yml +888 -0
- 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 +1016 -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 +741 -0
- 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 +18 -2
- 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 +42 -6
- data/lib/vehicles/plates/jurisdiction.rb +32 -0
- data/lib/vehicles/plates/series.rb +291 -0
- data/lib/vehicles/plates/template_fill.rb +188 -0
- data/lib/vehicles/plates/templates.rb +162 -0
- data/lib/vehicles/plates.rb +122 -0
- data/lib/vehicles/providers/hosted_provider.rb +49 -58
- data/lib/vehicles/providers/local_provider.rb +4 -3
- 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 +53 -16
- data/rakelib/data_refresh.rake +109 -0
- data/rakelib/plates_refresh.rake +29 -0
- data/sig/vehicles.rbs +18 -0
- metadata +174 -2
|
@@ -0,0 +1,592 @@
|
|
|
1
|
+
# plates/us-ny.yml — New York (PRD-PLATES gate L2, mid-Atlantic group).
|
|
2
|
+
#
|
|
3
|
+
# WHY NEW YORK IS THE HARD ARTWORK CASE. The US/world dossier flags NY as
|
|
4
|
+
# ADVERSE: courts have held works of the State of New York generally subject to
|
|
5
|
+
# copyright (County of Suffolk v. First American Real Estate Solutions, 261 F.3d
|
|
6
|
+
# 179 (2d Cir. 2001)), there is no {{PD-NYGov}} tag on Commons, and the current
|
|
7
|
+
# Excelsior base is the most graphically loaded standard plate in this group —
|
|
8
|
+
# Niagara Falls and the New York City skyline across the bottom. Under PRD-PLATES
|
|
9
|
+
# §3 the emblem/graphic slot renders as a NEUTRAL PLACEHOLDER here, and unlike
|
|
10
|
+
# Florida there is no favourable state posture to revisit it against. See
|
|
11
|
+
# `artwork_risk`.
|
|
12
|
+
#
|
|
13
|
+
# SOURCING RULE APPLIED HERE. New York's Vehicle & Traffic Law is unusually
|
|
14
|
+
# THIN on plate design: § 401(3)(a) hands the commissioner discretion over
|
|
15
|
+
# reflectorisation "according to specifications prescribed by the commissioner",
|
|
16
|
+
# and § 402(2)'s entire colour rule is that there be "a marked contrast between
|
|
17
|
+
# the color of the number plates and that of the numerals or letters thereon".
|
|
18
|
+
# NO SERIAL FORMAT, NO COLOUR VALUE AND NO PLATE DIMENSION IS IN THE STATUTE.
|
|
19
|
+
# So the statute carries the display law and the character bound (§ 404), the
|
|
20
|
+
# DMV's own pages carry the charset and the specialty count, and the serial
|
|
21
|
+
# ARRANGEMENTS (ABC-1234) are locator-grade and labelled as such per series in
|
|
22
|
+
# `format_evidence`. Nothing here launders a Wikipedia era table as sourced.
|
|
23
|
+
#
|
|
24
|
+
# period_evidence VOCABULARY used across the mid-Atlantic group:
|
|
25
|
+
# statutory-date the instrument states the date in terms
|
|
26
|
+
# instrument-in-force-upper-bound the edition read; an UPPER bound only
|
|
27
|
+
# agency-page-in-force an official agency page shows it current
|
|
28
|
+
# secondary-locator-unverified a year reported ONLY by a locator
|
|
29
|
+
# (Wikipedia); NOT a sourced claim
|
|
30
|
+
#
|
|
31
|
+
# format_evidence VOCABULARY (same group):
|
|
32
|
+
# statutory | official-agency-image | official-agency-text |
|
|
33
|
+
# secondary-locator-unverified
|
|
34
|
+
jurisdiction: us-ny
|
|
35
|
+
authority:
|
|
36
|
+
name: New York State Department of Motor Vehicles (NYSDMV)
|
|
37
|
+
url: "https://dmv.ny.gov/"
|
|
38
|
+
binding: vehicle
|
|
39
|
+
statute_edition: "New York Consolidated Laws, Vehicle and Traffic Law (VAT), as served by nysenate.gov and read 2026-08-02. No point-in-time edition marker is exposed by that service, so the read date is the edition marker."
|
|
40
|
+
|
|
41
|
+
# ---------------------------------------------------------------------------
|
|
42
|
+
# artwork_risk — required per jurisdiction by PRD-PLATES §4.
|
|
43
|
+
# ---------------------------------------------------------------------------
|
|
44
|
+
artwork_risk:
|
|
45
|
+
posture: adverse
|
|
46
|
+
basis: >-
|
|
47
|
+
New York is one of the four states the US/world dossier names as ADVERSE.
|
|
48
|
+
17 U.S.C. § 105 puts only FEDERAL works in the public domain and does not
|
|
49
|
+
reach the states, so a state work is copyrighted unless the state says
|
|
50
|
+
otherwise — and New York does not say otherwise. The Second Circuit in
|
|
51
|
+
County of Suffolk v. First American Real Estate Solutions, 261 F.3d 179 (2d
|
|
52
|
+
Cir. 2001) held that New York's Freedom of Information Law does not strip
|
|
53
|
+
copyright from a New York government work, i.e. works of New York
|
|
54
|
+
governments are GENERALLY COPYRIGHTABLE. No {{PD-NYGov}} template exists on
|
|
55
|
+
Wikimedia Commons, in contrast to {{PD-FLGov}}, {{PD-CAGov}}, {{PD-GAGov}}
|
|
56
|
+
and {{PD-MAGov}}.
|
|
57
|
+
evidence_grade: >-
|
|
58
|
+
HONEST LIMIT: the County of Suffolk opinion itself was NOT FETCHED in this
|
|
59
|
+
pass — it was located through the Wikipedia survey of subnational copyright
|
|
60
|
+
status, which is a LOCATOR under PRD-PLATES §4 and not an authority. The
|
|
61
|
+
CITATION is recorded so a verifier can pull the opinion (an edict of
|
|
62
|
+
government, public domain, and freely quotable once obtained). The posture
|
|
63
|
+
conclusion should be re-derived from the opinion before any render decision
|
|
64
|
+
is taken on New York artwork.
|
|
65
|
+
emblem_rule: >-
|
|
66
|
+
RENDER PLACEHOLDER, and unlike Florida do not expect to revisit it. The
|
|
67
|
+
Excelsior base carries a photographic-derived Niagara Falls image and a New
|
|
68
|
+
York City skyline; the Empire Gold base carries none. Both are
|
|
69
|
+
`graphic: {present: true, rendered: placeholder}`. PRD-PLATES §4.5's own
|
|
70
|
+
risk ladder puts "exact reproduction of the state's graphic" at the top of
|
|
71
|
+
the risk column in NY specifically.
|
|
72
|
+
photograph_caution: >-
|
|
73
|
+
Commons photographs of New York plates are the photographer's licence on
|
|
74
|
+
the photograph and say nothing about the design (the standing §4 reading).
|
|
75
|
+
One New York plate file is genuinely public domain and it is PD BY AGE, not
|
|
76
|
+
by government status: File:1911 government-issued New York state license
|
|
77
|
+
plate, 63923.png — pre-1929 publication. That is a design-level clearance
|
|
78
|
+
for a 1911 plate and for nothing later.
|
|
79
|
+
sources:
|
|
80
|
+
- "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR ONLY: surfaces County of Suffolk v. First American Real Estate Solutions, 261 F.3d 179 (2d Cir. 2001) and the 'works of this state are subject to copyright restrictions' reading. The opinion itself was not fetched."
|
|
81
|
+
- "https://commons.wikimedia.org/wiki/Commons:Copyright_rules_by_territory/United_States # the state-exclusion rule ('This does not include governments of the individual states') and the list of state PD tags that exist — New York is absent from it"
|
|
82
|
+
|
|
83
|
+
# ---------------------------------------------------------------------------
|
|
84
|
+
# The US standards chain, recorded per state because adoption is VOLUNTARY.
|
|
85
|
+
# Nothing below quotes SAE J686: its text is paywalled and UNPINNED, and the
|
|
86
|
+
# standing rule is that AAMVA is the only route to a US dimension claim.
|
|
87
|
+
# ---------------------------------------------------------------------------
|
|
88
|
+
us_standards:
|
|
89
|
+
no_federal_mandate: true
|
|
90
|
+
chain: "SAE J686 -> AAMVA License Plate Standard Edition 3 (September 2025) -> voluntary state adoption. AAMVA writes recommendations in the declarative present and has no enforcement power."
|
|
91
|
+
aamva_edition_3:
|
|
92
|
+
dimensions_delegated: "AAMVA §3.1 sends plate dimensions and bolt holes to SAE J686. J686's own text was NOT obtained (paywalled); no J686 dimension is quoted here. New York's Vehicle and Traffic Law states no plate dimension at all, so this file carries NO sourced dimension for a New York plate — a recorded gap, not an omission."
|
|
93
|
+
character_layout: "AAMVA §2.2: characters at least 2.5 in high, spaced at least 0.25 in apart, stroke weight 0.2-0.4 in, at least 1.25 in clear of top and bottom edges — RECOMMENDED practice, not New York law."
|
|
94
|
+
jurisdiction_name_layout: "AAMVA §2.1: jurisdiction name in the top centre between the bolt holes, at least 0.25 in above the plate number; jurisdiction characters 0.75-1.0 in. New York's 'NEW YORK' legend sits top-centre, consistent with this recommendation."
|
|
95
|
+
replacement_cycle: "AAMVA §1.1 recommends a replacement cycle 'not to exceed 7 to 10 years'. New York legislates NO replacement cycle — VAT § 401 has no reissuance clause and § 402 has no plate-age rule. Contrast Pennsylvania, which legislates a reissuance PROGRAM (75 Pa.C.S. § 1331(f)), and Florida, which legislates 10 years."
|
|
96
|
+
source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
|
|
97
|
+
folklore_caution: >-
|
|
98
|
+
The "1956 AMA standardization agreement" that supposedly fixed the 6x12 inch
|
|
99
|
+
plate is UNCITED in its Wikipedia source (a `citation needed` since 2017,
|
|
100
|
+
copied verbatim across articles). It is recorded as COMMONLY REPEATED,
|
|
101
|
+
UNSOURCED. New York, unlike Florida, has no statutory dimension to put in
|
|
102
|
+
its place, so this file simply carries none.
|
|
103
|
+
|
|
104
|
+
# ---------------------------------------------------------------------------
|
|
105
|
+
# Display rules. New York is a TWO-PLATE state with a one-plate fallback
|
|
106
|
+
# written into the statute itself.
|
|
107
|
+
# ---------------------------------------------------------------------------
|
|
108
|
+
display_rules:
|
|
109
|
+
default: "TWO plates. VAT § 402(1)(a) requires number plates displayed 'one on the front and one on the rear of such vehicle', with the fallback that 'in any registration year for which only one number plate is issued, such number plate shall ... be displayed on the rear'."
|
|
110
|
+
mounting: "§ 402(1)(a): not higher than forty-eight inches and not lower than twelve inches from the ground."
|
|
111
|
+
legibility: "§ 402(1)(b)(i): 'Number plates shall be kept clean and in a condition so as to be easily readable'."
|
|
112
|
+
obstruction: "§ 402(1)(b)(iii): 'The view of such number plates shall not be obstructed by any part of the vehicle or by anything carried thereon'."
|
|
113
|
+
contrast_rule: "§ 402(2): 'there shall be at all times a marked contrast between the color of the number plates and that of the numerals or letters thereon'. THIS IS THE ENTIRE STATUTORY COLOUR LAW OF NEW YORK — a property, not a value, exactly like Florida's 'distinguishing color' for historic plates."
|
|
114
|
+
issuance: "§ 401(3)(a): the commissioner shall 'assign to such motor vehicle a distinctive number and, without expense to the applicant, issue and deliver ... a certificate of registration ... and two number plates'. A plate 'may, in the discretion of the commissioner, be a plate of a permanent nature, treated with reflectorized material according to specifications prescribed by the commissioner', with an additional fee 'not to exceed twenty-five dollars' when a reflectorized set is issued."
|
|
115
|
+
sources:
|
|
116
|
+
- "https://www.nysenate.gov/legislation/laws/VAT/402 # § 402(1)(a) two plates front and rear + one-plate fallback, 48 in / 12 in mounting; (1)(b)(i) clean and easily readable; (1)(b)(iii) no obstruction; (2) the marked-contrast rule"
|
|
117
|
+
- "https://www.nysenate.gov/legislation/laws/VAT/401 # § 401(3)(a) distinctive number, TWO number plates, reflectorized material to the commissioner's specifications, the $25 reflectorized-set fee; (3)(b) re-assignment of the distinctive number on surrender"
|
|
118
|
+
|
|
119
|
+
# ---------------------------------------------------------------------------
|
|
120
|
+
# A SCHEMA STRESSOR NEW YORK CREATES ALL BY ITSELF (PRD-PLATES §2.6 rule 3).
|
|
121
|
+
# ---------------------------------------------------------------------------
|
|
122
|
+
serial_alphabet_finding:
|
|
123
|
+
headline: "New York lets a GRAPHIC be a character inside the serial."
|
|
124
|
+
text: >-
|
|
125
|
+
NYSDMV's personalised-plate rules state, in terms: 'A character is a letter
|
|
126
|
+
(A to Z), number (0 to 9), the state image, or a space.' The state image is
|
|
127
|
+
counted toward the eight-character allowance, and 'your plate combination
|
|
128
|
+
cannot begin or end with the state image. It must have at least one
|
|
129
|
+
character on each side of it.' That is a glyph INSIDE a serial, which
|
|
130
|
+
PRD-PLATES §2.6 rule 3 says is a SCHEMA AMENDMENT, not a data entry. It is
|
|
131
|
+
NOT encoded anywhere in this file: `_meta/separators.yml` declares the
|
|
132
|
+
serial alphabet as A-Z and 0-9 and nothing else, and there is no sanctioned
|
|
133
|
+
way to spell a state-outline glyph in a pattern or a regex.
|
|
134
|
+
consequence: >-
|
|
135
|
+
Every New York regex in this file describes the ALPHANUMERIC-ONLY subset.
|
|
136
|
+
A New York personalised plate containing the state image is a real,
|
|
137
|
+
lawfully issued registration that this dataset cannot currently express,
|
|
138
|
+
and a consumer must not read a non-match as invalidity. Recommended
|
|
139
|
+
amendment: add the New York state image to `_meta/separators.yml`'s
|
|
140
|
+
`never_separator` list with this citation, so no consumer's
|
|
141
|
+
separator-stripping tier ever deletes it, and open the `format.fields[]`
|
|
142
|
+
question the Japan row already raises.
|
|
143
|
+
source: "https://dmv.ny.gov/plates/personalized-plate-numbers # 'A character is a letter (A to Z), number (0 to 9), the state image, or a space'; 2 to 8 characters on a standard plate; the no-leading/trailing-state-image rule"
|
|
144
|
+
|
|
145
|
+
series:
|
|
146
|
+
|
|
147
|
+
# =========================================================================
|
|
148
|
+
# THE CURRENT STANDARD-ISSUE SERIES.
|
|
149
|
+
# =========================================================================
|
|
150
|
+
- id: us-ny-excelsior
|
|
151
|
+
class: standard
|
|
152
|
+
categories: [car, van, truck, bus]
|
|
153
|
+
period: { start: 2020 }
|
|
154
|
+
period_evidence: secondary-locator-unverified
|
|
155
|
+
format_evidence: secondary-locator-unverified
|
|
156
|
+
matching: strict
|
|
157
|
+
format:
|
|
158
|
+
pattern: "LLL-9999"
|
|
159
|
+
regex: '\A[A-Z]{3}-?\d{4}\z'
|
|
160
|
+
charset:
|
|
161
|
+
notes: >-
|
|
162
|
+
NO CHARSET RULE IS IN THE STATUTE. VAT § 401(3)(a) says only that the
|
|
163
|
+
commissioner assigns 'a distinctive number'; § 404 caps SPECIAL plates
|
|
164
|
+
at 'not more than eight letters, numerals or any combination thereof',
|
|
165
|
+
which bounds personalised configurations rather than the ordinary
|
|
166
|
+
series. The letter exclusions reported for New York (I, O and Q
|
|
167
|
+
excluded from the 2001 Empire State series) are locator-grade and are
|
|
168
|
+
recorded on `us-ny-empire-state-2001` below, not asserted here.
|
|
169
|
+
pattern_note: >-
|
|
170
|
+
The three-letter / four-numeral arrangement and the KAA-1000 starting
|
|
171
|
+
point are reported by the Wikipedia article and by NOTHING ELSE
|
|
172
|
+
obtained in this pass. NYSDMV publishes no serial-format statement and
|
|
173
|
+
the Vehicle and Traffic Law states none. `format_evidence` is therefore
|
|
174
|
+
`secondary-locator-unverified` and a verifier must re-derive the
|
|
175
|
+
arrangement before this series carries a five-nines claim. The hyphen is
|
|
176
|
+
optional in the regex because it is a printed separator (PRD-PLATES
|
|
177
|
+
§2.6): the canonical separator-free twin is derived, not shipped.
|
|
178
|
+
stacked_characters_note: "AAMVA treats stacked characters as part of the official number, at most two stacked. New York does not stack on the passenger base."
|
|
179
|
+
design:
|
|
180
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
181
|
+
foreground: "#003087"
|
|
182
|
+
colour_note: >-
|
|
183
|
+
NEITHER COLOUR IS IN THE STATUTE — VAT § 402(2) requires only 'a marked
|
|
184
|
+
contrast'. Dark-blue characters on white is the reported and observed
|
|
185
|
+
appearance; both hexes are `hex_basis: observed` and unverified pending a
|
|
186
|
+
departmental specification. NYSDMV's own page describes the plate only as
|
|
187
|
+
'featuring New York State landmarks'.
|
|
188
|
+
legend_top: "NEW YORK"
|
|
189
|
+
legend_bottom: "EXCELSIOR"
|
|
190
|
+
graphic:
|
|
191
|
+
present: true
|
|
192
|
+
rendered: placeholder
|
|
193
|
+
description: "Niagara Falls and a New York City skyline across the lower half, with the state motto EXCELSIOR — reported by a locator and visible in NYSDMV's own page imagery. NOT rendered: this is the single highest-risk artwork in the mid-Atlantic group under `artwork_risk` above."
|
|
194
|
+
emblem: { present: true, rendered: placeholder }
|
|
195
|
+
band: { side: none }
|
|
196
|
+
rear_differs: false
|
|
197
|
+
dimension_note: "NO SOURCED DIMENSION. New York states no plate size in statute and AAMVA delegates dimensions to the unpinned SAE J686. Recorded gap rather than the conventional 12x6 in assumed."
|
|
198
|
+
replacement_cycle:
|
|
199
|
+
years: null
|
|
200
|
+
note: "NEW YORK LEGISLATES NO REPLACEMENT CYCLE. Neither VAT § 401 nor § 402 states a plate age limit or a reissuance duty. NYSDMV runs a 'Peeling and Damaged License Plates' remedy instead, i.e. condition-triggered rather than age-triggered. This is the opposite pole from Florida's statutory 10 years and from Pennsylvania's statutory reissuance PROGRAM."
|
|
201
|
+
region_encoding: none
|
|
202
|
+
sources:
|
|
203
|
+
- "https://dmv.ny.gov/plates # NYSDMV: 'DMV now offers Excelsior license plates featuring New York State landmarks' — the official evidence that this design is the current offering (agency-page-in-force)"
|
|
204
|
+
- "https://www.nysenate.gov/legislation/laws/VAT/401 # § 401(3)(a): the distinctive number, two plates, reflectorized material to the commissioner's specifications — the whole of New York's statutory design law"
|
|
205
|
+
- "https://www.nysenate.gov/legislation/laws/VAT/402 # § 402(2): the marked-contrast rule, which is why the hexes below are `observed` and not `spec`"
|
|
206
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_York # LOCATOR ONLY (PRD-PLATES §4): the June 2020 introduction, the ABC-1234 arrangement and the KAA-1000 start. None of the three is asserted as sourced."
|
|
207
|
+
notes: >-
|
|
208
|
+
EXCELSIOR — THE CURRENT NEW YORK STANDARD ISSUE. `start: 2020` is
|
|
209
|
+
`secondary-locator-unverified`: the June 2020 rollout is reported by
|
|
210
|
+
Wikipedia and by no primary obtained here. What IS officially sourced is
|
|
211
|
+
that the Excelsior plate is the design NYSDMV offers today, which makes
|
|
212
|
+
2020 a plausible start and 2026 an instrument-in-force upper bound; the
|
|
213
|
+
honest record is both facts with their grades, not a single confident
|
|
214
|
+
year. PARALLEL ISSUANCE IS REAL HERE: New York has no replacement cycle,
|
|
215
|
+
so Empire Gold plates from 2010 remain lawfully on the road indefinitely
|
|
216
|
+
alongside Excelsior plates — which is why the two series overlap at 2020
|
|
217
|
+
and why this note and the Empire Gold note differ.
|
|
218
|
+
|
|
219
|
+
# =========================================================================
|
|
220
|
+
# ONE SERIES BACK.
|
|
221
|
+
# =========================================================================
|
|
222
|
+
- id: us-ny-empire-gold
|
|
223
|
+
class: standard
|
|
224
|
+
categories: [car, van, truck, bus]
|
|
225
|
+
period: { start: 2010, end: 2020 }
|
|
226
|
+
period_evidence: secondary-locator-unverified
|
|
227
|
+
format_evidence: secondary-locator-unverified
|
|
228
|
+
matching: strict
|
|
229
|
+
format:
|
|
230
|
+
pattern: "LLL-9999"
|
|
231
|
+
regex: '\A[A-Z]{3}-?\d{4}\z'
|
|
232
|
+
charset: { notes: "no charset rule in statute; see us-ny-excelsior. The reported start of this series is FAA-1000." }
|
|
233
|
+
design:
|
|
234
|
+
background: { color: "#F2B700", finish: retroreflective, hex_basis: observed }
|
|
235
|
+
foreground: "#003087"
|
|
236
|
+
colour_note: "Dark blue serial on a golden-yellow ground — reported and observed, `hex_basis: observed`. VAT § 402(2)'s marked-contrast rule is satisfied by it and says nothing more."
|
|
237
|
+
legend_top: "NEW YORK"
|
|
238
|
+
legend_bottom: "EMPIRE STATE"
|
|
239
|
+
graphic: { present: false, rendered: none, description: "the Empire Gold base is TYPOGRAPHIC ONLY — no landmark imagery. It is therefore the low-artwork-risk New York base and the one a render can approach most safely." }
|
|
240
|
+
emblem: { present: false }
|
|
241
|
+
band: { side: none }
|
|
242
|
+
rear_differs: false
|
|
243
|
+
region_encoding: none
|
|
244
|
+
sources:
|
|
245
|
+
- "https://www.nysenate.gov/legislation/laws/VAT/402 # § 402(2) marked contrast — the only colour law the series answers to"
|
|
246
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_York # LOCATOR ONLY: Empire Gold April 2010 - May 2020, ABC-1234 from FAA-1000, dark blue on golden yellow"
|
|
247
|
+
notes: >-
|
|
248
|
+
EMPIRE GOLD — THE PREVIOUS STANDARD BASE, and the reason New York needs
|
|
249
|
+
the overlap rule. Because New York legislates no replacement cycle, an
|
|
250
|
+
Empire Gold plate issued in 2019 is still a current, valid registration in
|
|
251
|
+
2026: `end: 2020` closes the ISSUANCE window, not the validity window. A
|
|
252
|
+
consumer must not treat a series end as an expiry. Both boundary years are
|
|
253
|
+
`secondary-locator-unverified`.
|
|
254
|
+
|
|
255
|
+
- id: us-ny-empire-state-2001
|
|
256
|
+
class: standard
|
|
257
|
+
categories: [car, van, truck, bus]
|
|
258
|
+
period: { start: 2001, end: 2010 }
|
|
259
|
+
period_evidence: secondary-locator-unverified
|
|
260
|
+
format_evidence: secondary-locator-unverified
|
|
261
|
+
matching: strict
|
|
262
|
+
format:
|
|
263
|
+
pattern: "LLL-9999"
|
|
264
|
+
regex: '\A[A-Z]{3}-?\d{4}\z'
|
|
265
|
+
regex_strict: '\A[A-HJ-NPR-Z]{3}-?\d{4}\z'
|
|
266
|
+
charset:
|
|
267
|
+
excluded: ["I", "O", "Q"]
|
|
268
|
+
notes: >-
|
|
269
|
+
The 2001 Empire State series is reported to EXCLUDE I, O and Q from
|
|
270
|
+
the letter positions — the lookalike exclusions AAMVA-style systems
|
|
271
|
+
make. This is the only New York charset restriction reported anywhere
|
|
272
|
+
and it is LOCATOR-GRADE; it is expressed as `regex_strict` precisely
|
|
273
|
+
because PRD-PLATES §2.7 forbids `regex` from carrying charset
|
|
274
|
+
restrictions (the round-trip against `pattern` would fail).
|
|
275
|
+
design:
|
|
276
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
277
|
+
foreground: "#003087"
|
|
278
|
+
legend_top: "NEW YORK"
|
|
279
|
+
graphic: { present: false, rendered: none }
|
|
280
|
+
emblem: { present: false }
|
|
281
|
+
band: { side: none }
|
|
282
|
+
region_encoding: none
|
|
283
|
+
sources:
|
|
284
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_York # LOCATOR ONLY: Empire State 2001 base from ACA-1000, excluding I, O and Q"
|
|
285
|
+
notes: >-
|
|
286
|
+
EMPIRE STATE 2001 — carried TWO SERIES BACK, past the L2 minimum, for one
|
|
287
|
+
reason: it is the only New York base with a reported letter exclusion, and
|
|
288
|
+
an exclusion is the kind of fact that makes a `regex_strict` twin earn its
|
|
289
|
+
keep. Everything about this entry is locator-grade. It is included so the
|
|
290
|
+
exclusion is not lost, and flagged so it is not believed.
|
|
291
|
+
|
|
292
|
+
# =========================================================================
|
|
293
|
+
# CORE DISTINCT CLASSES — New York serialises these separately.
|
|
294
|
+
# =========================================================================
|
|
295
|
+
- id: us-ny-motorcycle
|
|
296
|
+
class: motorcycle
|
|
297
|
+
categories: [motorcycle]
|
|
298
|
+
period: { start: 2020 }
|
|
299
|
+
period_evidence: secondary-locator-unverified
|
|
300
|
+
format_evidence: secondary-locator-unverified
|
|
301
|
+
matching: strict
|
|
302
|
+
format:
|
|
303
|
+
pattern: "99LL99"
|
|
304
|
+
regex: '\A\d{2}[A-Z]{2}\d{2}\z'
|
|
305
|
+
charset: { notes: "six characters, reported arrangement two numerals / two letters / two numerals, reported start 10RA00. NYSDMV confirms motorcycles are separately serialised by pricing personalised MOTORCYCLE plates apart from passenger ones and capping them at 2 to 6 characters." }
|
|
306
|
+
design:
|
|
307
|
+
background: { finish: retroreflective }
|
|
308
|
+
legend_top: "NEW YORK"
|
|
309
|
+
emblem: { present: true, rendered: placeholder }
|
|
310
|
+
note: "reduced-size motorcycle plate; NO SOURCED DIMENSION (New York states none, AAMVA delegates to the unpinned J686)."
|
|
311
|
+
region_encoding: none
|
|
312
|
+
sources:
|
|
313
|
+
- "https://dmv.ny.gov/plates/personalized-plate-numbers # NYSDMV: '2 to 6 characters on a motorcycle plate', with its own initial ($35.00) and annual ($18.75) fees — the official evidence that the motorcycle series is separately administered"
|
|
314
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_York # LOCATOR ONLY: the 12AB34 arrangement and the 10RA00 start"
|
|
315
|
+
notes: >-
|
|
316
|
+
MOTORCYCLE. The CLASS is officially evidenced (separate character cap,
|
|
317
|
+
separate fee schedule); the ARRANGEMENT is locator-grade. That split is
|
|
318
|
+
the normal shape of a New York claim in this file and is why
|
|
319
|
+
`format_evidence` is a per-series field rather than a file-level one.
|
|
320
|
+
|
|
321
|
+
- id: us-ny-trailer
|
|
322
|
+
class: trailer
|
|
323
|
+
categories: [trailer]
|
|
324
|
+
period: { start: 2020 }
|
|
325
|
+
period_evidence: secondary-locator-unverified
|
|
326
|
+
format_evidence: secondary-locator-unverified
|
|
327
|
+
matching: strict
|
|
328
|
+
format:
|
|
329
|
+
pattern: "LL-99999"
|
|
330
|
+
regex: '\A[A-Z]{2}-?\d{5}\z'
|
|
331
|
+
charset: { notes: "reported two-letter prefix plus five numerals; the reported current prefix block begins CA." }
|
|
332
|
+
design:
|
|
333
|
+
background: { finish: retroreflective }
|
|
334
|
+
legend_top: "NEW YORK"
|
|
335
|
+
emblem: { present: true, rendered: placeholder }
|
|
336
|
+
region_encoding: none
|
|
337
|
+
sources:
|
|
338
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_York # LOCATOR ONLY: trailer CA-12345"
|
|
339
|
+
notes: >-
|
|
340
|
+
TRAILER. Entirely locator-grade. Included because L2 asks for the core
|
|
341
|
+
distinct classes a state separately serialises and New York does
|
|
342
|
+
serialise trailers apart; flagged because nothing official was obtained.
|
|
343
|
+
|
|
344
|
+
- id: us-ny-dealer
|
|
345
|
+
class: dealer
|
|
346
|
+
categories: [car, van, truck, motorcycle, trailer]
|
|
347
|
+
period: { start: 2020 }
|
|
348
|
+
period_evidence: secondary-locator-unverified
|
|
349
|
+
format_evidence: secondary-locator-unverified
|
|
350
|
+
matching: strict
|
|
351
|
+
binding: business
|
|
352
|
+
format:
|
|
353
|
+
pattern: "9999999"
|
|
354
|
+
regex: '\A\d{7}\z'
|
|
355
|
+
charset: { notes: "reported all-numeric seven-digit dealer serial, reported start 7100000." }
|
|
356
|
+
design:
|
|
357
|
+
background: { finish: retroreflective }
|
|
358
|
+
legend_top: "NEW YORK"
|
|
359
|
+
emblem: { present: true, rendered: placeholder }
|
|
360
|
+
region_encoding: none
|
|
361
|
+
sources:
|
|
362
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_York # LOCATOR ONLY: dealer 1234567 from 7100000"
|
|
363
|
+
- "https://dmv.ny.gov/businesses-regulated-dmv # NYSDMV regulates dealers as a distinct business class — the official hook for the class, not for the format"
|
|
364
|
+
notes: >-
|
|
365
|
+
DEALER. `binding: business` for the same reason as Florida's dealer plate
|
|
366
|
+
and Germany's rote Kennzeichen: the plate follows the dealership, not a
|
|
367
|
+
vehicle. Format locator-grade.
|
|
368
|
+
|
|
369
|
+
- id: us-ny-historic
|
|
370
|
+
class: historic
|
|
371
|
+
categories: [car, truck]
|
|
372
|
+
period: { start: 2020 }
|
|
373
|
+
period_evidence: agency-page-in-force
|
|
374
|
+
format_evidence: official-agency-text
|
|
375
|
+
matching: strict
|
|
376
|
+
format:
|
|
377
|
+
pattern: "HX9999"
|
|
378
|
+
regex: '\A(?:HX\d{1,5}|\d{1,5}HX)\z'
|
|
379
|
+
charset:
|
|
380
|
+
notes: >-
|
|
381
|
+
NYSDMV, in its own words: historical plates 'begin or end with the
|
|
382
|
+
letters "HX" for cars and trucks or "HM" for motorcycles'. The HX
|
|
383
|
+
token is a LITERAL and its POSITION is genuinely optional — the
|
|
384
|
+
alternation encodes exactly what the agency states and nothing more.
|
|
385
|
+
The DIGIT WIDTH is not stated by NYSDMV, so the quantifier is bounded
|
|
386
|
+
only by the § 404 eight-character frame; it makes no width claim.
|
|
387
|
+
progression: "not stated by NYSDMV (recorded gap)"
|
|
388
|
+
eligibility: "NYSDMV: a vehicle 'manufactured more than 25 years before the current calendar year' — a ROLLING threshold, which silently changes every year and must therefore be re-audited annually. Contrast Maryland (fixed model year 1999 or earlier) and Florida Horseless Carriage (fixed model year 1945 or earlier) in this same programme."
|
|
389
|
+
fee: "initial registration $28.75 standard / $60 personalised for passenger; $23.75 / $42.50 for motorcycle; annual renewal at the same tiers (NYSDMV)"
|
|
390
|
+
design:
|
|
391
|
+
background: { finish: retroreflective }
|
|
392
|
+
legend_top: "NEW YORK"
|
|
393
|
+
emblem: { present: true, rendered: placeholder }
|
|
394
|
+
region_encoding: none
|
|
395
|
+
sources:
|
|
396
|
+
- "https://dmv.ny.gov/plates/historical-and-vintage-plates # NYSDMV: the HX (cars and trucks) / HM (motorcycles) letter rule, the 'manufactured more than 25 years before the current calendar year' eligibility, and the fee schedule"
|
|
397
|
+
notes: >-
|
|
398
|
+
HISTORICAL. THE BEST-SOURCED FORMAT CLAIM IN THIS FILE — the HX/HM letters
|
|
399
|
+
come from NYSDMV's own page, not from a locator, which is why
|
|
400
|
+
`format_evidence` is `official-agency-text` here and
|
|
401
|
+
`secondary-locator-unverified` almost everywhere else in us-ny. Note the
|
|
402
|
+
threshold is ROLLING (25 years before the CURRENT calendar year), so the
|
|
403
|
+
eligibility boundary moves without any instrument changing — the audit
|
|
404
|
+
case PRD-PLATES §9 warns about.
|
|
405
|
+
|
|
406
|
+
- id: us-ny-historic-motorcycle
|
|
407
|
+
class: historic
|
|
408
|
+
categories: [motorcycle]
|
|
409
|
+
period: { start: 2020 }
|
|
410
|
+
period_evidence: agency-page-in-force
|
|
411
|
+
format_evidence: official-agency-text
|
|
412
|
+
matching: strict
|
|
413
|
+
format:
|
|
414
|
+
pattern: "HM9999"
|
|
415
|
+
regex: '\A(?:HM\d{1,4}|\d{1,4}HM)\z'
|
|
416
|
+
charset: { notes: "NYSDMV: historical plates 'begin or end with the letters ... \"HM\" for motorcycles'. Width unstated; the quantifier is bounded by the six-character motorcycle personalisation frame and makes no width claim." }
|
|
417
|
+
eligibility: "as us-ny-historic: manufactured more than 25 years before the current calendar year (rolling)"
|
|
418
|
+
design:
|
|
419
|
+
background: { finish: retroreflective }
|
|
420
|
+
legend_top: "NEW YORK"
|
|
421
|
+
emblem: { present: true, rendered: placeholder }
|
|
422
|
+
region_encoding: none
|
|
423
|
+
sources:
|
|
424
|
+
- "https://dmv.ny.gov/plates/historical-and-vintage-plates # NYSDMV: 'HM' for motorcycles; the motorcycle historical fee tiers ($23.75 standard / $42.50 personalised)"
|
|
425
|
+
notes: >-
|
|
426
|
+
HISTORICAL MOTORCYCLE. Its own series rather than a variant because the
|
|
427
|
+
literal token in the serial differs (HM, not HX) — a FORMAT difference, which
|
|
428
|
+
PRD-PLATES §2.3 makes the test for a separate series.
|
|
429
|
+
|
|
430
|
+
- id: us-ny-vintage
|
|
431
|
+
class: historic
|
|
432
|
+
categories: [car, truck, motorcycle]
|
|
433
|
+
period: { start: 2020 }
|
|
434
|
+
period_evidence: agency-page-in-force
|
|
435
|
+
format_evidence: official-agency-text
|
|
436
|
+
matching: recall-only
|
|
437
|
+
format:
|
|
438
|
+
pattern: "999999"
|
|
439
|
+
regex: '\A[A-Z0-9](?:[- ]?[A-Z0-9]){0,7}\z'
|
|
440
|
+
charset:
|
|
441
|
+
notes: >-
|
|
442
|
+
A VINTAGE PLATE IS AN ORIGINAL NEW YORK PLATE FROM THE YEAR THE
|
|
443
|
+
VEHICLE WAS MANUFACTURED. NYSDMV requires the authentic plate and
|
|
444
|
+
states that 'DMV does not accept reproductions'. So this series has no
|
|
445
|
+
grammar of its own at all — its serial is whatever New York issued in
|
|
446
|
+
some year between 1901 and roughly 2001, across a century of unrecorded
|
|
447
|
+
arrangements.
|
|
448
|
+
pattern_note: >-
|
|
449
|
+
`matching: recall-only` (PRD-PLATES §2.7), and it is the textbook case
|
|
450
|
+
alongside `nl-export`: the regex is a deliberate CATCH-ALL over every
|
|
451
|
+
New York arrangement, so a match says only 'this string has a shape New
|
|
452
|
+
York has issued' and is emphatically NOT a claim that the string is a
|
|
453
|
+
valid vintage registration. No `regex_strict` may exist here and the
|
|
454
|
+
lint enforces that.
|
|
455
|
+
eligibility: "NYSDMV: the plates must be the original plates for the vehicle's year of manufacture; reproductions are not accepted."
|
|
456
|
+
fee: "$3.75 initial for passenger and motorcycle where a New York registration already exists (NYSDMV)"
|
|
457
|
+
design:
|
|
458
|
+
background: { finish: unknown }
|
|
459
|
+
note: "the design IS the original year's design — there is no current New York vintage design to record. Renders of this series are meaningless at L2."
|
|
460
|
+
emblem: { present: true, rendered: placeholder }
|
|
461
|
+
region_encoding: none
|
|
462
|
+
sources:
|
|
463
|
+
- "https://dmv.ny.gov/plates/historical-and-vintage-plates # NYSDMV: vintage plates must be the authentic original plates for the year of manufacture, 'DMV does not accept reproductions', $3.75 initial fee"
|
|
464
|
+
notes: >-
|
|
465
|
+
VINTAGE — THE SECOND RECALL-ONLY SERIES IN THE WHOLE DATASET, and the
|
|
466
|
+
first one in the US slice. It matters out of proportion to its size: it
|
|
467
|
+
proves the §2.7 distinction is not a Netherlands-specific artefact but a
|
|
468
|
+
recurring shape wherever a jurisdiction re-authorises OLD plates for
|
|
469
|
+
CURRENT use. Any state with a year-of-manufacture programme will need the
|
|
470
|
+
same treatment.
|
|
471
|
+
|
|
472
|
+
# =========================================================================
|
|
473
|
+
# PERSONALISED.
|
|
474
|
+
# =========================================================================
|
|
475
|
+
- id: us-ny-personalized
|
|
476
|
+
class: personalized
|
|
477
|
+
categories: [car, van, truck, bus, motorcycle]
|
|
478
|
+
period: { start: 2020 }
|
|
479
|
+
period_evidence: agency-page-in-force
|
|
480
|
+
format_evidence: official-agency-text
|
|
481
|
+
matching: strict
|
|
482
|
+
format:
|
|
483
|
+
pattern: "LLLLLLLL"
|
|
484
|
+
regex: '\A[A-Z0-9]{2,8}\z'
|
|
485
|
+
regex_statutory: '\A[A-Z0-9](?: ?[A-Z0-9]){1,7}\z'
|
|
486
|
+
charset:
|
|
487
|
+
notes: >-
|
|
488
|
+
NYSDMV: '2 to 8 characters on a standard plate', '2 to 6 characters on
|
|
489
|
+
a motorcycle plate', 'up to 6 characters on a picture plate'. The
|
|
490
|
+
statutory frame behind it is VAT § 404, which defines a special number
|
|
491
|
+
plate as one containing 'not more than eight letters, numerals or any
|
|
492
|
+
combination thereof'. A SPACE IS A CHARACTER AND COUNTS TOWARD THE
|
|
493
|
+
EIGHT — that is why `regex_statutory` is the space-permitting twin and
|
|
494
|
+
`regex` is the alphanumeric-only core. THE STATE IMAGE IS ALSO A
|
|
495
|
+
CHARACTER and cannot be spelled at all; see `serial_alphabet_finding`
|
|
496
|
+
at the top of this file.
|
|
497
|
+
pattern_note: >-
|
|
498
|
+
HONEST IMPRECISION, STATED: `regex_statutory` permits up to eight
|
|
499
|
+
alphanumerics AND interleaved spaces, so it accepts strings longer than
|
|
500
|
+
eight printed characters, whereas NYSDMV counts each space against the
|
|
501
|
+
eight. Encoding the exact 'alphanumerics + spaces <= 8' bound requires an
|
|
502
|
+
alternation the dataset does not need at L2. The twin is therefore
|
|
503
|
+
slightly LOOSER than the rule, which is the correct direction for a
|
|
504
|
+
`regex_statutory` (an outer bound), and it is recorded rather than hidden.
|
|
505
|
+
fee: "passenger/commercial: $60.00 initial, $31.25 annual. Motorcycle: $35.00 initial, $18.75 annual (NYSDMV). VAT § 404 sets the underlying annual service charge at thirty-one dollars and twenty-five cents, with commissioner discretion between $18.75 and $31.25 on budget-director approval — the statute and the fee page agree exactly."
|
|
506
|
+
region_encoding: none
|
|
507
|
+
sources:
|
|
508
|
+
- "https://dmv.ny.gov/plates/personalized-plate-numbers # NYSDMV: 2-8 characters standard / 2-6 motorcycle / up to 6 on a picture plate; 'A character is a letter (A to Z), number (0 to 9), the state image, or a space'; the state-image position rule; the fee schedule"
|
|
509
|
+
- "https://www.nysenate.gov/legislation/laws/VAT/404 # § 404: a special number plate contains 'not more than eight letters, numerals or any combination thereof'; the $31.25 annual service charge and the $18.75-$31.25 discretion; 'Nothing contained in this section shall be construed to require the commissioner to issue a special number plate'"
|
|
510
|
+
notes: >-
|
|
511
|
+
PERSONALISED. New York is the rare state where the character cap is in
|
|
512
|
+
STATUTE (§ 404's eight) and the agency page agrees with it to the cent on
|
|
513
|
+
fees — a clean statute/agency corroboration of the kind the sourcing law
|
|
514
|
+
wants. It is also the series that surfaces the state-image finding, which
|
|
515
|
+
is the most consequential schema result of the mid-Atlantic pass.
|
|
516
|
+
|
|
517
|
+
# =========================================================================
|
|
518
|
+
# SPECIALTY — THE PROGRAM INDEX, per PRD-PLATES §2.5. Count and links only.
|
|
519
|
+
# =========================================================================
|
|
520
|
+
- id: us-ny-specialty-index
|
|
521
|
+
class: specialty
|
|
522
|
+
categories: [car, van, truck, motorcycle]
|
|
523
|
+
period: { start: 2020 }
|
|
524
|
+
period_evidence: agency-page-in-force
|
|
525
|
+
format_evidence: official-agency-text
|
|
526
|
+
matching: strict
|
|
527
|
+
format:
|
|
528
|
+
pattern: "LLL-9999"
|
|
529
|
+
regex: '\A[A-Z]{3}-?\d{4}\z'
|
|
530
|
+
charset: { notes: "custom picture plates carry ORDINARY serials on an alternative design; when personalised they are capped at SIX characters rather than eight (NYSDMV), which is the one place a New York specialty plate's grammar differs from the standard series." }
|
|
531
|
+
design:
|
|
532
|
+
background: { finish: retroreflective }
|
|
533
|
+
note: "one design per approved organisation or cause; the designs themselves are L4 scope (PRD-PLATES §2.5) and none is described here"
|
|
534
|
+
emblem: { present: true, rendered: placeholder }
|
|
535
|
+
program_index:
|
|
536
|
+
count_official: 206
|
|
537
|
+
count_official_quote: "NYSDMV's own Custom Picture Plates catalogue reports '206 items available' (read 2026-08-02)."
|
|
538
|
+
count_method: "READ FROM THE AGENCY'S OWN RESULT COUNTER, not enumerated by hand and not taken from a locator. It is a live figure and will drift; snapshot the date with the number."
|
|
539
|
+
categories_official: ["Causes", "Colleges, Fraternities, Sororities", "Counties and Regions", "I Love NY Adventure", "Military and Veterans", "Organizations", "Sports", "Zodiac"]
|
|
540
|
+
official_list_url: "https://dmv.ny.gov/plates/picture-plates"
|
|
541
|
+
professional_plates_url: "https://dmv.ny.gov/plates/professional-custom-plates"
|
|
542
|
+
professional_note: "NYSDMV runs a distinct PROFESSIONAL CUSTOM PLATE track 'exclusively available to emergency, medical, and other qualified professionals' — an eligibility-gated subtype comparable to Florida's SPECIAL REQUIREMENT plates. Not enumerated in this pass."
|
|
543
|
+
churn_note: "no discontinuation rule was located in VAT § 404, which is purely permissive ('Nothing contained in this section shall be construed to require the commissioner to issue a special number plate'). Whether New York retires dead programmes, and on what trigger, is a recorded gap."
|
|
544
|
+
region_encoding: none
|
|
545
|
+
sources:
|
|
546
|
+
- "https://dmv.ny.gov/plates/picture-plates # the official catalogue and its '206 items available' counter; the eight listed categories"
|
|
547
|
+
- "https://dmv.ny.gov/plates # NYSDMV's three plate tracks: Personalized Plates, Custom Picture Plates, Professional Custom Plates"
|
|
548
|
+
- "https://www.nysenate.gov/legislation/laws/VAT/404 # § 404: the permissive special-plate authority, the eight-character cap and the service charge"
|
|
549
|
+
notes: >-
|
|
550
|
+
THE SPECIALTY PROGRAM INDEX — one entry standing for the whole programme,
|
|
551
|
+
which is what PRD-PLATES §2.5 asks for at this gate. New York's count is
|
|
552
|
+
the CLEANEST in the mid-Atlantic group because the agency publishes a
|
|
553
|
+
machine-readable result count (206) rather than a rounded claim: contrast
|
|
554
|
+
Florida's contested 'over 100' (agency) versus 'over 120' (locator). No
|
|
555
|
+
New York equivalent of Florida's monthly active-plate registration report
|
|
556
|
+
was found — New York publishes designs, not issuance volumes.
|
|
557
|
+
|
|
558
|
+
# ---------------------------------------------------------------------------
|
|
559
|
+
# CLASSES NEW YORK ISSUES THAT ARE DELIBERATELY NOT MODELLED AS SERIES.
|
|
560
|
+
# A series needs a format. Where no format was obtained, a recorded gap beats
|
|
561
|
+
# an invented pattern (PRD-PLATES §5.3: record disagreements, never average).
|
|
562
|
+
# ---------------------------------------------------------------------------
|
|
563
|
+
unmodelled_classes:
|
|
564
|
+
temporary: >-
|
|
565
|
+
New York's temporary instrument is the IN-TRANSIT PERMIT under VAT § 401-a,
|
|
566
|
+
'valid for a period of thirty days from the date of issuance', for vehicles
|
|
567
|
+
being taken out of state for registration elsewhere; a vehicle displaying it
|
|
568
|
+
is excused from the ordinary number-plate requirement. NO SERIAL FORMAT IS
|
|
569
|
+
PUBLISHED, so no series is minted. Source:
|
|
570
|
+
https://www.nysenate.gov/legislation/laws/VAT/401-A and
|
|
571
|
+
https://dmv.ny.gov/registration/in-transit-vehicle-permits-temporary-registrations
|
|
572
|
+
government: >-
|
|
573
|
+
New York issues distinct official/municipal plates (locator-reported forms
|
|
574
|
+
R-12345 and A1234 with the political subdivision and county named on the
|
|
575
|
+
plate). Neither a statutory nor an agency format statement was obtained and
|
|
576
|
+
the locator's own account is inconsistent, so nothing is minted. RECORDED
|
|
577
|
+
GAP — the highest-value New York follow-up after the base-year primaries.
|
|
578
|
+
apportioned_and_commercial: >-
|
|
579
|
+
New York registers commercial vehicles by weight class and participates in
|
|
580
|
+
the International Registration Plan, but no separate serial grammar was
|
|
581
|
+
obtained. Recorded gap.
|
|
582
|
+
|
|
583
|
+
# ---------------------------------------------------------------------------
|
|
584
|
+
# GAPS, stated so the verifier does not have to rediscover them.
|
|
585
|
+
# ---------------------------------------------------------------------------
|
|
586
|
+
gaps:
|
|
587
|
+
- "NO PRIMARY FOR ANY NEW YORK BASE-DESIGN YEAR. Excelsior 2020, Empire Gold 2010, Empire State 2001 are all locator-grade. The primaries to chase are NYSDMV press releases and the Governor's office announcements of the 2019 plate-design public vote."
|
|
588
|
+
- "NO SOURCED PLATE DIMENSION for any New York plate. The statute states none and SAE J686 is unpinned."
|
|
589
|
+
- "NO SOURCED COLOUR VALUE. VAT § 402(2) states a contrast PROPERTY, not values; every hex here is `observed`."
|
|
590
|
+
- "The County of Suffolk opinion (261 F.3d 179) was not fetched; the adverse posture rests on a locator's reading of it."
|
|
591
|
+
- "The state-image-as-a-character finding needs a `_meta/separators.yml` amendment before any consumer ships a New York validator."
|
|
592
|
+
- "Government/official and temporary formats unobtained (see unmodelled_classes)."
|