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,605 @@
|
|
|
1
|
+
# plates/us-sc.yml — South Carolina (PRD-PLATES gate L2, group southeast-a).
|
|
2
|
+
#
|
|
3
|
+
# THE SOUTH CAROLINA FINDING, AND IT IS THE BEST-SOURCED CURRENT SERIES IN THE
|
|
4
|
+
# WHOLE US PASS SO FAR: SOUTH CAROLINA'S PRESENT STANDARD PASSENGER PLATE IS
|
|
5
|
+
# LEGISLATED, WITH BOTH ENDPOINTS AND THE ARTWORK, IN ONE SUBSECTION.
|
|
6
|
+
# S.C. Code § 56-3-1230(C), added by 2025 Act No. 39 (H.3175) effective 12 May
|
|
7
|
+
# 2025, verbatim: "Notwithstanding another provision of law to the contrary,
|
|
8
|
+
# the regular license plate for private passenger vehicles and motorcycles
|
|
9
|
+
# issued by the Department of Motor Vehicles FROM JANUARY 1, 2026, UNTIL
|
|
10
|
+
# DECEMBER 31, 2032, shall commemorate the two hundred fiftieth anniversary of
|
|
11
|
+
# the American Revolution. ... The design ... must be imprinted with the words
|
|
12
|
+
# 'Where the Revolutionary War Was Won' and shall include, at a minimum, a flag
|
|
13
|
+
# featuring the word LIBERTY in white against an indigo background together
|
|
14
|
+
# with a gorget in an upper corner of the flag, also known as the Moultrie
|
|
15
|
+
# Flag."
|
|
16
|
+
#
|
|
17
|
+
# Every other state in group southeast-a required a locator for its start year.
|
|
18
|
+
# South Carolina required none: the start, the sunset, the slogan and the
|
|
19
|
+
# minimum artwork are all edict of government, which is public domain at every
|
|
20
|
+
# level. `period_evidence: statutory-date` is earned here, not asserted.
|
|
21
|
+
#
|
|
22
|
+
# ONE SCHEMA CONSEQUENCE, FLAGGED FOR THE MAINTAINER RATHER THAN WORKED AROUND
|
|
23
|
+
# QUIETLY: the sunset is 31 December 2032, and `scripts/lint_plates.rb` rejects
|
|
24
|
+
# any `period.end` beyond the current year plus one. A legislated FUTURE sunset
|
|
25
|
+
# is a real and recurring shape — Georgia's America 250 plate carries one too
|
|
26
|
+
# (2030, from the Department of Revenue) — and the rail cannot express it. This
|
|
27
|
+
# file therefore keeps `period.end` absent (the series IS currently issuing, so
|
|
28
|
+
# open is the honest reading for a consumer) and carries the sunset in
|
|
29
|
+
# `period.scheduled_end`, which the lint ignores. See the group dossier: the
|
|
30
|
+
# proposed amendment is to let the rail admit a future `scheduled_end`.
|
|
31
|
+
#
|
|
32
|
+
# AUTHORITY FETCH FAILURE, DISCLOSED: scdmvonline.com was UNREACHABLE from this
|
|
33
|
+
# network across repeated attempts on 2026-08-01 (connection reset on HTTP/2,
|
|
34
|
+
# timeout on HTTP/1.1, socket hang-up through the fetch proxy). NOT ONE CLAIM IN
|
|
35
|
+
# THIS FILE COMES FROM SCDMV. That turns out to matter less here than it would
|
|
36
|
+
# anywhere else, because South Carolina legislates what other states delegate —
|
|
37
|
+
# but it does mean the specialty-programme count is derived from the statute
|
|
38
|
+
# book rather than taken from the agency, and it is labelled accordingly.
|
|
39
|
+
#
|
|
40
|
+
# EVIDENCE GRADES — the four defined in us-va.yml.
|
|
41
|
+
jurisdiction: us-sc
|
|
42
|
+
authority:
|
|
43
|
+
name: South Carolina Department of Motor Vehicles (SCDMV)
|
|
44
|
+
url: "https://www.scdmvonline.com/Vehicle-Owners/License-Plates"
|
|
45
|
+
fetch_status: "UNREACHABLE 2026-08-01 (connection reset / timeout / socket hang-up on repeated attempts). No claim in this file rests on it."
|
|
46
|
+
binding: vehicle
|
|
47
|
+
statute_edition: "South Carolina Code of Laws, Title 56 (Motor Vehicles), Chapter 3, as served by scstatehouse.gov and read 2026-08-01 — the chapter text incorporates amendments through 2025 Act No. 39 (eff. 12 May 2025) and 2024 Act No. 178 (eff. 20 November 2024)"
|
|
48
|
+
|
|
49
|
+
# ---------------------------------------------------------------------------
|
|
50
|
+
# artwork_risk — required per jurisdiction by PRD-PLATES §4.
|
|
51
|
+
# ---------------------------------------------------------------------------
|
|
52
|
+
artwork_risk:
|
|
53
|
+
posture: adverse
|
|
54
|
+
basis: >-
|
|
55
|
+
SOUTH CAROLINA IS ADVERSE, ON JUDICIAL AUTHORITY. The Supreme Court of
|
|
56
|
+
South Carolina held in Seago v. Horry County, 663 S.E.2d 38 (S.C. 2008),
|
|
57
|
+
that a South Carolina county CAN hold copyrights on government works. That
|
|
58
|
+
is an affirmative judicial holding permitting copyright in works of a South
|
|
59
|
+
Carolina governmental body — a stronger adverse signal than the mere
|
|
60
|
+
absence of a public-domain rule, and it puts South Carolina alongside New
|
|
61
|
+
York, Arizona, Pennsylvania and Washington rather than alongside Florida,
|
|
62
|
+
California, Georgia or North Carolina. Wikimedia Commons has no
|
|
63
|
+
{{PD-SCGov}} template (HTTP 404, checked 2026-08-01), consistent with that
|
|
64
|
+
reading, and the Commons US rules page states the default as "Other
|
|
65
|
+
states: copyrighted".
|
|
66
|
+
honest_limits: >-
|
|
67
|
+
TWO LIMITS ON THIS FINDING, STATED SO IT IS NOT OVER-READ. First, Seago
|
|
68
|
+
concerned a COUNTY, not the State, and the opinion itself was NOT obtained
|
|
69
|
+
in this pass — it is cited here through a secondary survey that gives the
|
|
70
|
+
reporter citation and a Google Scholar locator. Second, no instance of
|
|
71
|
+
South Carolina asserting copyright over a LICENSE PLATE DESIGN was found;
|
|
72
|
+
what is established is a framework that would permit one, exactly as the
|
|
73
|
+
US-world dossier concluded for Arizona, Pennsylvania, New York and
|
|
74
|
+
Washington. Read this field as "the framework permits it and the courts
|
|
75
|
+
have blessed it", not as "South Carolina has claimed it".
|
|
76
|
+
edict_carve_out: >-
|
|
77
|
+
THE CARVE-OUT IS UNUSUALLY POWERFUL IN SOUTH CAROLINA AND IT IS WHY THIS
|
|
78
|
+
FILE IS RICH DESPITE THE ADVERSE POSTURE. Edicts of government are
|
|
79
|
+
uncopyrightable at every level, and South Carolina puts an extraordinary
|
|
80
|
+
amount of plate specification INTO ITS STATUTE: the dimensions, the
|
|
81
|
+
retroreflectivity requirement, the five-year service life, the ten-year
|
|
82
|
+
reissue interval, the temporary-plate dimensions to the inch, the
|
|
83
|
+
unified specialty-plate design rule, the 300-application discontinuation
|
|
84
|
+
threshold, and — uniquely — the current standard plate's slogan and
|
|
85
|
+
minimum artwork. All of that is public domain no matter what posture the
|
|
86
|
+
State takes toward its own works. The adverse posture bites only on
|
|
87
|
+
elements NOT in the statute: the exact executed artwork, the colour values,
|
|
88
|
+
and the specialty designs.
|
|
89
|
+
emblem_rule: >-
|
|
90
|
+
PRD-PLATES §3's placeholder default applies. Note the specific hazard: the
|
|
91
|
+
statutorily-mandated element of the current plate is the MOULTRIE FLAG —
|
|
92
|
+
a historic flag, and historic flags are not themselves copyrightable
|
|
93
|
+
subject matter — but the EXECUTED artwork submitted by the South Carolina
|
|
94
|
+
Revolutionary War Sestercentennial Commission is a modern work by a state
|
|
95
|
+
body in an adverse-posture state. Render the flag slot as
|
|
96
|
+
`emblem: {present: true, rendered: placeholder}` and do not trace the
|
|
97
|
+
Commission's execution. The Palmetto tree and crescent of earlier bases,
|
|
98
|
+
and the STATE SEAL used on the 1980-84 base, carry seal-misuse protection
|
|
99
|
+
independent of copyright, which is unresearched.
|
|
100
|
+
photograph_caution: "Commons photographs of South Carolina plates carry the photographer's licence on the photograph, not on the design. Our renders are generated from the statute, never derived from a photograph, so those obligations never attach."
|
|
101
|
+
sources:
|
|
102
|
+
- "https://scholar.google.com/scholar_case?case=12877392669401300528 # Seago v. Horry County, 663 S.E.2d 38 (S.C. 16 June 2008) — LOCATOR for the opinion, which was NOT read in this pass"
|
|
103
|
+
- "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR ONLY: the South Carolina entry reporting Seago and its holding that a South Carolina county can hold copyrights on government works"
|
|
104
|
+
- "https://commons.wikimedia.org/wiki/Template:PD-SCGov # HTTP 404 — no South Carolina public-domain tag exists on Commons (checked 2026-08-01)"
|
|
105
|
+
- "https://commons.wikimedia.org/wiki/Commons:Copyright_rules_by_territory/United_States # the governing default: 'Other states: copyrighted'"
|
|
106
|
+
- "https://www.scstatehouse.gov/code/t56c003.php # the statutory plate specification itself — an edict of government, public domain regardless of the State's posture toward its other works"
|
|
107
|
+
|
|
108
|
+
us_standards:
|
|
109
|
+
no_federal_mandate: true
|
|
110
|
+
chain: "SAE J686 -> AAMVA License Plate Standard Edition 3 (September 2025) -> voluntary state adoption; AAMVA's declarative present is RECOMMENDED PRACTICE."
|
|
111
|
+
aamva_edition_3:
|
|
112
|
+
dimensions_delegated: "AAMVA §3.1 delegates dimensions and bolt holes to SAE J686, whose text is paywalled and was NOT obtained. No J686 dimension is quoted — and South Carolina does not need one, because it legislates its own minima (see us-sc-standard-rev250-2026)."
|
|
113
|
+
retroreflectivity: "AAMVA §3.3: readable in daylight and at night from at least 75 feet; ASTM D4956-19 and ISO 7591:1982 clause 3. South Carolina legislates the REQUIREMENT (§ 56-3-1230(B)) and then delegates the SPECIFICATION to the department: 'The department shall prepare the specifications for the retroreflective material.' So the SC spec exists as a departmental document and is a named, findable gap."
|
|
114
|
+
replacement_cycle: >-
|
|
115
|
+
AAMVA §1.1 recommends a rolling or full replacement cycle "not to exceed
|
|
116
|
+
7 to 10 years". SOUTH CAROLINA LEGISLATES THE TOP OF THAT RANGE, exactly
|
|
117
|
+
as Florida does, and legislates a materials floor beneath it: § 56-3-1230
|
|
118
|
+
(A) requires the plate be "of a strength and quality to provide a minimum
|
|
119
|
+
service of five years" and requires a new plate "at intervals the
|
|
120
|
+
department considers appropriate, but AT LEAST EVERY TEN YEARS". Two
|
|
121
|
+
states of this group put ten years in law; Virginia and North Carolina
|
|
122
|
+
put nothing; West Virginia replaces on condition. That spread is the
|
|
123
|
+
honest answer to "is there a US reissue cadence?" — there is not, there
|
|
124
|
+
are five different state answers.
|
|
125
|
+
source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
|
|
126
|
+
folklore_caution: >-
|
|
127
|
+
The "1956 AMA standardization agreement" remains COMMONLY REPEATED AND NOT
|
|
128
|
+
PRIMARY-SOURCED (see the fuller note in us-va.yml). South Carolina is the
|
|
129
|
+
state where it matters least: § 56-3-1230(A) states the dimensions in law —
|
|
130
|
+
"License plates must be at least six inches wide and not less than twelve
|
|
131
|
+
inches in length" — so this file cites the statute and never the story.
|
|
132
|
+
|
|
133
|
+
display_rules:
|
|
134
|
+
default: "ONE plate, REAR. § 56-3-1210: 'Beginning with the licensing year 1975-1976, the Department of Motor Vehicles, upon registering and licensing a vehicle, shall issue to the owner ONE license plate.' § 56-3-1240(A): 'Unless the provisions of this section apply, license plates issued for motor vehicles must be attached to the outside rear of the vehicle, open to view. License plates must always be fastened securely in a horizontal and upright position ... so as to prevent the plate from swinging.'"
|
|
135
|
+
front_only: "TRUCK TRACTORS AND ROAD TRACTORS: § 56-3-1240(B): 'License plates for truck tractors and road tractors must be attached to the outside FRONT of the vehicle' — the same inversion Florida (§ 320.0706) and Virginia (§ 46.2-715) legislate. THREE of the five states in this group put the tractor plate on the front, which turns an apparent oddity into a regional pattern worth stating."
|
|
136
|
+
either_end: "single-unit commercial motor vehicles with a GVWR over 26,000 lb may carry the plate on either the outside front or rear (§ 56-3-1240(B))"
|
|
137
|
+
windshield_temporary: "during the 45 days an intrastate-only large commercial motor vehicle may run on a § 56-3-212 temporary plate, the owner may display a MOTORCYCLE-SIZED temporary plate securely in the front passenger-side windshield with the unique identifying text facing outward, positioned so as not to obstruct the driver's view (§ 56-3-1240(B))"
|
|
138
|
+
motorcycle_vertical: "§ 56-3-1240(C): where a motorcycle is equipped with VERTICALLY MOUNTED brackets, the plate must be mounted vertically with its top fastened along the RIGHT vertical edge, its bottom not less than twelve inches from the ground, clearly visible per § 56-5-4530, free from foreign materials and clearly legible. A statutory rotated-plate rule — directly relevant to any ALPR or renderer that assumes horizontal text."
|
|
139
|
+
obstruction: "§ 56-3-1240(D): no other plate, lighting equipment (except as permitted by § 56-5-4530), tag, sign, monogram, tinted cover or inscription may be displayed above or upon the plate other than department-issued validation. A DECAL OR FRAME IS LAWFUL if it does not obscure any letters or numbers, and a TRAILER HITCH may obscure UP TO TWO INCHES of the plate — an explicit, quantified tolerance, which is rare."
|
|
140
|
+
local_preemption: "§ 56-3-1220: 'No county or municipality shall issue a municipal or county license plate.' South Carolina forecloses the sub-state plate entirely — a useful negative fact for a jurisdiction-completeness detector."
|
|
141
|
+
ownership: "§ 56-3-1210: 'Every license plate shall remain the property of the State but shall be displayed on the vehicle as required by this chapter.'"
|
|
142
|
+
sources:
|
|
143
|
+
- "https://www.scstatehouse.gov/code/t56c003.php # § 56-3-1210 one plate and state ownership; § 56-3-1220 the county/municipal prohibition; § 56-3-1240(A)-(D) rear default, truck-tractor front rule, the 26,000 lb either-end option, the windshield temporary, the vertical motorcycle bracket rule, and the decal/frame/trailer-hitch tolerances"
|
|
144
|
+
|
|
145
|
+
series:
|
|
146
|
+
|
|
147
|
+
# =========================================================================
|
|
148
|
+
# CURRENT STANDARD ISSUE — LEGISLATED END TO END.
|
|
149
|
+
# =========================================================================
|
|
150
|
+
- id: us-sc-standard-rev250-2026
|
|
151
|
+
class: standard
|
|
152
|
+
categories: [car, van, motorcycle]
|
|
153
|
+
period:
|
|
154
|
+
start: 2026
|
|
155
|
+
scheduled_end: 2032
|
|
156
|
+
scheduled_end_note: >-
|
|
157
|
+
§ 56-3-1230(C) legislates issuance "from January 1, 2026, until
|
|
158
|
+
December 31, 2032". `period.end` is deliberately ABSENT because the
|
|
159
|
+
series is currently issuing and because the lint's period rail rejects
|
|
160
|
+
an end beyond the current year plus one; `scheduled_end` carries the
|
|
161
|
+
statutory sunset without lying to either audience. This is a schema
|
|
162
|
+
gap, not a data problem — see the file header and the group dossier.
|
|
163
|
+
period_evidence: statutory-date
|
|
164
|
+
matching: strict
|
|
165
|
+
format:
|
|
166
|
+
pattern: "999 LLL"
|
|
167
|
+
regex: '\A\d{3} ?[A-Z]{3}\z'
|
|
168
|
+
format_evidence: secondary-locator-unverified
|
|
169
|
+
charset:
|
|
170
|
+
notes: >-
|
|
171
|
+
THE FORMAT IS THE ONE THING § 56-3-1230 DOES NOT LEGISLATE. The
|
|
172
|
+
statute requires the plate to show "in bold characters the year of
|
|
173
|
+
registration, THE SERIAL NUMBER, the full name or the abbreviation of
|
|
174
|
+
the name of the state, and other distinctive markings the department
|
|
175
|
+
may consider advisable to indicate the class of the weight of the
|
|
176
|
+
vehicle" — it mandates that there BE a serial number and says nothing
|
|
177
|
+
about its shape. The numeral-first arrangement recorded here is
|
|
178
|
+
locator-grade. Note the historical charset churn, which is real and
|
|
179
|
+
documented: on the 2008-2016 base the letter O was NOT used, and that
|
|
180
|
+
practice ran until October 2023, when O came back in with a new
|
|
181
|
+
serial font. So a South Carolina O-exclusion rule is period-bound,
|
|
182
|
+
not permanent, and no `regex_strict` is given because no single
|
|
183
|
+
exclusion holds across this series.
|
|
184
|
+
weight_class_note: >-
|
|
185
|
+
§ 56-3-1230(A) authorises "other distinctive markings the department
|
|
186
|
+
may consider advisable to indicate THE CLASS OF THE WEIGHT of the
|
|
187
|
+
vehicle" — a statutory hook for weight-class encoding on the plate.
|
|
188
|
+
South Carolina used exactly that from 1921 to at least the 1920s-30s
|
|
189
|
+
bases, where the leading letter of the serial corresponded to the
|
|
190
|
+
weight class. Whether any weight marking survives on the current base
|
|
191
|
+
was not established (recorded gap), but the LEGAL AUTHORITY for one
|
|
192
|
+
is live and cited, which is more than most states can show.
|
|
193
|
+
progression: "reported: intermittently from 101CUV to 999DDL, then exclusively from 101DDM, reaching 433DEN by 7 February 2026. LOCATOR-GRADE."
|
|
194
|
+
separator_note: "the gap between the numeral and letter groups is spelled as an optional space. The locator writes this base's format without a gap ('123ABC') and the immediately preceding one with a gap ('101 AAA'); the printed plate has a gap in both cases. `[ ]?` covers the disagreement rather than resolving it by fiat."
|
|
195
|
+
design:
|
|
196
|
+
plate: { w: 12, h: 6, unit: in, w_min_in: 12, h_min_in: 6, dimension_evidence: statutory-minimum }
|
|
197
|
+
plate_dimension_note: >-
|
|
198
|
+
§ 56-3-1230(A), verbatim: "License plates must be at least six inches
|
|
199
|
+
wide and not less than twelve inches in length". STATUTORY MINIMA, and
|
|
200
|
+
note the same axis oddity Florida's § 320.06(3)(a) has — "six inches
|
|
201
|
+
wide" and "twelve inches in length" describe the conventional 12-inch
|
|
202
|
+
-across by 6-inch-tall plate. Recorded in the conventional
|
|
203
|
+
orientation with the statutory minima preserved separately.
|
|
204
|
+
material: "§ 56-3-1230(A): 'The plate must be of a strength and quality to provide a minimum service of five years.' A statutory DURABILITY floor, distinct from the reissue interval."
|
|
205
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
206
|
+
foreground: "#000000"
|
|
207
|
+
retroreflectivity_rule: "§ 56-3-1230(B), verbatim: 'The face of the license plate must be treated completely with a retroreflective material which increases the nighttime visibility and legibility of the plate. The department shall prepare the specifications for the retroreflective material.' The requirement is statutory; the SPECIFICATION is a departmental document that was not obtained (recorded gap)."
|
|
208
|
+
colour_note: "NO COLOUR VALUE IS IN THE STATUTE — § 56-3-1230 mandates retroreflectivity and, for this series, a flag with 'the word LIBERTY in white against an INDIGO background', which is the only colour word anywhere in the South Carolina plate law and applies to the emblem, not to the plate ground. The white ground and black screened serial are `hex_basis: observed`."
|
|
209
|
+
legend_bottom: "Where the Revolutionary War Was Won"
|
|
210
|
+
legend_rule: >-
|
|
211
|
+
§ 56-3-1230(C), verbatim: the design "must be imprinted with the words
|
|
212
|
+
'Where the Revolutionary War Was Won' and shall include, at a minimum,
|
|
213
|
+
a flag featuring the word LIBERTY in white against an indigo
|
|
214
|
+
background together with a gorget in an upper corner of the flag,
|
|
215
|
+
also known as the Moultrie Flag." Note "AT A MINIMUM": the legislature
|
|
216
|
+
set a floor on the artwork and left the rest to the Commission —
|
|
217
|
+
a drafting pattern worth recognising, because it means the executed
|
|
218
|
+
design may lawfully contain more than the statute describes and a
|
|
219
|
+
renderer built only from the statute will be incomplete by design.
|
|
220
|
+
design_authority: "the South Carolina Revolutionary War Sestercentennial Commission submits the design, emblem, seal, logo or other symbol to the department for approval (§ 56-3-1230(C))"
|
|
221
|
+
emblem: { present: true, rendered: placeholder, description: "Moultrie Flag — LIBERTY in white on indigo with a gorget in an upper corner (statutory minimum)" }
|
|
222
|
+
band: { side: none }
|
|
223
|
+
rear_differs: false
|
|
224
|
+
replacement_cycle:
|
|
225
|
+
years: 10
|
|
226
|
+
statutory_text: >-
|
|
227
|
+
§ 56-3-1230(A): "A new license plate including personalized and special
|
|
228
|
+
plates, but excluding license plates provided in Sections 56-3-660 and
|
|
229
|
+
56-3-670, must be provided by the department at intervals the
|
|
230
|
+
department considers appropriate, but AT LEAST EVERY TEN YEARS."
|
|
231
|
+
funding: "§ 56-3-1230(A): since fees collected after 1 July 2002, two dollars of each biennial fee and one dollar of each annual fee go to a restricted account usable SOLELY for producing and issuing new plates; 'The department is not authorized to use this set aside money for any other purpose.' A hypothecated plate-manufacturing fund written into the plate statute — nothing comparable appears in the other four states of this group."
|
|
232
|
+
exclusions: "vehicles registered under §§ 56-3-660 and 56-3-670 (property-carrying vehicles by weight; farm trucks) are outside the ten-year rule and are reissued at intervals the department considers appropriate; plates for vehicles over 26,000 lb are issued BIENNIALLY with NO revalidation sticker (§ 56-3-1230(A))"
|
|
233
|
+
validation: "§ 56-3-1230(B): 'In those years in which a metal plate is not issued, a revalidation sticker with a distinctive serial number or other suitable means prescribed by the department must be issued and affixed in the space provided on the license plate.' The revalidation sticker CARRIES ITS OWN SERIAL — a second identifier on the plate that most datasets do not model."
|
|
234
|
+
fees: "§ 56-3-1230(D): 'Fees for regular license plates shall not exceed the regular motor vehicle license fee set forth in Article 5, Chapter 3, Title 56.' So the 250th-anniversary plate is the REGULAR plate at the REGULAR price, not a specialty plate — which is why it is modelled here as the standard series and not in the specialty index."
|
|
235
|
+
region_encoding: none
|
|
236
|
+
sources:
|
|
237
|
+
- "https://www.scstatehouse.gov/code/t56c003.php # § 56-3-1230(A): the 6x12 statutory minima, the required plate contents, the weight-class marking authority, the five-year durability floor, the ten-year reissue interval and its exclusions, the hypothecated production fund, the biennial no-sticker rule over 26,000 lb; (B): complete retroreflective treatment, departmental specification, the serialled revalidation sticker; (C): the 1 January 2026 - 31 December 2032 period, the Sestercentennial Commission's design role, 'Where the Revolutionary War Was Won', and the Moultrie Flag minimum; (D): the regular-fee cap. HISTORY line: 2025 Act No. 39 (H.3175), SECTION 1, eff May 12, 2025, which added (C) and (D)."
|
|
238
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_South_Carolina # LOCATOR ONLY (PRD-PLATES §4): the numeral-first serial arrangement and the 101CUV/101DDM/433DEN block progression. Not asserted as sourced."
|
|
239
|
+
notes: >-
|
|
240
|
+
SOUTH CAROLINA CURRENT STANDARD ISSUE — THE MODEL ENTRY FOR THE US PASS.
|
|
241
|
+
Start date, sunset date, slogan, minimum artwork, dimensions, durability,
|
|
242
|
+
retroreflectivity, reissue interval and fee cap are ALL statutory and all
|
|
243
|
+
quoted. Only the serial arrangement is locator-grade, and the file says so
|
|
244
|
+
at the point of use. Three things a verifier should carry forward. FIRST,
|
|
245
|
+
the sunset: this series is legislated to stop on 31 December 2032, which
|
|
246
|
+
means South Carolina has already scheduled its own next base change and a
|
|
247
|
+
dataset can know about it seven years early — no other state in this group
|
|
248
|
+
offers that. SECOND, "at a minimum" in § 56-3-1230(C) means the executed
|
|
249
|
+
artwork lawfully exceeds the statutory description, so a statute-only
|
|
250
|
+
render is incomplete BY DESIGN rather than by omission. THIRD, this is the
|
|
251
|
+
REGULAR plate at the REGULAR fee (subsection (D)), not a specialty plate —
|
|
252
|
+
South Carolina turned its whole standard issue into a commemorative for
|
|
253
|
+
seven years, which is a different move from Florida's optional "America
|
|
254
|
+
250" variant and from Georgia's optional America 250 election.
|
|
255
|
+
|
|
256
|
+
# =========================================================================
|
|
257
|
+
# ONE SERIES BACK.
|
|
258
|
+
# =========================================================================
|
|
259
|
+
- id: us-sc-standard-while-i-breathe-2016
|
|
260
|
+
class: standard
|
|
261
|
+
categories: [car, van, motorcycle]
|
|
262
|
+
period: { start: 2016, end: 2025 }
|
|
263
|
+
period_evidence: secondary-locator-unverified
|
|
264
|
+
matching: strict
|
|
265
|
+
format:
|
|
266
|
+
pattern: "LLL 999"
|
|
267
|
+
regex: '\A(?:[A-Z]{3} ?\d{3}|\d{3} ?[A-Z]{3})\z'
|
|
268
|
+
format_evidence: secondary-locator-unverified
|
|
269
|
+
charset:
|
|
270
|
+
notes: >-
|
|
271
|
+
TWO ARRANGEMENTS ON ONE BASE, AND A CHARSET CHANGE MID-BASE. From
|
|
272
|
+
February 2016 the serial ran letters-first (reported LZD 800 to
|
|
273
|
+
XMV 999); from October 2023, on the same design, South Carolina both
|
|
274
|
+
switched to a numerals-first arrangement AND changed the serial font
|
|
275
|
+
AND started using the letter O, which had been excluded since the
|
|
276
|
+
2008 base. The regex is the union of the two arrangements and is
|
|
277
|
+
still `strict` — the union is exactly what South Carolina issued on
|
|
278
|
+
this base, not wider (PRD-PLATES §2.7). No `regex_strict` is given
|
|
279
|
+
precisely BECAUSE the O-exclusion holds for part of the period and
|
|
280
|
+
not the rest: a strict twin would be right for 2016-2023 and wrong
|
|
281
|
+
for 2023-2025, and a twin that is wrong half the time is worse than
|
|
282
|
+
no twin.
|
|
283
|
+
progression: "reported: LZD 800 to XMV 999 (letters-first, Feb 2016 - Oct 2023); then YAA 101 to YCL 750 in the letters-first shape alongside 101 AAA to approximately 999 CUU numerals-first (Oct 2023 - Dec 2025). LOCATOR-GRADE."
|
|
284
|
+
manufacturer_mark: "locator-reported: plates of the October 2023 edition carry a very small number at the bottom centre from the manufacturer — a production mark, not part of the registration number, and exactly the kind of glyph an over-eager OCR pipeline will append to the serial"
|
|
285
|
+
design:
|
|
286
|
+
plate: { w: 12, h: 6, unit: in, w_min_in: 12, h_min_in: 6, dimension_evidence: statutory-minimum }
|
|
287
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
288
|
+
foreground: "#000000"
|
|
289
|
+
legend_bottom: "While I Breathe, I Hope."
|
|
290
|
+
legend_note: "the English of Dum spiro spero, one of South Carolina's two state mottoes. Screened black serial on a white and blue ground with a state flag motif at the centre — locator-grade description; unlike the current base, NO artwork element of this one is legislated."
|
|
291
|
+
emblem: { present: true, rendered: placeholder }
|
|
292
|
+
rear_differs: false
|
|
293
|
+
replacement_cycle:
|
|
294
|
+
years: 10
|
|
295
|
+
statutory_text: "the same § 56-3-1230(A) ten-year rule governed this base; South Carolina's plate law was unchanged across the boundary except for the addition of subsections (C) and (D) in 2025"
|
|
296
|
+
region_encoding: none
|
|
297
|
+
sources:
|
|
298
|
+
- "https://www.scstatehouse.gov/code/t56c003.php # § 56-3-1230(A)-(B): the statutory frame that governed this base unchanged — dimensions, durability, ten-year reissue, retroreflectivity, revalidation stickers"
|
|
299
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_South_Carolina # LOCATOR ONLY: February 2016 - December 2025, 'While I Breathe, I Hope.', the state flag motif, the two serial arrangements, the October 2023 font change and return of the letter O, and the manufacturer's mark"
|
|
300
|
+
notes: >-
|
|
301
|
+
THE PREVIOUS SOUTH CAROLINA STANDARD BASE, AND THE CLEANEST EXAMPLE IN
|
|
302
|
+
THIS GROUP OF WHY "ONE BASE = ONE REGEX" IS FALSE. Within a single
|
|
303
|
+
unchanged design South Carolina flipped the serial arrangement, changed
|
|
304
|
+
the font, and readmitted a letter it had excluded for fifteen years — all
|
|
305
|
+
in October 2023, none of it announced in the statute. A consumer holding
|
|
306
|
+
one regex per base rejects every South Carolina plate issued in the last
|
|
307
|
+
two years of this base. The boundary with the current series is HARD on
|
|
308
|
+
one side and soft on the other: 1 January 2026 is statutory for the
|
|
309
|
+
successor, while December 2025 for this one is inferred from that statute
|
|
310
|
+
plus a locator, so the end year is graded accordingly.
|
|
311
|
+
|
|
312
|
+
# =========================================================================
|
|
313
|
+
# CORE CLASSES — all statutory, which is the South Carolina pattern.
|
|
314
|
+
# =========================================================================
|
|
315
|
+
- id: us-sc-temporary
|
|
316
|
+
class: temporary
|
|
317
|
+
categories: [car, van, truck, bus, motorcycle, moped, trailer]
|
|
318
|
+
period: { start: 2026 }
|
|
319
|
+
period_evidence: instrument-in-force-upper-bound
|
|
320
|
+
matching: recall-only
|
|
321
|
+
format:
|
|
322
|
+
pattern: "LLLLLLL"
|
|
323
|
+
regex: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
324
|
+
charset: { notes: "recall-only. § 56-3-210(A)(2) puts the design and layout of temporary plates in the department's hands 'with input from temporary license plate distributors', and no serial grammar is stated. The plate must show the date of expiration and the name of the issuing entity along with identification information." }
|
|
325
|
+
design:
|
|
326
|
+
plate: { w: 11, h: 6, unit: in, dimension_evidence: statutory-minimum }
|
|
327
|
+
plate_dimension_rule: >-
|
|
328
|
+
§ 56-3-210(A)(3), verbatim: "Temporary license plates must be six
|
|
329
|
+
inches wide and at least eleven inches in length. Temporary
|
|
330
|
+
motorcycle and moped license plates must be four inches wide and
|
|
331
|
+
seven inches in length." SOUTH CAROLINA LEGISLATES TEMPORARY-PLATE
|
|
332
|
+
DIMENSIONS TO THE INCH, AND THEY ARE NOT THE STANDARD SIZE — eleven
|
|
333
|
+
inches long against the standard twelve. Contrast North Carolina,
|
|
334
|
+
whose § 20-79.1 specifies no dimension at all. A renderer that
|
|
335
|
+
assumes every US plate is 12 x 6 gets South Carolina temporaries
|
|
336
|
+
wrong by a full inch, and its motorcycle temporaries wrong by half.
|
|
337
|
+
motorcycle_variant: { w: 7, h: 4, unit: in }
|
|
338
|
+
material: "§ 56-3-210(A)(2): 'of a material specified by the department so as to resist deterioration or fading from exposure to the elements during the period for which display is required'"
|
|
339
|
+
content: "the date of expiration and the name of the issuing entity, with identification information (§ 56-3-210)"
|
|
340
|
+
validity: "§ 56-3-210: 'All temporary license plates must be valid for no more than FORTY-FIVE DAYS.' Compare North Carolina's 30 days (§ 20-79.1) — the two neighbours differ by half again, which is exactly the kind of per-state fact a parse or compliance API needs and no aggregate list carries."
|
|
341
|
+
scope: "the department administers and regulates temporary plates both for items required to be registered in South Carolina AND for items purchased in South Carolina that may be registered in a foreign jurisdiction (§ 56-3-210(A)(1))"
|
|
342
|
+
region_encoding: none
|
|
343
|
+
sources:
|
|
344
|
+
- "https://www.scstatehouse.gov/code/t56c003.php # § 56-3-210(A)(1) the programme and its two-way scope; (A)(2) departmental design with distributor input and the weathering-resistant material rule; (A)(3) the 6 x 11 in standard and 4 x 7 in motorcycle/moped temporary dimensions; and the forty-five-day validity cap. Also § 56-3-212, referenced by § 56-3-1240(B) for intrastate-only large commercial vehicles."
|
|
345
|
+
notes: >-
|
|
346
|
+
SOUTH CAROLINA TEMPORARY PLATES — the best-specified temporary regime in
|
|
347
|
+
group southeast-a and one of the few anywhere with statutory dimensions.
|
|
348
|
+
Three facts worth carrying: the non-standard 6 x 11 inch size, the
|
|
349
|
+
separate 4 x 7 inch motorcycle and moped size, and the forty-five-day
|
|
350
|
+
cap. A fourth is cross-referenced from the display rules: an
|
|
351
|
+
intrastate-only large commercial vehicle running on a § 56-3-212
|
|
352
|
+
temporary may display a MOTORCYCLE-SIZED temporary plate inside the front
|
|
353
|
+
passenger windshield, which is a lawful US plate that is neither metal
|
|
354
|
+
nor mounted on the bodywork.
|
|
355
|
+
|
|
356
|
+
- id: us-sc-dealer
|
|
357
|
+
class: dealer
|
|
358
|
+
categories: [car, van, truck, bus, motorcycle, trailer]
|
|
359
|
+
period: { start: 2026 }
|
|
360
|
+
period_evidence: instrument-in-force-upper-bound
|
|
361
|
+
matching: recall-only
|
|
362
|
+
format:
|
|
363
|
+
pattern: "LLLLLLL"
|
|
364
|
+
regex: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
365
|
+
charset: { notes: "recall-only; § 56-3-2320 regulates eligibility, quota, use and fee exhaustively but states no serial grammar or design" }
|
|
366
|
+
design:
|
|
367
|
+
plate: { unit: in }
|
|
368
|
+
background: { finish: retroreflective }
|
|
369
|
+
binding: business
|
|
370
|
+
eligibility_and_quota: >-
|
|
371
|
+
§ 56-3-2320: no dealer plate issues unless the dealer furnishes proof of
|
|
372
|
+
a retail business licence under Chapter 36, Title 12 AND has made AT
|
|
373
|
+
LEAST TWENTY SALES in the twelve months preceding application (waivable
|
|
374
|
+
if licensed under a year). Quota: two plates for the first fifteen
|
|
375
|
+
vehicles sold during the preceding year, plus one additional plate for
|
|
376
|
+
each fifteen sold beyond the initial twenty; a dealer in a manufacturer
|
|
377
|
+
programme gets two additional per fifteen beyond the initial twenty. The
|
|
378
|
+
department may issue extras for good cause. Anti-gaming: transferring the
|
|
379
|
+
same vehicle between the same parties more than once counts as ONE sale,
|
|
380
|
+
and multiple transfers between licensed dealers to meet eligibility are
|
|
381
|
+
prohibited.
|
|
382
|
+
permitted_use: "exclusively on vehicles owned by, assigned to, or loaned for TEST DRIVING to the dealer, when operated by the dealer, its corporate officers, its employees, a prospective purchaser, or a person whose vehicle is being serviced or repaired by the dealer. A prospective purchaser is limited to SEVEN DAYS with a dated demonstration certificate approved by the department; a service-loaner user to THIRTY DAYS, and only where the loaner is part of a manufacturer programme provided at no charge. Dealer plates must NOT be used on wreckers or service vehicles, nor on dealer-owned vehicles leased or rented to the public. (§ 56-3-2320)"
|
|
383
|
+
fee: "$20 per dealer plate (§ 56-3-2320(A)(3))"
|
|
384
|
+
region_encoding: none
|
|
385
|
+
sources:
|
|
386
|
+
- "https://www.scstatehouse.gov/code/t56c003.php # § 56-3-2320: dealer plate issuance, the twenty-sale eligibility floor and retail-licence proof, the sales-volume quota and manufacturer-programme uplift, the seven-day demonstration and thirty-day service-loaner limits, the wrecker/service/rental prohibitions, the anti-gaming rules, and the $20 fee"
|
|
387
|
+
notes: >-
|
|
388
|
+
SOUTH CAROLINA DEALER PLATES. `binding: business` — the plate follows the
|
|
389
|
+
dealership, not a vehicle. South Carolina is the most tightly drafted
|
|
390
|
+
dealer-plate regime in this group: it gates issuance on a sales floor,
|
|
391
|
+
rations plate counts by volume, times the two permitted third-party uses
|
|
392
|
+
to the day, and closes two specific gaming routes by name. All of that is
|
|
393
|
+
edict and quotable; none of it is a serial fact, which is the recorded
|
|
394
|
+
gap.
|
|
395
|
+
|
|
396
|
+
- id: us-sc-manufacturer
|
|
397
|
+
class: dealer
|
|
398
|
+
categories: [car, van, truck, bus, motorcycle]
|
|
399
|
+
period: { start: 2026 }
|
|
400
|
+
period_evidence: instrument-in-force-upper-bound
|
|
401
|
+
matching: recall-only
|
|
402
|
+
format:
|
|
403
|
+
pattern: "LLLLLLL"
|
|
404
|
+
regex: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
405
|
+
charset: { notes: "recall-only; § 56-3-2330 states no serial grammar" }
|
|
406
|
+
design:
|
|
407
|
+
plate: { unit: in }
|
|
408
|
+
background: { finish: retroreflective }
|
|
409
|
+
binding: business
|
|
410
|
+
quota_and_fee: "NOT MORE THAN FIVE HUNDRED manufacturer plates per manufacturer; $200 each, of which $160 is remitted to the county containing the manufacturer's principal facility and $40 goes to the State Highway Fund; each plate is valid for TWO YEARS (§ 56-3-2330(A)-(B))"
|
|
411
|
+
permitted_use: "exclusively on vehicles, including motorcycles, owned by or in the possession of the manufacturer; not on wreckers, not on vehicles leased or rented to the public. Vehicles so plated — not more than one licensed vehicle per household — may be operated by persons authorised by the manufacturer, on that manufacturer's brand, for TESTING, DISTRIBUTION, EVALUATION AND PROMOTION, and for no more than TWENTY CONSECUTIVE DAYS in connection with civic and sporting events (§ 56-3-2330(A), (C))"
|
|
412
|
+
region_encoding: none
|
|
413
|
+
sources:
|
|
414
|
+
- "https://www.scstatehouse.gov/code/t56c003.php # § 56-3-2330: the 500-plate cap, the $200 fee and its $160/$40 county/state split, the two-year validity, the permitted uses (testing, distribution, evaluation, promotion), the one-vehicle-per-household limit and the twenty-consecutive-day event rule"
|
|
415
|
+
notes: >-
|
|
416
|
+
SOUTH CAROLINA MANUFACTURER PLATES. Given `class: dealer` for the same
|
|
417
|
+
reason us-fl-manufacturer is — _meta/classes.yml has no `manufacturer`
|
|
418
|
+
value and the PRD's definition of dealer ("trade/garage plates bound to a
|
|
419
|
+
business, not a vehicle") fits the binding if not the trade. CLASS
|
|
420
|
+
VOCABULARY CANDIDATE, recorded a second time in the dataset now: two
|
|
421
|
+
states have legislated a manufacturer plate distinctly from a dealer
|
|
422
|
+
plate, with different caps, fees, validity and permitted uses. The
|
|
423
|
+
one-licensed-vehicle-per-household rule is a genuine oddity — South
|
|
424
|
+
Carolina limits how many manufacturer-plated cars can live at one address.
|
|
425
|
+
|
|
426
|
+
- id: us-sc-government
|
|
427
|
+
class: government
|
|
428
|
+
categories: [car, van, truck, bus]
|
|
429
|
+
period: { start: 2026 }
|
|
430
|
+
period_evidence: instrument-in-force-upper-bound
|
|
431
|
+
matching: recall-only
|
|
432
|
+
format:
|
|
433
|
+
pattern: "LLLLLLL"
|
|
434
|
+
regex: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
435
|
+
charset: { notes: "recall-only. What is sourced is that South Carolina registers state and political-subdivision vehicles as a DISTINCT REGISTRATION CLASS at a reduced fee; whether that class carries a distinct plate SERIES or merely a distinct fee is not established (recorded gap), and the regex claims nothing about it." }
|
|
436
|
+
design:
|
|
437
|
+
plate: { unit: in }
|
|
438
|
+
background: { finish: retroreflective }
|
|
439
|
+
emblem: { present: true, rendered: placeholder }
|
|
440
|
+
eligibility_and_transfer_rule: >-
|
|
441
|
+
§ 56-3-1260: where a vehicle "is registered and licensed in the name of
|
|
442
|
+
the State, any department, agency, or political subdivision of the State,
|
|
443
|
+
or any department or agency of such a subdivision AND A REDUCED
|
|
444
|
+
REGISTRATION AND LICENSE FEE HAS BEEN PAID, the owner shall return the
|
|
445
|
+
registration card and the plate issued for the vehicle to the Department
|
|
446
|
+
for cancellation, unless the transfer is made to another like agency
|
|
447
|
+
qualified to obtain a registration and license of the vehicle at the
|
|
448
|
+
reduced rate." So a South Carolina government plate CANNOT follow a
|
|
449
|
+
vehicle out of government ownership — it must be cancelled — which is a
|
|
450
|
+
lifecycle constraint most plate datasets have no field for and which
|
|
451
|
+
matters to anyone reasoning about plate reuse.
|
|
452
|
+
region_encoding: none
|
|
453
|
+
sources:
|
|
454
|
+
- "https://www.scstatehouse.gov/code/t56c003.php # § 56-3-1260: the reduced-fee state/agency/political-subdivision registration class and the mandatory cancellation-on-transfer rule with its like-agency exception"
|
|
455
|
+
notes: >-
|
|
456
|
+
SOUTH CAROLINA GOVERNMENT REGISTRATION. Deliberately modest: the sourced
|
|
457
|
+
fact is a distinct reduced-fee registration class with a distinct
|
|
458
|
+
end-of-life rule, not a distinct plate design or serial series. Recording
|
|
459
|
+
it this way keeps the useful part — the cancellation-on-transfer
|
|
460
|
+
constraint, which is a genuine fact about the plate's lifecycle — without
|
|
461
|
+
inventing a series that may not exist as a separate design.
|
|
462
|
+
|
|
463
|
+
# =========================================================================
|
|
464
|
+
# PERSONALIZED + SPECIALTY INDEX.
|
|
465
|
+
# =========================================================================
|
|
466
|
+
- id: us-sc-personalized
|
|
467
|
+
class: personalized
|
|
468
|
+
categories: [car, van, motorcycle]
|
|
469
|
+
period: { start: 2026 }
|
|
470
|
+
period_evidence: instrument-in-force-upper-bound
|
|
471
|
+
matching: recall-only
|
|
472
|
+
format:
|
|
473
|
+
pattern: "LLLLLLL"
|
|
474
|
+
regex: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
475
|
+
charset:
|
|
476
|
+
notes: >-
|
|
477
|
+
recall-only. § 56-3-2010(A) says the personalized plates "must be of
|
|
478
|
+
the design and bear the letters and numerals THE DEPARTMENT
|
|
479
|
+
PRESCRIBES" — a full delegation, with no length and no alphabet in
|
|
480
|
+
the statute. The department's prescription was not obtained because
|
|
481
|
+
scdmvonline.com was unreachable (see the file header). Given that
|
|
482
|
+
Virginia and North Carolina both officially permit non-alphanumeric
|
|
483
|
+
glyphs in a personalized serial, South Carolina's permitted set must
|
|
484
|
+
be checked before any strict regex is written here.
|
|
485
|
+
design:
|
|
486
|
+
plate: { unit: in }
|
|
487
|
+
background: { finish: retroreflective }
|
|
488
|
+
eligibility_and_limits: >-
|
|
489
|
+
§ 56-3-2010(A): personalized plates issue to owners of PRIVATE PASSENGER
|
|
490
|
+
MOTOR VEHICLES AND MOTORCYCLES on proper application. "However, there may
|
|
491
|
+
be NO DUPLICATION of registration plates, except South Carolina members
|
|
492
|
+
of the United States Congress or members of the South Carolina General
|
|
493
|
+
Assembly may purchase a maximum of the original and TWO DUPLICATE
|
|
494
|
+
registration plates." A statutory exception to plate uniqueness itself,
|
|
495
|
+
granted to legislators — which breaks the assumption, near-universal in
|
|
496
|
+
plate software, that a plate string identifies at most one registration.
|
|
497
|
+
refusal_policy: "§ 56-3-2010(A): the department 'in its discretion, may refuse the issue of letter combinations which may carry connotations offensive to good taste and decency and MAY NOT ASSIGN to a person not holding the relevant office letters or numerals denoting the holder to have a public office' — the second limb is mandatory, not discretionary"
|
|
498
|
+
registration_period: "biennial, expiring on a staggered monthly basis; application may be made two months in advance of expiry; plates issued to members of the General Assembly and to members of licensed state or federal commissions and boards expire on 31 January each year (§ 56-3-2010(B))"
|
|
499
|
+
accessibility: "§ 56-3-2010(C): where the holder also qualifies for a handicapped plate under § 56-3-1910, the personalized plate shall include an International Symbol of Access decal, but only if it can be placed without covering any identifying numbers or letters"
|
|
500
|
+
region_encoding: none
|
|
501
|
+
sources:
|
|
502
|
+
- "https://www.scstatehouse.gov/code/t56c003.php # § 56-3-2010(A) eligibility, the full delegation of design and characters to the department, the no-duplication rule and its legislator exception, and the two refusal limbs; (B) biennial staggered registration and the 31 January legislative/commission expiry; (C) the International Symbol of Access decal condition"
|
|
503
|
+
notes: >-
|
|
504
|
+
SOUTH CAROLINA PERSONALIZED. The entry earns its place for one sentence
|
|
505
|
+
of statute: § 56-3-2010(A) lets South Carolina members of Congress and of
|
|
506
|
+
the General Assembly hold the SAME registration plate up to three times
|
|
507
|
+
(an original and two duplicates). Plate uniqueness is treated as an
|
|
508
|
+
axiom by essentially every validator, parse API and ALPR pipeline in
|
|
509
|
+
existence; South Carolina legislates an exception to it. Recorded here
|
|
510
|
+
because it is the kind of fact that only ever surfaces from the statute,
|
|
511
|
+
which is precisely the argument PRD-PLATES §4 makes for preferring
|
|
512
|
+
statutes over brochures.
|
|
513
|
+
|
|
514
|
+
- id: us-sc-specialty-index
|
|
515
|
+
class: specialty
|
|
516
|
+
categories: [car, van, truck, motorcycle, trailer]
|
|
517
|
+
period: { start: 2026 }
|
|
518
|
+
period_evidence: instrument-in-force-upper-bound
|
|
519
|
+
matching: recall-only
|
|
520
|
+
format:
|
|
521
|
+
pattern: "LLLLLLL"
|
|
522
|
+
regex: '\A[A-Z0-9](?: ?[A-Z0-9]){0,6}\z'
|
|
523
|
+
charset: { notes: "specialty serials sit on a department-designed basic plate; no arrangement is stated in statute and the index makes no claim" }
|
|
524
|
+
design:
|
|
525
|
+
plate: { unit: in }
|
|
526
|
+
background: { finish: retroreflective }
|
|
527
|
+
unified_design_rule: >-
|
|
528
|
+
THE MOST IMPORTANT SPECIALTY FACT IN THIS FILE. § 56-3-8100(C),
|
|
529
|
+
verbatim: "The department must develop a BASIC PLATE DESIGN that will
|
|
530
|
+
be used for ALL special license plates authorized by the General
|
|
531
|
+
Assembly. The license plate must be the same size and general design
|
|
532
|
+
of regular motor vehicle license plates but may be imprinted on the
|
|
533
|
+
license plate in an area specified by the department with an emblem,
|
|
534
|
+
seal, insignia, or other identifying symbol of the sponsoring
|
|
535
|
+
organization that the department considers appropriate. NO TEXT OR
|
|
536
|
+
SLOGANS MAY BE ADDED to the license plate design unless they are part
|
|
537
|
+
of the approved emblem, seal, insignia, or other identifying symbol.
|
|
538
|
+
The name of the organization may be imprinted across the top of the
|
|
539
|
+
license plate. The standard license plate design must be issued for
|
|
540
|
+
all organizational license plates newly requested after JULY 1, 2013.
|
|
541
|
+
License plate designs in production as of that date must be changed
|
|
542
|
+
when the license plate, or license plate class, is replaced."
|
|
543
|
+
South Carolina has legislated its specialty programme into ONE
|
|
544
|
+
TEMPLATE with a swappable emblem slot — which means a renderer can
|
|
545
|
+
produce every post-2013 South Carolina specialty plate from one
|
|
546
|
+
parametric template plus an emblem, and that the L4 "specialty design
|
|
547
|
+
depth" problem is, for this state, mostly solved by statute.
|
|
548
|
+
emblem: { present: true, rendered: placeholder }
|
|
549
|
+
program_index:
|
|
550
|
+
count_official: null
|
|
551
|
+
count_derived: 153
|
|
552
|
+
count_method: >-
|
|
553
|
+
DERIVED, NOT OFFICIAL, AND THE METHOD IS STATED SO IT CAN BE CHECKED.
|
|
554
|
+
SCDMV was unreachable, so no agency figure exists in this pass. Instead:
|
|
555
|
+
South Carolina creates each special-plate programme as its own ARTICLE
|
|
556
|
+
of Title 56 Chapter 3, and the chapter text contains 153 ARTICLE
|
|
557
|
+
headings, with article NUMBERS running to 155 (the numbering is not
|
|
558
|
+
dense). Not every article is a plate programme — the early articles
|
|
559
|
+
cover registration, fees, dealer plates and so on — so 153 is an UPPER
|
|
560
|
+
BOUND on the number of statutory special-plate programmes, not a count
|
|
561
|
+
of them. Examples of the pattern at the top of the range: Article 153,
|
|
562
|
+
Article 154 (South Carolina Association for Pupil Transportation
|
|
563
|
+
special license plates, 2024 Act No. 178 §10), Article 155 (Hearing
|
|
564
|
+
Impaired special license plates, recodified from § 56-3-15020 to
|
|
565
|
+
§ 56-3-16410 at the Code Commissioner's direction). RECORDED AS A
|
|
566
|
+
DERIVED UPPER BOUND. Do not publish it as "South Carolina has 153
|
|
567
|
+
specialty plates".
|
|
568
|
+
official_list_url: "https://www.scstatehouse.gov/code/t56c003.php"
|
|
569
|
+
application_fee: "§ 56-3-8100(A): before producing a special plate created by the General Assembly after 1 January 2006, the department must receive SIX THOUSAND EIGHT HUNDRED DOLLARS from the individual or organisation seeking it AND a marketing plan approved by the department"
|
|
570
|
+
discontinuation_threshold: >-
|
|
571
|
+
§ 56-3-8100(H), verbatim: "If the department receives LESS THAN THREE
|
|
572
|
+
HUNDRED biennial applications and renewals for a particular special
|
|
573
|
+
license plate, it shall not produce additional special license plates
|
|
574
|
+
in that series. The department shall continue to issue special license
|
|
575
|
+
plates of that series until the existing inventory is exhausted."
|
|
576
|
+
THIS IS THE NUMBER THE FLORIDA FILE RECORDED AS A GAP. us-fl's
|
|
577
|
+
specialty index notes that § 320.08056(8)(a) obliges Florida to
|
|
578
|
+
discontinue an approved specialty plate in stated circumstances and
|
|
579
|
+
that "the numeric threshold triggering discontinuation was not
|
|
580
|
+
extracted in this pass (recorded gap)". South Carolina's equivalent
|
|
581
|
+
threshold is 300 biennial applications and renewals, and subsection (I)
|
|
582
|
+
applies the same test by name to thirteen specific articles. The
|
|
583
|
+
Florida gap is not filled by this — different state, different statute
|
|
584
|
+
— but the SHAPE is now confirmed twice: US specialty programmes die by
|
|
585
|
+
numeric threshold, and the plates stay lawfully on the road until
|
|
586
|
+
inventory runs out.
|
|
587
|
+
fee_structure: "§ 56-3-8100(D)-(G): the regular biennial registration fee plus an organisation-requested additional fee, changeable only every five years from the first year of issue; if none is requested and none is prescribed by law the department may collect ten dollars; the department's production and administration costs come off the top and the remainder goes to the organisation or, absent a request, to the general fund"
|
|
588
|
+
biennial_period: "each special plate is issued or revalidated for a biennial period expiring twenty-four months from the month of issue (§§ 56-3-8100(D), 56-3-1230)"
|
|
589
|
+
motorcycle_rule: "§ 56-3-8100(K): each new classification of special vehicle plate, 'including, but not limited to, MOTORCYCLE license plates', must meet the requirements of Articles 81 and 82 of Chapter 3, Title 56"
|
|
590
|
+
region_encoding: none
|
|
591
|
+
sources:
|
|
592
|
+
- "https://www.scstatehouse.gov/code/t56c003.php # § 56-3-8100(A) the $6,800 fee and marketing plan; (C) the unified basic design, the emblem slot, the no-added-text rule, the organisation name across the top, and the 1 July 2013 mandatory-adoption date; (D)-(G) the fee structure and distribution; (H) the 300-application discontinuation threshold and issue-until-exhausted rule; (I) the thirteen articles it is applied to by name; (K) the motorcycle classification rule. Also the chapter's 153 ARTICLE headings, from which the derived upper bound is taken."
|
|
593
|
+
notes: >-
|
|
594
|
+
THE SOUTH CAROLINA SPECIALTY PROGRAM INDEX — and the one place in group
|
|
595
|
+
southeast-a where the specialty programme is BETTER sourced than the
|
|
596
|
+
standard plate, because South Carolina legislates the programme rather
|
|
597
|
+
than administering it. Three findings. FIRST, the unified basic design
|
|
598
|
+
(§ 56-3-8100(C)) makes South Carolina's specialty catalogue mechanically
|
|
599
|
+
renderable from one template plus an emblem — an L4 shortcut no other
|
|
600
|
+
state in this group offers. SECOND, the 300-application discontinuation
|
|
601
|
+
threshold answers, for South Carolina, the question us-fl recorded as an
|
|
602
|
+
open gap for Florida. THIRD, the count is DERIVED and labelled as an
|
|
603
|
+
upper bound rather than borrowed from an enthusiast site, because the
|
|
604
|
+
agency was unreachable; a verifier with SCDMV access should replace it
|
|
605
|
+
with the agency's own figure and keep the statutory structure either way.
|