vehicles 0.9.0 → 0.9.2
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/CHANGELOG.md +57 -7
- data/README.md +353 -69
- data/data/PROVENANCE-vehicles.md +2 -2
- data/data/plates/PROVENANCE.md +2 -2
- data/data/plates/_decode/at-districts.yml +2 -2
- data/data/plates/_decode/cn-issuing-offices.yml +2 -2
- data/data/plates/_decode/cn-provinces.yml +2 -2
- data/data/plates/_decode/cz-kraj.yml +1 -1
- data/data/plates/_decode/dk-serial-blocks.yml +1 -1
- data/data/plates/_decode/es-provinces.yml +1 -1
- data/data/plates/_decode/fr-departements.yml +2 -2
- data/data/plates/_decode/gb-age-identifiers.yml +1 -1
- data/data/plates/_decode/gb-memory-tags.yml +1 -1
- data/data/plates/_decode/gr-prefectures.yml +1 -1
- data/data/plates/_decode/hr-cities.yml +3 -3
- data/data/plates/_decode/ie-counties.yml +3 -3
- data/data/plates/_decode/in-state-codes.yml +2 -2
- data/data/plates/_decode/it-provinces.yml +3 -3
- data/data/plates/_decode/jp-office-marks.yml +2 -2
- data/data/plates/_decode/jp-use-marks.yml +2 -2
- data/data/plates/_decode/kr-authority-marks.yml +1 -1
- data/data/plates/_decode/mx-entity-series.yml +1 -1
- data/data/plates/_decode/my-index-marks.yml +4 -4
- data/data/plates/_decode/pt-trailer-services.yml +1 -1
- data/data/plates/_decode/ro-counties.yml +1 -1
- data/data/plates/_decode/se-diplomatic.yml +1 -1
- data/data/plates/_decode/si-regions.yml +1 -1
- data/data/plates/_decode/ua-regions.yml +1 -1
- data/data/plates/_meta/classes.yml +1 -1
- data/data/plates/_meta/separators.yml +1 -1
- data/data/plates/ad.yml +555 -52
- data/data/plates/ar.yml +8 -8
- data/data/plates/at.yml +91 -10
- data/data/plates/au-act.yml +13 -13
- data/data/plates/au-nsw.yml +9 -9
- data/data/plates/au-nt.yml +13 -14
- data/data/plates/au-qld.yml +7 -7
- data/data/plates/au-sa.yml +7 -7
- data/data/plates/au-tas.yml +10 -10
- data/data/plates/au-vic.yml +6 -6
- data/data/plates/au-wa.yml +8 -8
- data/data/plates/be.yml +11 -11
- data/data/plates/br.yml +14 -14
- data/data/plates/ca-ab.yml +10 -10
- data/data/plates/ca-bc.yml +6 -6
- data/data/plates/ca-mb.yml +4 -4
- data/data/plates/ca-nb.yml +9 -9
- data/data/plates/ca-nl.yml +11 -11
- data/data/plates/ca-ns.yml +12 -12
- data/data/plates/ca-nt.yml +7 -7
- data/data/plates/ca-nu.yml +7 -7
- data/data/plates/ca-on.yml +21 -21
- data/data/plates/ca-pe.yml +13 -13
- data/data/plates/ca-qc.yml +11 -11
- data/data/plates/ca-sk.yml +6 -6
- data/data/plates/ca-yt.yml +6 -6
- data/data/plates/ch.yml +14 -14
- data/data/plates/cn.yml +9 -9
- data/data/plates/cy.yml +6 -6
- data/data/plates/cz.yml +9 -9
- data/data/plates/de.yml +8 -8
- data/data/plates/dk.yml +12 -12
- data/data/plates/ee.yml +13 -13
- data/data/plates/eg.yml +708 -0
- data/data/plates/es.yml +8 -8
- data/data/plates/fi.yml +14 -14
- data/data/plates/fr.yml +12 -12
- data/data/plates/gb.yml +16 -16
- data/data/plates/gr.yml +14 -14
- data/data/plates/hr.yml +15 -15
- data/data/plates/hu.yml +16 -16
- data/data/plates/ie.yml +7 -7
- data/data/plates/in.yml +7 -7
- data/data/plates/is.yml +3 -3
- data/data/plates/it.yml +21 -21
- data/data/plates/jp.yml +121 -121
- data/data/plates/kr.yml +6 -6
- data/data/plates/li.yml +6 -6
- data/data/plates/lt.yml +10 -10
- data/data/plates/lu.yml +4 -4
- data/data/plates/lv.yml +9 -9
- data/data/plates/mc.yml +4 -4
- data/data/plates/mt.yml +5 -5
- data/data/plates/mx.yml +7 -7
- data/data/plates/my.yml +18 -18
- data/data/plates/ng.yml +346 -0
- data/data/plates/nl.yml +5 -5
- data/data/plates/no.yml +7 -7
- data/data/plates/nz.yml +18 -18
- data/data/plates/pl.yml +4 -4
- data/data/plates/pt.yml +13 -5
- data/data/plates/ro.yml +14 -14
- data/data/plates/se.yml +13 -13
- data/data/plates/si.yml +8 -8
- data/data/plates/sk.yml +15 -15
- data/data/plates/sm.yml +7 -7
- data/data/plates/th.yml +10 -10
- data/data/plates/tr.yml +432 -0
- data/data/plates/ua.yml +9 -9
- data/data/plates/us-ak.yml +11 -11
- data/data/plates/us-al.yml +12 -12
- data/data/plates/us-ar.yml +15 -15
- data/data/plates/us-as.yml +10 -10
- data/data/plates/us-az.yml +10 -10
- data/data/plates/us-ca.yml +13 -13
- data/data/plates/us-co.yml +14 -14
- data/data/plates/us-ct.yml +24 -24
- data/data/plates/us-dc.yml +7 -7
- data/data/plates/us-de.yml +10 -10
- data/data/plates/us-fl.yml +17 -17
- data/data/plates/us-ga.yml +10 -10
- data/data/plates/us-gu.yml +11 -11
- data/data/plates/us-hi.yml +11 -11
- data/data/plates/us-ia.yml +9 -9
- data/data/plates/us-id.yml +13 -13
- data/data/plates/us-il.yml +11 -11
- data/data/plates/us-in.yml +9 -9
- data/data/plates/us-ks.yml +8 -8
- data/data/plates/us-ky.yml +11 -11
- data/data/plates/us-la.yml +11 -11
- data/data/plates/us-ma.yml +10 -10
- data/data/plates/us-md.yml +7 -7
- data/data/plates/us-me.yml +16 -16
- data/data/plates/us-mi.yml +8 -8
- data/data/plates/us-mn.yml +13 -13
- data/data/plates/us-mo.yml +13 -13
- data/data/plates/us-mp.yml +12 -12
- data/data/plates/us-ms.yml +8 -8
- data/data/plates/us-mt.yml +12 -12
- data/data/plates/us-nc.yml +12 -12
- data/data/plates/us-nd.yml +10 -10
- data/data/plates/us-ne.yml +10 -10
- data/data/plates/us-nh.yml +8 -8
- data/data/plates/us-nj.yml +8 -8
- data/data/plates/us-nm.yml +14 -14
- data/data/plates/us-nv.yml +18 -18
- data/data/plates/us-ny.yml +17 -17
- data/data/plates/us-oh.yml +13 -13
- data/data/plates/us-ok.yml +12 -12
- data/data/plates/us-or.yml +15 -15
- data/data/plates/us-pa.yml +14 -14
- data/data/plates/us-pr.yml +15 -15
- data/data/plates/us-ri.yml +10 -10
- data/data/plates/us-sc.yml +7 -7
- data/data/plates/us-sd.yml +12 -12
- data/data/plates/us-tn.yml +8 -8
- data/data/plates/us-tx.yml +17 -17
- data/data/plates/us-ut.yml +12 -12
- data/data/plates/us-va.yml +14 -14
- data/data/plates/us-vi.yml +16 -16
- data/data/plates/us-vt.yml +9 -9
- data/data/plates/us-wa.yml +18 -18
- data/data/plates/us-wi.yml +8 -8
- data/data/plates/us-wv.yml +9 -9
- data/data/plates/us-wy.yml +10 -10
- data/data/plates/va.yml +7 -7
- data/data/plates/za.yml +11 -11
- data/data/vehicles.json +121081 -62015
- data/lib/generators/vehicles/templates/initializer.rb +21 -12
- data/lib/generators/vehicles/templates/vehicles_refresh_job.rb +8 -4
- data/lib/vehicles/color.rb +8 -1
- data/lib/vehicles/colors.rb +14 -10
- data/lib/vehicles/configuration.rb +82 -3
- data/lib/vehicles/data_source.rb +220 -0
- data/lib/vehicles/dataset.rb +38 -6
- data/lib/vehicles/dataset_resolution.rb +39 -3
- data/lib/vehicles/dataset_slice.rb +90 -0
- data/lib/vehicles/hosted_result.rb +94 -0
- data/lib/vehicles/http.rb +75 -7
- data/lib/vehicles/id_lookup.rb +37 -0
- data/lib/vehicles/kind_rule.rb +63 -0
- data/lib/vehicles/labels.rb +131 -0
- data/lib/vehicles/make.rb +45 -19
- data/lib/vehicles/model.rb +66 -19
- data/lib/vehicles/model_match.rb +16 -2
- data/lib/vehicles/model_matcher.rb +6 -7
- data/lib/vehicles/plates/series.rb +87 -8
- data/lib/vehicles/plates/template_fill.rb +2 -2
- data/lib/vehicles/plates/templates.rb +9 -5
- data/lib/vehicles/plates.rb +54 -8
- data/lib/vehicles/providers/hosted_provider.rb +145 -32
- data/lib/vehicles/providers/local_provider.rb +2 -2
- data/lib/vehicles/refresh_result.rb +74 -0
- data/lib/vehicles/refresher.rb +190 -54
- data/lib/vehicles/release_checks.rb +72 -0
- data/lib/vehicles/text_matcher.rb +19 -10
- data/lib/vehicles/validators/vehicle_make_validator.rb +18 -1
- data/lib/vehicles/validators/vehicle_model_validator.rb +17 -1
- data/lib/vehicles/version.rb +1 -1
- data/lib/vehicles.rb +119 -67
- data/rakelib/data_refresh.rake +1 -1
- data/rakelib/plates_refresh.rake +1 -1
- data/sig/vehicles.rbs +67 -13
- metadata +13 -2
data/data/plates/us-ny.yml
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
# plates/us-ny.yml — New York (
|
|
1
|
+
# plates/us-ny.yml — New York (the plates spec gate L2, mid-Atlantic group).
|
|
2
2
|
#
|
|
3
3
|
# WHY NEW YORK IS THE HARD ARTWORK CASE. The US/world dossier flags NY as
|
|
4
4
|
# ADVERSE: courts have held works of the State of New York generally subject to
|
|
5
5
|
# copyright (County of Suffolk v. First American Real Estate Solutions, 261 F.3d
|
|
6
6
|
# 179 (2d Cir. 2001)), there is no {{PD-NYGov}} tag on Commons, and the current
|
|
7
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
|
|
8
|
+
# Niagara Falls and the New York City skyline across the bottom. Under the plates spec
|
|
9
9
|
# §3 the emblem/graphic slot renders as a NEUTRAL PLACEHOLDER here, and unlike
|
|
10
10
|
# Florida there is no favourable state posture to revisit it against. See
|
|
11
11
|
# `artwork_risk`.
|
|
@@ -39,7 +39,7 @@ binding: vehicle
|
|
|
39
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
40
|
|
|
41
41
|
# ---------------------------------------------------------------------------
|
|
42
|
-
# artwork_risk — required per jurisdiction by
|
|
42
|
+
# artwork_risk — required per jurisdiction by the plates spec §4.
|
|
43
43
|
# ---------------------------------------------------------------------------
|
|
44
44
|
artwork_risk:
|
|
45
45
|
posture: adverse
|
|
@@ -57,7 +57,7 @@ artwork_risk:
|
|
|
57
57
|
evidence_grade: >-
|
|
58
58
|
HONEST LIMIT: the County of Suffolk opinion itself was NOT FETCHED in this
|
|
59
59
|
pass — it was located through the Wikipedia survey of subnational copyright
|
|
60
|
-
status, which is a LOCATOR under
|
|
60
|
+
status, which is a LOCATOR under the plates spec §4 and not an authority. The
|
|
61
61
|
CITATION is recorded so a verifier can pull the opinion (an edict of
|
|
62
62
|
government, public domain, and freely quotable once obtained). The posture
|
|
63
63
|
conclusion should be re-derived from the opinion before any render decision
|
|
@@ -66,7 +66,7 @@ artwork_risk:
|
|
|
66
66
|
RENDER PLACEHOLDER, and unlike Florida do not expect to revisit it. The
|
|
67
67
|
Excelsior base carries a photographic-derived Niagara Falls image and a New
|
|
68
68
|
York City skyline; the Empire Gold base carries none. Both are
|
|
69
|
-
`graphic: {present: true, rendered: placeholder}`.
|
|
69
|
+
`graphic: {present: true, rendered: placeholder}`. The plates spec §4.5's own
|
|
70
70
|
risk ladder puts "exact reproduction of the state's graphic" at the top of
|
|
71
71
|
the risk column in NY specifically.
|
|
72
72
|
photograph_caution: >-
|
|
@@ -117,7 +117,7 @@ display_rules:
|
|
|
117
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
118
|
|
|
119
119
|
# ---------------------------------------------------------------------------
|
|
120
|
-
# A SCHEMA STRESSOR NEW YORK CREATES ALL BY ITSELF (
|
|
120
|
+
# A SCHEMA STRESSOR NEW YORK CREATES ALL BY ITSELF (the plates spec §2.6 rule 3).
|
|
121
121
|
# ---------------------------------------------------------------------------
|
|
122
122
|
serial_alphabet_finding:
|
|
123
123
|
headline: "New York lets a GRAPHIC be a character inside the serial."
|
|
@@ -127,7 +127,7 @@ serial_alphabet_finding:
|
|
|
127
127
|
counted toward the eight-character allowance, and 'your plate combination
|
|
128
128
|
cannot begin or end with the state image. It must have at least one
|
|
129
129
|
character on each side of it.' That is a glyph INSIDE a serial, which
|
|
130
|
-
|
|
130
|
+
the plates spec §2.6 rule 3 says is a SCHEMA AMENDMENT, not a data entry. It is
|
|
131
131
|
NOT encoded anywhere in this file: `_meta/separators.yml` declares the
|
|
132
132
|
serial alphabet as A-Z and 0-9 and nothing else, and there is no sanctioned
|
|
133
133
|
way to spell a state-outline glyph in a pattern or a regex.
|
|
@@ -173,7 +173,7 @@ series:
|
|
|
173
173
|
the Vehicle and Traffic Law states none. `format_evidence` is therefore
|
|
174
174
|
`secondary-locator-unverified` and a verifier must re-derive the
|
|
175
175
|
arrangement before this series carries a five-nines claim. The hyphen is
|
|
176
|
-
optional in the regex because it is a printed separator (
|
|
176
|
+
optional in the regex because it is a printed separator (the plates spec
|
|
177
177
|
§2.6): the canonical separator-free twin is derived, not shipped.
|
|
178
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
179
|
design:
|
|
@@ -203,7 +203,7 @@ series:
|
|
|
203
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
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
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 (
|
|
206
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_New_York # LOCATOR ONLY (the plates spec §4): the June 2020 introduction, the ABC-1234 arrangement and the KAA-1000 start. None of the three is asserted as sourced."
|
|
207
207
|
notes: >-
|
|
208
208
|
EXCELSIOR — THE CURRENT NEW YORK STANDARD ISSUE. `start: 2020` is
|
|
209
209
|
`secondary-locator-unverified`: the June 2020 rollout is reported by
|
|
@@ -270,7 +270,7 @@ series:
|
|
|
270
270
|
the letter positions — the lookalike exclusions AAMVA-style systems
|
|
271
271
|
make. This is the only New York charset restriction reported anywhere
|
|
272
272
|
and it is LOCATOR-GRADE; it is expressed as `regex_strict` precisely
|
|
273
|
-
because
|
|
273
|
+
because the plates spec §2.7 forbids `regex` from carrying charset
|
|
274
274
|
restrictions (the round-trip against `pattern` would fail).
|
|
275
275
|
design:
|
|
276
276
|
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
@@ -401,7 +401,7 @@ series:
|
|
|
401
401
|
`secondary-locator-unverified` almost everywhere else in us-ny. Note the
|
|
402
402
|
threshold is ROLLING (25 years before the CURRENT calendar year), so the
|
|
403
403
|
eligibility boundary moves without any instrument changing — the audit
|
|
404
|
-
case
|
|
404
|
+
case the plates spec §9 warns about.
|
|
405
405
|
|
|
406
406
|
- id: us-ny-historic-motorcycle
|
|
407
407
|
class: historic
|
|
@@ -425,7 +425,7 @@ series:
|
|
|
425
425
|
notes: >-
|
|
426
426
|
HISTORICAL MOTORCYCLE. Its own series rather than a variant because the
|
|
427
427
|
literal token in the serial differs (HM, not HX) — a FORMAT difference, which
|
|
428
|
-
|
|
428
|
+
the plates spec §2.3 makes the test for a separate series.
|
|
429
429
|
|
|
430
430
|
- id: us-ny-vintage
|
|
431
431
|
class: historic
|
|
@@ -446,7 +446,7 @@ series:
|
|
|
446
446
|
some year between 1901 and roughly 2001, across a century of unrecorded
|
|
447
447
|
arrangements.
|
|
448
448
|
pattern_note: >-
|
|
449
|
-
`matching: recall-only` (
|
|
449
|
+
`matching: recall-only` (the plates spec §2.7), and it is the textbook case
|
|
450
450
|
alongside `nl-export`: the regex is a deliberate CATCH-ALL over every
|
|
451
451
|
New York arrangement, so a match says only 'this string has a shape New
|
|
452
452
|
York has issued' and is emphatically NOT a claim that the string is a
|
|
@@ -515,7 +515,7 @@ series:
|
|
|
515
515
|
is the most consequential schema result of the mid-Atlantic pass.
|
|
516
516
|
|
|
517
517
|
# =========================================================================
|
|
518
|
-
# SPECIALTY — THE PROGRAM INDEX, per
|
|
518
|
+
# SPECIALTY — THE PROGRAM INDEX, per the plates spec §2.5. Count and links only.
|
|
519
519
|
# =========================================================================
|
|
520
520
|
- id: us-ny-specialty-index
|
|
521
521
|
class: specialty
|
|
@@ -530,7 +530,7 @@ series:
|
|
|
530
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
531
|
design:
|
|
532
532
|
background: { finish: retroreflective }
|
|
533
|
-
note: "one design per approved organisation or cause; the designs themselves are L4 scope (
|
|
533
|
+
note: "one design per approved organisation or cause; the designs themselves are L4 scope (the plates spec §2.5) and none is described here"
|
|
534
534
|
emblem: { present: true, rendered: placeholder }
|
|
535
535
|
program_index:
|
|
536
536
|
count_official: 206
|
|
@@ -548,7 +548,7 @@ series:
|
|
|
548
548
|
- "https://www.nysenate.gov/legislation/laws/VAT/404 # § 404: the permissive special-plate authority, the eight-character cap and the service charge"
|
|
549
549
|
notes: >-
|
|
550
550
|
THE SPECIALTY PROGRAM INDEX — one entry standing for the whole programme,
|
|
551
|
-
which is what
|
|
551
|
+
which is what the plates spec §2.5 asks for at this gate. New York's count is
|
|
552
552
|
the CLEANEST in the mid-Atlantic group because the agency publishes a
|
|
553
553
|
machine-readable result count (206) rather than a rounded claim: contrast
|
|
554
554
|
Florida's contested 'over 100' (agency) versus 'over 120' (locator). No
|
|
@@ -558,7 +558,7 @@ series:
|
|
|
558
558
|
# ---------------------------------------------------------------------------
|
|
559
559
|
# CLASSES NEW YORK ISSUES THAT ARE DELIBERATELY NOT MODELLED AS SERIES.
|
|
560
560
|
# A series needs a format. Where no format was obtained, a recorded gap beats
|
|
561
|
-
# an invented pattern (
|
|
561
|
+
# an invented pattern (the plates spec §5.3: record disagreements, never average).
|
|
562
562
|
# ---------------------------------------------------------------------------
|
|
563
563
|
unmodelled_classes:
|
|
564
564
|
temporary: >-
|
data/data/plates/us-oh.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/us-oh.yml — Ohio (
|
|
1
|
+
# plates/us-oh.yml — Ohio (the plates spec gate L2, group midwest-a).
|
|
2
2
|
#
|
|
3
3
|
# WHAT OHIO IS FOR IN THIS DATASET: the state where the DISPLAY statute is
|
|
4
4
|
# unusually generous and the DESIGN statute is silent. ORC 4503.19 and 4503.21
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
# states a serial arrangement, a colour, or a plate dimension for the ordinary
|
|
10
10
|
# passenger plate. Ohio legislates DISPLAY and delegates DESIGN.
|
|
11
11
|
#
|
|
12
|
-
# SOURCING RULE APPLIED HERE (
|
|
12
|
+
# SOURCING RULE APPLIED HERE (the plates spec §4): edicts of government are public
|
|
13
13
|
# domain at every level, so every display, temporary-tag, county-sticker and
|
|
14
14
|
# government-plate claim below cites the Ohio Revised Code. The serial
|
|
15
15
|
# ARRANGEMENTS are a different matter and are flagged as such: no primary
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
# not change by being reprinted, but the provenance chain must say which copy
|
|
28
28
|
# was read.
|
|
29
29
|
#
|
|
30
|
-
# REGEX FORM (
|
|
30
|
+
# REGEX FORM (the plates spec §2.6): every regex here is in PRINTED form — the
|
|
31
31
|
# separator is spelled where the plate shows it, and only `-` and ` ` are ever
|
|
32
32
|
# spelled, per plates/_meta/separators.yml.
|
|
33
33
|
#
|
|
34
|
-
# NOT HERE, DELIBERATELY (
|
|
34
|
+
# NOT HERE, DELIBERATELY (the plates spec §2.5 + the L2 scope): individual specialty
|
|
35
35
|
# DESIGNS (L4); Ohio's commercial-truck (PBC 1234) and apportioned (PBC1234)
|
|
36
36
|
# series, which are outside the L2 core-class list; and any government-plate
|
|
37
37
|
# SERIES, because ORC 4503.16 gives the legend but no serial shape and none was
|
|
@@ -44,7 +44,7 @@ binding: vehicle
|
|
|
44
44
|
statute_edition: "Ohio Revised Code Title XLV (Motor Vehicles), Chapter 4503, as reproduced by codes.findlaw.com and read 2026-08-02. The official host codes.ohio.gov was unreachable from this environment; no edition banner was therefore captured, and the edition is an UNVERIFIED currency claim."
|
|
45
45
|
|
|
46
46
|
# ---------------------------------------------------------------------------
|
|
47
|
-
# artwork_risk — required per jurisdiction by
|
|
47
|
+
# artwork_risk — required per jurisdiction by the plates spec §4.
|
|
48
48
|
# ---------------------------------------------------------------------------
|
|
49
49
|
artwork_risk:
|
|
50
50
|
posture: unresearched-default-adverse
|
|
@@ -63,7 +63,7 @@ artwork_risk:
|
|
|
63
63
|
COPYRIGHTED. This is the opposite pole from Florida and must not be
|
|
64
64
|
softened by analogy to it.
|
|
65
65
|
emblem_rule: >-
|
|
66
|
-
|
|
66
|
+
the plates spec §3's placeholder default applies with full force. The current
|
|
67
67
|
"Sunrise in Ohio" base is a full-bleed pictorial scene (skyline, hills,
|
|
68
68
|
river, wheat field, a child on a swing, a Wright Flyer) — the highest-risk
|
|
69
69
|
artwork category in the program, in a state with no PD posture. Render
|
|
@@ -71,7 +71,7 @@ artwork_risk:
|
|
|
71
71
|
scene beyond a neutral field. State-seal protection is independent of
|
|
72
72
|
copyright and is unresearched for Ohio.
|
|
73
73
|
photograph_caution: >-
|
|
74
|
-
The standing rule (
|
|
74
|
+
The standing rule (the plates spec §6): a CC licence on a Commons photograph of
|
|
75
75
|
an Ohio plate is the PHOTOGRAPHER's licence on the PHOTOGRAPH; the uploader
|
|
76
76
|
had no standing over the design. Because our renders are generated from
|
|
77
77
|
data and never derived from a photograph, those obligations never attach —
|
|
@@ -121,7 +121,7 @@ display_rules:
|
|
|
121
121
|
- "https://codes.ohio.gov/ohio-revised-code/section-4503.19 # CANONICAL citation for the same edict — NOT fetched this pass (host refused the connection)"
|
|
122
122
|
- "https://codes.findlaw.com/oh/title-xlv-motor-vehicles-aeronautics-watercraft/oh-rev-code-sect-4503-21.html # FETCHED. ORC 4503.21: plain view on the rear, commercial tractor front, no-swing/no-obstruction, temporary-tag rear-window display, minor misdemeanor"
|
|
123
123
|
- "https://codes.ohio.gov/ohio-revised-code/section-4503.21 # CANONICAL, not fetched"
|
|
124
|
-
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Ohio # LOCATOR ONLY (
|
|
124
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Ohio # LOCATOR ONLY (the plates spec §4): 'Only rear plates have been required for all classes of vehicles, except commercial tractors, since July 1, 2020.' The DATE is not asserted as sourced."
|
|
125
125
|
|
|
126
126
|
series:
|
|
127
127
|
|
|
@@ -173,7 +173,7 @@ series:
|
|
|
173
173
|
first-issue date of 29 December 2021 and on nothing else. No Ohio primary
|
|
174
174
|
dating a base introduction was obtained — Ohio does not legislate base
|
|
175
175
|
changes, the BMV host refused connections, and collector-site era tables
|
|
176
|
-
are exactly what
|
|
176
|
+
are exactly what the plates spec §9 warns about. The year is therefore carried
|
|
177
177
|
with `period_evidence: secondary-first-issue`, which is a first-class
|
|
178
178
|
admission and not a footnote: a verifier must re-derive it before this
|
|
179
179
|
claim enters the five-nines ledger. The FORMAT is on the same footing.
|
|
@@ -270,7 +270,7 @@ series:
|
|
|
270
270
|
- "https://codes.findlaw.com/oh/title-xlv-motor-vehicles-aeronautics-watercraft/oh-rev-code-sect-4503-21.html # FETCHED. ORC 4503.21 display duty applies to the trailer plate as to any other"
|
|
271
271
|
notes: >-
|
|
272
272
|
NON-COMMERCIAL TRAILER. Separately serialized, hence its own series under
|
|
273
|
-
|
|
273
|
+
the plates spec §2.3. The interesting modelling point is the U-BLOCK: Ohio
|
|
274
274
|
distinguishes the class by a letter block inside a shared grammar rather
|
|
275
275
|
than by a distinct grammar, so `[A-Z]{3} ?\d{4}` alone cannot tell a
|
|
276
276
|
trailer plate from a passenger plate — only the block can, and blocks
|
|
@@ -353,7 +353,7 @@ series:
|
|
|
353
353
|
validity is a genuine per-state variable, not a constant.
|
|
354
354
|
|
|
355
355
|
# =========================================================================
|
|
356
|
-
# SPECIALTY — PROGRAM INDEX ONLY (
|
|
356
|
+
# SPECIALTY — PROGRAM INDEX ONLY (the plates spec §2.5). No individual designs.
|
|
357
357
|
# =========================================================================
|
|
358
358
|
- id: us-oh-specialty-index
|
|
359
359
|
class: specialty
|
|
@@ -368,7 +368,7 @@ series:
|
|
|
368
368
|
charset: { notes: "specialty plates carry ORDINARY serials on an alternative design; no separate grammar is stated in law or observed" }
|
|
369
369
|
design:
|
|
370
370
|
background: { finish: retroreflective }
|
|
371
|
-
note: "one design per authorised programme; the designs themselves are L4 scope (
|
|
371
|
+
note: "one design per authorised programme; the designs themselves are L4 scope (the plates spec §2.5) and none is described here"
|
|
372
372
|
emblem: { present: true, rendered: placeholder }
|
|
373
373
|
program_index:
|
|
374
374
|
count_official: null
|
|
@@ -392,7 +392,7 @@ series:
|
|
|
392
392
|
- "https://codes.findlaw.com/oh/title-xlv-motor-vehicles-aeronautics-watercraft/oh-rev-code-sect-4503-14.html # FETCHED. ORC 4503.14 is a worked example of the per-plate statutory pattern: it authorises plates bearing 'the official call letters of the applicant as assigned by the federal communications commission' for licensed amateur-radio and broadcast operators"
|
|
393
393
|
notes: >-
|
|
394
394
|
THE OHIO SPECIALTY PROGRAM INDEX — one entry standing for the whole
|
|
395
|
-
programme, per
|
|
395
|
+
programme, per the plates spec §2.5. The count is a declared gap. The finding
|
|
396
396
|
worth carrying forward is STRUCTURAL rather than numeric: Ohio does not
|
|
397
397
|
have a generic specialty-plate mechanism with a petition threshold the way
|
|
398
398
|
Illinois and Wisconsin do; it authorises plates individually in statute.
|
data/data/plates/us-ok.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/us-ok.yml — Oklahoma (
|
|
1
|
+
# plates/us-ok.yml — Oklahoma (the plates spec gate L2, group: southcentral).
|
|
2
2
|
#
|
|
3
3
|
# WHY OKLAHOMA IS THE BEST-SOURCED STATE IN THIS GROUP, and it is not close:
|
|
4
4
|
#
|
|
@@ -58,7 +58,7 @@ binding: vehicle
|
|
|
58
58
|
statute_edition: "Oklahoma Statutes Title 47 (Motor Vehicles), Oklahoma Senate published compilation, 2019 — the edition obtainable by fetch. oscn.net (official) timed out on every attempt this pass; post-2019 amendments UNCHECKED (recorded gap)."
|
|
59
59
|
|
|
60
60
|
# ---------------------------------------------------------------------------
|
|
61
|
-
# artwork_risk — required per jurisdiction by
|
|
61
|
+
# artwork_risk — required per jurisdiction by the plates spec §4.
|
|
62
62
|
# ---------------------------------------------------------------------------
|
|
63
63
|
artwork_risk:
|
|
64
64
|
posture: no-pd-rule-found-default-copyrighted
|
|
@@ -92,7 +92,7 @@ artwork_risk:
|
|
|
92
92
|
three series.
|
|
93
93
|
sources:
|
|
94
94
|
- "https://oklahoma.gov/service/popular-services/license-plates.html # Service Oklahoma's own license-plate page; footer reads 'Copyright (c) 2026 Service Oklahoma' — the only Oklahoma rights assertion located"
|
|
95
|
-
- "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR ONLY (
|
|
95
|
+
- "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR ONLY (the plates spec §4): establishes that §105 does not reach the states and that Oklahoma is not among the states with a favourable rule; used to evidence an ABSENCE"
|
|
96
96
|
- "https://oksenate.gov/sites/default/files/2019-12/os47.pdf # 47 O.S. § 1113(B)(5)-(7): the state seal and the DOC badge mandated on the face of the OHP, OMD and DOC plates — the emblem exposure, in statute (an edict, and therefore itself PD)"
|
|
97
97
|
|
|
98
98
|
# ---------------------------------------------------------------------------
|
|
@@ -107,7 +107,7 @@ us_standards:
|
|
|
107
107
|
replacement_cycle: "AAMVA §1.1 recommends a replacement cycle 'not to exceed 7 to 10 years'. Oklahoma instead legislates a MINIMUM REISSUE INTERVAL of five years (§ 1113.2(H)) — a different mechanism answering a different question, and the contrast is the point."
|
|
108
108
|
source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
|
|
109
109
|
state_retroreflectivity_statute: "47 O.S. § 1113(B)(3), verbatim: 'All license plates and decals shall be made with reflectorized material as a background to the letters, numbers and characters displayed thereon. The reflectorized material shall be of such a nature as to provide effective and dependable brightness during the service period for which the license plate or decal is issued.' Note Oklahoma legislates the PROPERTY (brightness for the service period) and not the measurement, exactly as AAMVA does not."
|
|
110
|
-
folklore_caution: "The '1956 AMA standardization agreement' remains COMMONLY REPEATED, UNSOURCED (
|
|
110
|
+
folklore_caution: "The '1956 AMA standardization agreement' remains COMMONLY REPEATED, UNSOURCED (the plates spec §4). Oklahoma's statute states no plate dimensions at all — § 1113(A)(1) leaves size wholly to the agency: 'The license plate and decal shall be of such size, color, design and numbering as the Tax Commission may direct.'"
|
|
111
111
|
|
|
112
112
|
# ---------------------------------------------------------------------------
|
|
113
113
|
# Display rules. Oklahoma is a ONE-PLATE state with the truck-tractor inversion
|
|
@@ -173,7 +173,7 @@ series:
|
|
|
173
173
|
light, or practice has moved past the 2016 wording, or the 2019 text read
|
|
174
174
|
here has since been amended. The statute is quoted and the reported
|
|
175
175
|
colours are recorded as observation only; the discrepancy is recorded,
|
|
176
|
-
not resolved (
|
|
176
|
+
not resolved (the plates spec §5.3).
|
|
177
177
|
legend_top: "OKLAHOMA"
|
|
178
178
|
legend_bottom: "IMAGINE THAT"
|
|
179
179
|
legend_basis: locator-unconfirmed
|
|
@@ -199,7 +199,7 @@ series:
|
|
|
199
199
|
renewal or $9 outside of their annual renewal at a local licensed
|
|
200
200
|
operator."
|
|
201
201
|
consequence: >-
|
|
202
|
-
THIS IS A PARALLEL-ISSUANCE SERIES IN THE
|
|
202
|
+
THIS IS A PARALLEL-ISSUANCE SERIES IN THE the plates spec §2.2 SENSE, stated
|
|
203
203
|
by the authority rather than inferred. The 2017 base was mandatory-replace;
|
|
204
204
|
the 2024 base is opt-in. Both are therefore lawfully current, both are
|
|
205
205
|
being issued, and the periods overlap for real. That is exactly the
|
|
@@ -215,13 +215,13 @@ series:
|
|
|
215
215
|
county abbreviation; the county-abbreviated decal is reported to have
|
|
216
216
|
stopped being issued in 2024. So Oklahoma's geographic signal migrated
|
|
217
217
|
serial -> sticker -> nothing over fifteen years. The historic decode table
|
|
218
|
-
is L4 scope (
|
|
218
|
+
is L4 scope (the plates spec §7) and is deliberately not built here; it is
|
|
219
219
|
flagged as a high-value `_decode/` candidate because it is one of the few
|
|
220
220
|
genuine US serial-to-geography decodes that ever existed.
|
|
221
221
|
sources:
|
|
222
222
|
- "https://oklahoma.gov/service/popular-services/license-plates.html # Service Oklahoma: 'Starting Sept. 1, 2024, Oklahoma's standard issue license plate will have a new design'; the Iconic Oklahoma Plate name; the NOT-automatically-reissued rule; $4 with renewal / $9 outside renewal"
|
|
223
223
|
- "https://oksenate.gov/sites/default/files/2019-12/os47.pdf # 47 O.S. § 1113(A)(1) size/colour/design/numbering delegated to the agency; § 1113(B)(3) reflectorized background; § 1113.2(G) contrast against a light-coloured background; § 1113.2(H) the five-year minimum reissue interval that permitted this base"
|
|
224
|
-
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Oklahoma # LOCATOR ONLY (
|
|
224
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Oklahoma # LOCATOR ONLY (the plates spec §4): the ABC-123 arrangement, the 'IMAGINE THAT' bottom legend, the red field with the star separator, and the PNU-001/PZJ-001-to-VXY-261 range as of 2025-11-08. None asserted as sourced."
|
|
225
225
|
notes: >-
|
|
226
226
|
THE ICONIC OKLAHOMA PLATE. Its defining fact is administrative rather than
|
|
227
227
|
visual: Oklahoma broke with its own precedent and did NOT force a fleet
|
|
@@ -268,7 +268,7 @@ series:
|
|
|
268
268
|
format: { pattern: "LLL-999" }
|
|
269
269
|
- name: "OKLAHOMA legend"
|
|
270
270
|
period: { start: 2022, end: 2024 }
|
|
271
|
-
note: "same base, top legend changed to plain 'OKLAHOMA'; recorded as a VARIANT and not a series because format and period are continuous and only the legend text moves (
|
|
271
|
+
note: "same base, top legend changed to plain 'OKLAHOMA'; recorded as a VARIANT and not a series because format and period are continuous and only the legend text moves (the plates spec §2.3). Both variants are locator-grade."
|
|
272
272
|
format: { pattern: "LLL-999" }
|
|
273
273
|
statutory_origin:
|
|
274
274
|
text: >-
|
|
@@ -394,7 +394,7 @@ series:
|
|
|
394
394
|
plate because the class differs (military vs police in
|
|
395
395
|
`_meta/classes.yml`), the assigner differs (Adjutant General vs badge
|
|
396
396
|
number) and the serial WIDTH differs (fixed three vs open badge number) —
|
|
397
|
-
three independent reasons under
|
|
397
|
+
three independent reasons under the plates spec §2.3, in adjacent statutory
|
|
398
398
|
paragraphs.
|
|
399
399
|
|
|
400
400
|
- id: us-ok-corrections
|
|
@@ -434,7 +434,7 @@ series:
|
|
|
434
434
|
would destroy all of that.
|
|
435
435
|
|
|
436
436
|
# =========================================================================
|
|
437
|
-
# SPECIALTY — THE PROGRAM INDEX ONLY, per
|
|
437
|
+
# SPECIALTY — THE PROGRAM INDEX ONLY, per the plates spec §2.5.
|
|
438
438
|
# =========================================================================
|
|
439
439
|
- id: us-ok-specialty-index
|
|
440
440
|
class: specialty
|
|
@@ -450,7 +450,7 @@ series:
|
|
|
450
450
|
design:
|
|
451
451
|
plate: { w: 12, h: 6, unit: in }
|
|
452
452
|
background: { finish: retroreflective }
|
|
453
|
-
note: "one design per authorised program; individual designs are L4 scope (
|
|
453
|
+
note: "one design per authorised program; individual designs are L4 scope (the plates spec §2.5) and none is described here"
|
|
454
454
|
emblem: { present: true, rendered: placeholder }
|
|
455
455
|
program_index:
|
|
456
456
|
count: null
|
data/data/plates/us-or.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/us-or.yml — Oregon (
|
|
1
|
+
# plates/us-or.yml — Oregon (the plates spec gate L2, northwest group).
|
|
2
2
|
#
|
|
3
3
|
# THE ONE FACT THAT MAKES OREGON WORTH READING CAREFULLY. ORS 803.535 does not
|
|
4
4
|
# describe the plate. It POINTS AT A DESIGN CONTEST: "The design of the
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
# bound on the current base — plates cannot predate the contest that chose
|
|
18
18
|
# them. The commonly repeated November 1989 first-issue date is
|
|
19
19
|
# encyclopedia-grade and is recorded as such, never asserted. This is exactly
|
|
20
|
-
# the discipline
|
|
20
|
+
# the discipline the plates spec §9 asks for: primary-source-or-marked.
|
|
21
21
|
#
|
|
22
22
|
# SOURCE-ACCESS NOTE, RECORDED HONESTLY. www.oregonlegislature.gov refused TLS
|
|
23
23
|
# from this environment on every attempt (curl exit 35, WebFetch ECONNRESET).
|
|
24
24
|
# The ORS text below was therefore read from oregon.public.law, a third-party
|
|
25
25
|
# reproduction. Oregon statutes are EDICTS OF GOVERNMENT and public domain at
|
|
26
|
-
# every level (
|
|
26
|
+
# every level (the plates spec §4), so the reproduction carries the same text with
|
|
27
27
|
# the same PD status — but the OFFICIAL citation is given first in every
|
|
28
28
|
# source line, and re-verification against oregonlegislature.gov is an open
|
|
29
29
|
# item for the verifier.
|
|
@@ -39,14 +39,14 @@ statute_edition: >-
|
|
|
39
39
|
803.540.
|
|
40
40
|
|
|
41
41
|
# ---------------------------------------------------------------------------
|
|
42
|
-
# artwork_risk — required per jurisdiction by
|
|
42
|
+
# artwork_risk — required per jurisdiction by the plates spec §4/§7.1.
|
|
43
43
|
# ---------------------------------------------------------------------------
|
|
44
44
|
artwork_risk:
|
|
45
45
|
posture: asserted-trademark-copyright-unresearched
|
|
46
46
|
basis: >-
|
|
47
47
|
OREGON IS NOT ON EITHER SIDE OF THE SURVEYED LEDGER, AND SAYING SO IS THE
|
|
48
48
|
HONEST ANSWER. Oregon appears NOWHERE in the standing per-state copyright
|
|
49
|
-
survey
|
|
49
|
+
survey the plates spec §4 works from — it is neither in the favourable column
|
|
50
50
|
(FL, CA, NC, NJ, MA, GA) nor in the adverse column (NY, AZ, PA, WA) — and
|
|
51
51
|
no {{PD-ORGov}} tag exists on Wikimedia Commons. So the DEFAULT applies:
|
|
52
52
|
a US state's works are copyrighted unless that state says otherwise
|
|
@@ -64,7 +64,7 @@ artwork_risk:
|
|
|
64
64
|
adverse, which would overclaim, and not as unresearched, which would
|
|
65
65
|
ignore the fetched assertion.
|
|
66
66
|
emblem_rule: >-
|
|
67
|
-
|
|
67
|
+
the plates spec §3's placeholder default applies to the Douglas fir, the
|
|
68
68
|
mountain silhouette and every special-background graphic. Note the
|
|
69
69
|
additional Oregon-specific hazard: ORS 803.535 makes the design the
|
|
70
70
|
winning entry of a 1987 PUBLIC CONTEST, which means an identifiable
|
|
@@ -133,11 +133,11 @@ series:
|
|
|
133
133
|
1950s to avoid collision with the optional Oregon Trail plates, and
|
|
134
134
|
the I and O blocks skipped since 2004 for confusion with the
|
|
135
135
|
numerals 1 and 0 — are LOCATOR-GRADE and are deliberately NOT
|
|
136
|
-
encoded as a `regex_strict`, which
|
|
136
|
+
encoded as a `regex_strict`, which the plates spec §2.7 reserves for the
|
|
137
137
|
authority's own alphabet.
|
|
138
138
|
pattern_note: >-
|
|
139
139
|
The group boundary is written as the separator-only class `[- ]`,
|
|
140
|
-
sanctioned by
|
|
140
|
+
sanctioned by the plates spec §2.8, because Oregon prints a GAP (not a
|
|
141
141
|
glyph) and no authority text names a separator character; `pattern`
|
|
142
142
|
shows the canonical printed form with a space. There is no
|
|
143
143
|
`regex_statutory`: ORS 803.535 states no outer bound to encode, which
|
|
@@ -179,7 +179,7 @@ series:
|
|
|
179
179
|
- "https://www.oregonlegislature.gov/bills_laws/ors/ors803.html # ORS 803.535: the 1987 contest design provision, the fully-reflectorized-safety-plate requirement, the 'distinctive number or characters ... and the word Oregon' legend rule, the size/form/arrangement delegation, and the identical-pair rule. Read via oregon.public.law (official host TLS-unreachable)."
|
|
180
180
|
- "https://www.oregon.gov/odot/DMV/pages/vehicle/plates.aspx # Oregon DMV's own plate estate: plate-option structure, the special-background fee chart pointer, and the plate imagery the observed colours are taken from"
|
|
181
181
|
- "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf # AAMVA Ed.3 §2.2/§3.3 layout and retroreflectivity, adopted voluntarily; Oregon legislates the requirement without the metric"
|
|
182
|
-
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Oregon # LOCATOR ONLY (
|
|
182
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Oregon # LOCATOR ONLY (the plates spec §4): the reported February 2004 arrangement change, the reported serial ranges, and the reported A/I/O block exclusions. None is asserted as sourced here."
|
|
183
183
|
notes: >-
|
|
184
184
|
OREGON STANDARD ISSUE, NUMERAL-LEADING. THE ID IS DELIBERATELY UNDATED
|
|
185
185
|
for the us-fl-standard reason: `start: 2026` is the year the ORS was
|
|
@@ -231,7 +231,7 @@ series:
|
|
|
231
231
|
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Oregon # LOCATOR ONLY: the letters-first arrangement and the reported February 2004 end. The end year is not asserted as sourced."
|
|
232
232
|
notes: >-
|
|
233
233
|
THE PREVIOUS OREGON ARRANGEMENT, ON THE SAME STATUTORY BASE. Modelled as
|
|
234
|
-
its own series because
|
|
234
|
+
its own series because the plates spec §2.3's test is format OR design OR
|
|
235
235
|
period, and the FORMAT differs. A parser needs both: an Oregon plate of
|
|
236
236
|
unknown vintage on the fir base is either LLL 999 or 999 LLL. Distinct
|
|
237
237
|
from us-or-standard in that this series is closed and letter-leading
|
|
@@ -242,7 +242,7 @@ series:
|
|
|
242
242
|
# CORE DISTINCT CLASSES. Oregon separately serializes these — ORS 803.525
|
|
243
243
|
# sources the PLATE COUNT for each, which is a real primary claim, while the
|
|
244
244
|
# serial grammars are locator-grade, hence `recall-only` with widened
|
|
245
|
-
# regexes per
|
|
245
|
+
# regexes per the plates spec §2.7.
|
|
246
246
|
# =========================================================================
|
|
247
247
|
- id: us-or-trailer
|
|
248
248
|
class: trailer
|
|
@@ -289,7 +289,7 @@ series:
|
|
|
289
289
|
design:
|
|
290
290
|
plate: { w: 12, h: 6, unit: in, dimension_basis: convention-observed }
|
|
291
291
|
background: { finish: retroreflective }
|
|
292
|
-
colour_note: "reported blue on gold — the pre-1989 Oregon colourway retained for exempt plates, i.e. an OLD BASE STILL IN ISSUE. Recorded because it is exactly the parallel-series case
|
|
292
|
+
colour_note: "reported blue on gold — the pre-1989 Oregon colourway retained for exempt plates, i.e. an OLD BASE STILL IN ISSUE. Recorded because it is exactly the parallel-series case the plates spec §2.2 warns about, but the claim is locator-grade."
|
|
293
293
|
emblem: { present: true, rendered: placeholder }
|
|
294
294
|
region_encoding: none
|
|
295
295
|
sources:
|
|
@@ -303,7 +303,7 @@ series:
|
|
|
303
303
|
instrument for the exempt series was located.
|
|
304
304
|
|
|
305
305
|
# =========================================================================
|
|
306
|
-
# SPECIALTY — THE PROGRAM INDEX, per
|
|
306
|
+
# SPECIALTY — THE PROGRAM INDEX, per the plates spec §2.5. Count and official
|
|
307
307
|
# links only; no individual designs (those are L4).
|
|
308
308
|
# =========================================================================
|
|
309
309
|
- id: us-or-specialty-index
|
|
@@ -320,7 +320,7 @@ series:
|
|
|
320
320
|
Oregon calls these SPECIAL BACKGROUND plates, and the name is the
|
|
321
321
|
model: the serial arrangement is the ordinary one and only the
|
|
322
322
|
background changes. Because per-programme grammars were not sourced
|
|
323
|
-
(individual specialty specs are L4 per
|
|
323
|
+
(individual specialty specs are L4 per the plates spec §2.5), the index
|
|
324
324
|
carries a deliberately wide union and is `recall-only`.
|
|
325
325
|
design:
|
|
326
326
|
plate: { w: 12, h: 6, unit: in, dimension_basis: convention-observed }
|
|
@@ -356,7 +356,7 @@ series:
|
|
|
356
356
|
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Oregon # LOCATOR ONLY: the reported 20-plus optional designs. NOT adopted as the count."
|
|
357
357
|
notes: >-
|
|
358
358
|
THE OREGON SPECIALTY INDEX — one entry standing for the whole programme,
|
|
359
|
-
per
|
|
359
|
+
per the plates spec §2.5. The honest headline is a NEGATIVE result: Oregon
|
|
360
360
|
publishes no programme count. Recording "unstated" with the reason beats
|
|
361
361
|
importing a number from an encyclopedia, and the Special Background Fees
|
|
362
362
|
Chart is the identified path to a real figure next pass.
|
data/data/plates/us-pa.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/us-pa.yml — Pennsylvania (
|
|
1
|
+
# plates/us-pa.yml — Pennsylvania (the plates spec gate L2, mid-Atlantic group).
|
|
2
2
|
#
|
|
3
3
|
# PENNSYLVANIA IS THE ONE STATE IN THIS GROUP WHOSE ADVERSE POSTURE IS IN
|
|
4
4
|
# STATUTE. New York's is judicial and inferred; Pennsylvania's is a legislative
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
# characters, NO hyphen, with the Liberty Bell as a watermark BEHIND the
|
|
26
26
|
# characters. The base it replaced reads ABC-1234. So Pennsylvania dropped the
|
|
27
27
|
# printed separator at the 2025 base change, and this file spells each base's
|
|
28
|
-
# separator as that base actually prints it (
|
|
28
|
+
# separator as that base actually prints it (the plates spec §2.6 rule 2).
|
|
29
29
|
#
|
|
30
30
|
# period_evidence / format_evidence vocabularies as in us-ny.yml.
|
|
31
31
|
jurisdiction: us-pa
|
|
@@ -36,7 +36,7 @@ binding: vehicle
|
|
|
36
36
|
statute_edition: "75 Pa.C.S. (Vehicles), Chapter 13, read 2026-08-02. The Pennsylvania General Assembly's own statute service (palegis.us) reset the connection on four attempts in this pass, so §§ 1331 and 1332 were read through a third-party reproduction of the consolidated statutes; edicts of government are public domain at every level so the text is freely usable, but a verifier should re-derive from palegis.us. Recorded gap."
|
|
37
37
|
|
|
38
38
|
# ---------------------------------------------------------------------------
|
|
39
|
-
# artwork_risk — required per jurisdiction by
|
|
39
|
+
# artwork_risk — required per jurisdiction by the plates spec §4.
|
|
40
40
|
# ---------------------------------------------------------------------------
|
|
41
41
|
artwork_risk:
|
|
42
42
|
posture: adverse-by-statute
|
|
@@ -55,7 +55,7 @@ artwork_risk:
|
|
|
55
55
|
returned 403 on both a WebFetch and a browser-user-agent curl, and
|
|
56
56
|
palegis.us reset the connection repeatedly. The citation and the quoted
|
|
57
57
|
clause come from the Wikipedia survey of subnational copyright status, which
|
|
58
|
-
is a LOCATOR under
|
|
58
|
+
is a LOCATOR under the plates spec §4 and not an authority. The clause is quoted
|
|
59
59
|
here so a verifier knows exactly what to pull and can falsify it in one
|
|
60
60
|
fetch. The conclusion should not be relied on for a render decision until
|
|
61
61
|
the statute itself is in hand.
|
|
@@ -143,7 +143,7 @@ series:
|
|
|
143
143
|
ABC0123 as seven contiguous characters with the Liberty Bell rendered as
|
|
144
144
|
a watermark BEHIND them. The base it replaced printed ABC-1234 with a
|
|
145
145
|
hyphen. Pennsylvania therefore dropped the printed separator at the 2025
|
|
146
|
-
base change, and
|
|
146
|
+
base change, and the plates spec §2.6 rule 2 requires each base's regex to be
|
|
147
147
|
written in ITS OWN printed form — which is why this series has no hyphen
|
|
148
148
|
in it and `us-pa-visitpa` does.
|
|
149
149
|
progression: "reported to run MYR0200 onward, reaching NHJ 3386 as of 25 July 2026 (locator). Note the locator's own rendering of the later serial contains a space, which conflicts with PennDOT's contiguous sample; the conflict is recorded, not resolved."
|
|
@@ -156,7 +156,7 @@ series:
|
|
|
156
156
|
letters and numbers'; PennDOT's own image of the same plate shows a
|
|
157
157
|
distinctly CREAM ground, not white, with navy characters and DARK RED
|
|
158
158
|
legends the alt text does not mention. The hex recorded is the observed
|
|
159
|
-
cream.
|
|
159
|
+
cream. The plates spec §5.3 says record disagreements rather than average
|
|
160
160
|
them, and this is a disagreement inside a single agency page.
|
|
161
161
|
legend_top: "PENNSYLVANIA"
|
|
162
162
|
legend_bottom: "LET FREEDOM RING"
|
|
@@ -189,10 +189,10 @@ series:
|
|
|
189
189
|
- "https://www.pa.gov/en/agencies/dmv/vehicle-services/registration-plates/standard-issue-registration-plate.html # PennDOT: the 'Liberty Bell style' standard plate, a June 2025 introduction, 'white background with large blue letters and numbers', the $14 replacement fee, the D/E/F reissuance front, and the official sample image showing the contiguous ABC0123 serial"
|
|
190
190
|
- "https://codes.findlaw.com/pa/title-75-pacsa-vehicles/pa-csa-sect-75-1331.html # § 1331(b) plate content; (d) reflectorizing; (f) the periodic reissuance program"
|
|
191
191
|
- "https://codes.findlaw.com/pa/title-75-pacsa-vehicles/pa-csa-sect-75-1332.html # § 1332(d) no validating stickers"
|
|
192
|
-
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Pennsylvania # LOCATOR ONLY (
|
|
192
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Pennsylvania # LOCATOR ONLY (the plates spec §4): a MAY 2025 introduction, ABC1234, MYR0200 to NHJ 3386 as of 25 July 2026"
|
|
193
193
|
notes: >-
|
|
194
194
|
LET FREEDOM RING (2025-) — THE CURRENT PENNSYLVANIA STANDARD ISSUE.
|
|
195
|
-
DATE DISAGREEMENT, RECORDED NOT AVERAGED (
|
|
195
|
+
DATE DISAGREEMENT, RECORDED NOT AVERAGED (the plates spec §5.3): PennDOT's own
|
|
196
196
|
page says JUNE 2025; the locator says MAY 2025. Both are written down;
|
|
197
197
|
neither is split. `period.start: 2025` is safe under either. The design
|
|
198
198
|
name also differs by source — PennDOT calls it the 'Liberty Bell style'
|
|
@@ -217,7 +217,7 @@ series:
|
|
|
217
217
|
pattern: "LLL-9999"
|
|
218
218
|
regex: '\A[A-Z]{3}-?\d{4}\z'
|
|
219
219
|
charset: { notes: "as us-pa-let-freedom-ring: no statutory charset. Reported range KLF-0000 to MYR-0199, i.e. this base ran out exactly where the current one begins (MYR0200) - a clean, checkable boundary claim and the strongest era-inference signal in the file." }
|
|
220
|
-
pattern_note: "THIS base prints a hyphen. Written in its own printed form per
|
|
220
|
+
pattern_note: "THIS base prints a hyphen. Written in its own printed form per the plates spec §2.6 rule 2; the separator-free twin is derived by the consumer, not shipped."
|
|
221
221
|
design:
|
|
222
222
|
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
223
223
|
foreground: "#1B3A6B"
|
|
@@ -237,7 +237,7 @@ series:
|
|
|
237
237
|
visitPA.com (2017-) — THE PREVIOUS BASE, WITH NO END YEAR ON PURPOSE.
|
|
238
238
|
PennDOT states that third-party and non-Commonwealth vendors may still be
|
|
239
239
|
issuing it, so closing the period would be a false claim: this is exactly
|
|
240
|
-
the parallel-issuance case
|
|
240
|
+
the parallel-issuance case the plates spec §2.2 sanctions ('old stock issues
|
|
241
241
|
on'), and it is why this series and us-pa-let-freedom-ring overlap. The
|
|
242
242
|
2004 base carried the same visitPA.com slogan and the same ABC-1234
|
|
243
243
|
format, differing only in the absence of the state outline; it is NOT given
|
|
@@ -267,7 +267,7 @@ series:
|
|
|
267
267
|
says 'this string has a shape Pennsylvania has issued to a motorcycle'
|
|
268
268
|
and nothing more. PennDOT's own rule caps a personal motorcycle plate
|
|
269
269
|
at five characters, which every one of the four arrangements satisfies.
|
|
270
|
-
pattern_note: "recall-only forbids a regex_strict (
|
|
270
|
+
pattern_note: "recall-only forbids a regex_strict (the plates spec §2.7) and none is given. When a primary establishes which arrangement is current, this series splits and the union becomes a historic parent."
|
|
271
271
|
design:
|
|
272
272
|
background: { finish: retroreflective }
|
|
273
273
|
legend_top: "PENNSYLVANIA"
|
|
@@ -418,7 +418,7 @@ series:
|
|
|
418
418
|
pattern_note: >-
|
|
419
419
|
WHY THE ALTERNATION AND NOT A LOOKAHEAD: bounding total length with a
|
|
420
420
|
lookahead would require either an unescaped wildcard or a character class
|
|
421
|
-
MIXING separators with the serial alphabet, and
|
|
421
|
+
MIXING separators with the serial alphabet, and the plates spec §2.8 forbids
|
|
422
422
|
the second while the lint rejects the first. The alternation is longer
|
|
423
423
|
and is the only spelling that satisfies the separator contract, which is
|
|
424
424
|
a small but real demonstration that §2.8's rule has teeth.
|
|
@@ -436,7 +436,7 @@ series:
|
|
|
436
436
|
one that merely shapes.
|
|
437
437
|
|
|
438
438
|
# =========================================================================
|
|
439
|
-
# SPECIALTY — THE PROGRAM INDEX, per
|
|
439
|
+
# SPECIALTY — THE PROGRAM INDEX, per the plates spec §2.5.
|
|
440
440
|
# =========================================================================
|
|
441
441
|
- id: us-pa-specialty-index
|
|
442
442
|
class: specialty
|
|
@@ -451,7 +451,7 @@ series:
|
|
|
451
451
|
charset: { notes: "specialty plates carry ordinary serials on an alternative design and PennDOT says 'the majority of which can be personalized', so the seven-character personalisation frame applies to most of them." }
|
|
452
452
|
design:
|
|
453
453
|
background: { finish: retroreflective }
|
|
454
|
-
note: "one design per authorised programme; the designs themselves are L4 scope (
|
|
454
|
+
note: "one design per authorised programme; the designs themselves are L4 scope (the plates spec §2.5) and none is described here"
|
|
455
455
|
emblem: { present: true, rendered: placeholder }
|
|
456
456
|
program_index:
|
|
457
457
|
structure_official: >-
|