vehicles 0.4.1 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop_todo.yml +164 -0
  3. data/CHANGELOG.md +321 -0
  4. data/README.md +88 -15
  5. data/data/PROVENANCE-vehicles.md +12 -0
  6. data/data/plates/PROVENANCE.md +10 -0
  7. data/data/plates/_decode/at-districts.yml +287 -0
  8. data/data/plates/_decode/ch-cantons.yml +110 -0
  9. data/data/plates/_decode/cn-issuing-offices.yml +463 -0
  10. data/data/plates/_decode/cn-provinces.yml +614 -0
  11. data/data/plates/_decode/cz-kraj.yml +159 -0
  12. data/data/plates/_decode/dk-serial-blocks.yml +327 -0
  13. data/data/plates/_decode/es-provinces.yml +116 -0
  14. data/data/plates/_decode/fr-departements.yml +191 -0
  15. data/data/plates/_decode/gb-age-identifiers.yml +170 -0
  16. data/data/plates/_decode/gb-memory-tags.yml +202 -0
  17. data/data/plates/_decode/gr-prefectures.yml +1408 -0
  18. data/data/plates/_decode/hr-cities.yml +315 -0
  19. data/data/plates/_decode/ie-counties.yml +227 -0
  20. data/data/plates/_decode/in-state-codes.yml +169 -0
  21. data/data/plates/_decode/is-districts-1938.yml +116 -0
  22. data/data/plates/_decode/it-provinces.yml +348 -0
  23. data/data/plates/_decode/jp-office-marks.yml +960 -0
  24. data/data/plates/_decode/jp-use-marks.yml +205 -0
  25. data/data/plates/_decode/kr-authority-marks.yml +146 -0
  26. data/data/plates/_decode/kr-use-syllables.yml +194 -0
  27. data/data/plates/_decode/lu-series-order.yml +638 -0
  28. data/data/plates/_decode/mx-entity-series.yml +380 -0
  29. data/data/plates/_decode/my-index-marks.yml +271 -0
  30. data/data/plates/_decode/no-counties-1913.yml +148 -0
  31. data/data/plates/_decode/no-districts.yml +901 -0
  32. data/data/plates/_decode/pl-powiats.yml +567 -0
  33. data/data/plates/_decode/pt-trailer-services.yml +96 -0
  34. data/data/plates/_decode/ro-counties.yml +213 -0
  35. data/data/plates/_decode/se-diplomatic.yml +220 -0
  36. data/data/plates/_decode/si-regions.yml +123 -0
  37. data/data/plates/_decode/sk-districts.yml +314 -0
  38. data/data/plates/_decode/th-registration-elements.yml +208 -0
  39. data/data/plates/_decode/ua-regions.yml +393 -0
  40. data/data/plates/_decode/za-licence-marks.yml +215 -0
  41. data/data/plates/_meta/classes.yml +26 -0
  42. data/data/plates/_meta/separators.yml +102 -0
  43. data/data/plates/ad.yml +961 -0
  44. data/data/plates/ar.yml +762 -0
  45. data/data/plates/at.yml +1424 -0
  46. data/data/plates/au-act.yml +472 -0
  47. data/data/plates/au-nsw.yml +282 -0
  48. data/data/plates/au-nt.yml +431 -0
  49. data/data/plates/au-qld.yml +272 -0
  50. data/data/plates/au-sa.yml +248 -0
  51. data/data/plates/au-tas.yml +302 -0
  52. data/data/plates/au-vic.yml +215 -0
  53. data/data/plates/au-wa.yml +309 -0
  54. data/data/plates/be.yml +1840 -0
  55. data/data/plates/br.yml +1152 -0
  56. data/data/plates/ca-ab.yml +430 -0
  57. data/data/plates/ca-bc.yml +697 -0
  58. data/data/plates/ca-mb.yml +499 -0
  59. data/data/plates/ca-nb.yml +537 -0
  60. data/data/plates/ca-nl.yml +743 -0
  61. data/data/plates/ca-ns.yml +808 -0
  62. data/data/plates/ca-nt.yml +610 -0
  63. data/data/plates/ca-nu.yml +280 -0
  64. data/data/plates/ca-on.yml +881 -0
  65. data/data/plates/ca-pe.yml +592 -0
  66. data/data/plates/ca-qc.yml +1036 -0
  67. data/data/plates/ca-sk.yml +256 -0
  68. data/data/plates/ca-yt.yml +656 -0
  69. data/data/plates/ch.yml +1273 -0
  70. data/data/plates/cn.yml +1431 -0
  71. data/data/plates/cy.yml +688 -0
  72. data/data/plates/cz.yml +1179 -0
  73. data/data/plates/de.yml +1107 -0
  74. data/data/plates/dk.yml +1647 -0
  75. data/data/plates/ee.yml +1275 -0
  76. data/data/plates/es.yml +888 -0
  77. data/data/plates/fi.yml +1271 -0
  78. data/data/plates/fr.yml +1265 -0
  79. data/data/plates/gb.yml +1188 -0
  80. data/data/plates/gr.yml +721 -0
  81. data/data/plates/hr.yml +860 -0
  82. data/data/plates/hu.yml +959 -0
  83. data/data/plates/ie.yml +775 -0
  84. data/data/plates/in.yml +1172 -0
  85. data/data/plates/is.yml +667 -0
  86. data/data/plates/it.yml +1317 -0
  87. data/data/plates/jp.yml +3650 -0
  88. data/data/plates/kr.yml +1375 -0
  89. data/data/plates/li.yml +1010 -0
  90. data/data/plates/lt.yml +879 -0
  91. data/data/plates/lu.yml +842 -0
  92. data/data/plates/lv.yml +924 -0
  93. data/data/plates/mc.yml +1024 -0
  94. data/data/plates/mt.yml +854 -0
  95. data/data/plates/mx.yml +1372 -0
  96. data/data/plates/my.yml +685 -0
  97. data/data/plates/nl.yml +1016 -0
  98. data/data/plates/no.yml +1018 -0
  99. data/data/plates/nz.yml +1699 -0
  100. data/data/plates/pl.yml +1296 -0
  101. data/data/plates/pt.yml +847 -0
  102. data/data/plates/ro.yml +785 -0
  103. data/data/plates/se.yml +1091 -0
  104. data/data/plates/si.yml +1105 -0
  105. data/data/plates/sk.yml +1439 -0
  106. data/data/plates/sm.yml +1119 -0
  107. data/data/plates/th.yml +1150 -0
  108. data/data/plates/ua.yml +1672 -0
  109. data/data/plates/us-ak.yml +763 -0
  110. data/data/plates/us-al.yml +457 -0
  111. data/data/plates/us-ar.yml +427 -0
  112. data/data/plates/us-as.yml +454 -0
  113. data/data/plates/us-az.yml +430 -0
  114. data/data/plates/us-ca.yml +892 -0
  115. data/data/plates/us-co.yml +452 -0
  116. data/data/plates/us-ct.yml +427 -0
  117. data/data/plates/us-dc.yml +614 -0
  118. data/data/plates/us-de.yml +551 -0
  119. data/data/plates/us-fl.yml +741 -0
  120. data/data/plates/us-ga.yml +644 -0
  121. data/data/plates/us-gu.yml +658 -0
  122. data/data/plates/us-hi.yml +585 -0
  123. data/data/plates/us-ia.yml +438 -0
  124. data/data/plates/us-id.yml +531 -0
  125. data/data/plates/us-il.yml +516 -0
  126. data/data/plates/us-in.yml +324 -0
  127. data/data/plates/us-ks.yml +351 -0
  128. data/data/plates/us-ky.yml +770 -0
  129. data/data/plates/us-la.yml +568 -0
  130. data/data/plates/us-ma.yml +379 -0
  131. data/data/plates/us-md.yml +536 -0
  132. data/data/plates/us-me.yml +445 -0
  133. data/data/plates/us-mi.yml +408 -0
  134. data/data/plates/us-mn.yml +411 -0
  135. data/data/plates/us-mo.yml +356 -0
  136. data/data/plates/us-mp.yml +402 -0
  137. data/data/plates/us-ms.yml +432 -0
  138. data/data/plates/us-mt.yml +619 -0
  139. data/data/plates/us-nc.yml +602 -0
  140. data/data/plates/us-nd.yml +419 -0
  141. data/data/plates/us-ne.yml +483 -0
  142. data/data/plates/us-nh.yml +394 -0
  143. data/data/plates/us-nj.yml +547 -0
  144. data/data/plates/us-nm.yml +574 -0
  145. data/data/plates/us-nv.yml +655 -0
  146. data/data/plates/us-ny.yml +592 -0
  147. data/data/plates/us-oh.yml +404 -0
  148. data/data/plates/us-ok.yml +513 -0
  149. data/data/plates/us-or.yml +392 -0
  150. data/data/plates/us-pa.yml +506 -0
  151. data/data/plates/us-pr.yml +507 -0
  152. data/data/plates/us-ri.yml +445 -0
  153. data/data/plates/us-sc.yml +605 -0
  154. data/data/plates/us-sd.yml +428 -0
  155. data/data/plates/us-tn.yml +471 -0
  156. data/data/plates/us-tx.yml +535 -0
  157. data/data/plates/us-ut.yml +384 -0
  158. data/data/plates/us-va.yml +567 -0
  159. data/data/plates/us-vi.yml +489 -0
  160. data/data/plates/us-vt.yml +458 -0
  161. data/data/plates/us-wa.yml +484 -0
  162. data/data/plates/us-wi.yml +509 -0
  163. data/data/plates/us-wv.yml +446 -0
  164. data/data/plates/us-wy.yml +523 -0
  165. data/data/plates/va.yml +604 -0
  166. data/data/plates/za.yml +1141 -0
  167. data/data/vehicles.json +160653 -105090
  168. data/lib/vehicles/configuration.rb +18 -2
  169. data/lib/vehicles/dataset.rb +73 -18
  170. data/lib/vehicles/fuzzy.rb +115 -0
  171. data/lib/vehicles/http.rb +48 -0
  172. data/lib/vehicles/make.rb +36 -6
  173. data/lib/vehicles/mcp_server.rb +5 -5
  174. data/lib/vehicles/model.rb +42 -6
  175. data/lib/vehicles/plates/jurisdiction.rb +32 -0
  176. data/lib/vehicles/plates/series.rb +291 -0
  177. data/lib/vehicles/plates/template_fill.rb +188 -0
  178. data/lib/vehicles/plates/templates.rb +162 -0
  179. data/lib/vehicles/plates.rb +122 -0
  180. data/lib/vehicles/providers/hosted_provider.rb +49 -58
  181. data/lib/vehicles/providers/local_provider.rb +4 -3
  182. data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
  183. data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
  184. data/lib/vehicles/version.rb +1 -1
  185. data/lib/vehicles.rb +53 -16
  186. data/rakelib/data_refresh.rake +109 -0
  187. data/rakelib/plates_refresh.rake +29 -0
  188. data/sig/vehicles.rbs +18 -0
  189. metadata +174 -2
@@ -0,0 +1,892 @@
1
+ # plates/us-ca.yml — California (PRD-PLATES gate L2, group: pacific).
2
+ #
3
+ # WHY CALIFORNIA IS THE DEEPEST US FILE IN THIS WAVE, and what makes it
4
+ # different from the Florida pilot: Florida's plate FACTS live in the STATUTE
5
+ # (§ 320.06 fixes the seven-character cap, the legends and the 6x12 minimum).
6
+ # California's do NOT. Vehicle Code § 4851 is the whole statutory design spec
7
+ # and it is one sentence long — registration number + "California" or "Cal." +
8
+ # the year or a validation device. There is no statutory character cap, no
9
+ # statutory colour, no statutory legend beyond the state name.
10
+ #
11
+ # So the primary source for California FORMAT facts is not the code, it is the
12
+ # DMV's own VEHICLE INDUSTRY REGISTRATION PROCEDURES MANUAL (VIRPM) — an agency
13
+ # handbook published in full on dmv.ca.gov, which turns out to carry exactly
14
+ # the material this dataset needs and which no competing dataset appears to
15
+ # have found:
16
+ # * VIRPM Appendix 1E is a YEAR-BY-YEAR TABLE of California plate colours,
17
+ # character colours, sticker colours and SERIAL SERIES from 1914 to 1980,
18
+ # published by the issuing agency. It is the primary that dates the 1980
19
+ # seven-character cutover: "In 1980, seven characters were introduced in
20
+ # regular series license plates."
21
+ # * VIRPM 21.180 publishes the 144 three-letter strings "deleted from the
22
+ # regular series license plate configuration" — an agency-sourced
23
+ # charset exclusion list for the STANDARD series, not merely a vanity
24
+ # refusal list.
25
+ # * VIRPM 21.025 / 21.100 give the character counts for Legacy and
26
+ # Environmental (personalized) plates.
27
+ # Where the VIRPM speaks, this file cites the VIRPM. Where only the Vehicle
28
+ # Code speaks, it cites the Code. Wikipedia is cited as a LOCATOR only, and
29
+ # every claim resting on it says so in terms.
30
+ #
31
+ # THE BIG PERIOD FACT IN THIS FILE: California exhausted the 1ABC123 format at
32
+ # 9ZZZ999 and flipped to a MIRRORED 123ABC1 in March 2026. This file is written
33
+ # in August 2026, i.e. inside the first year of the new series. The flip is
34
+ # reported by news media and by Wikipedia; NO DMV instrument stating it was
35
+ # obtained (recorded gap). The 1980 START of the format it replaced IS
36
+ # agency-primary (Appendix 1E).
37
+ #
38
+ # REGEX FORM (PRD-PLATES §2.6): printed form throughout. California prints its
39
+ # passenger serial with no separator at all, so no separator appears in any
40
+ # regex here except in the personalized/temporary entries where the DMV's own
41
+ # examples show none either.
42
+ jurisdiction: us-ca
43
+ authority:
44
+ name: California Department of Motor Vehicles (DMV)
45
+ url: "https://www.dmv.ca.gov/portal/vehicle-registration/license-plates-decals-and-placards/"
46
+ binding: vehicle
47
+ statute_edition: >-
48
+ California Vehicle Code and Government Code as served by
49
+ leginfo.legislature.ca.gov, read 2026-08; California DMV Vehicle Industry
50
+ Registration Procedures Manual (VIRPM), the edition live on dmv.ca.gov in
51
+ 2026-08 (the manual carries no edition number; its pages footer
52
+ "Copyright (c) 2026 State of California").
53
+
54
+ # ---------------------------------------------------------------------------
55
+ # artwork_risk — required per jurisdiction by PRD-PLATES §4/§7.1.
56
+ # ---------------------------------------------------------------------------
57
+ artwork_risk:
58
+ posture: public-domain-favourable-narrower-than-florida
59
+ basis: >-
60
+ California is favourable but on a NARROWER ground than Florida. A
61
+ California agency may claim copyright only where the Legislature has
62
+ affirmatively authorised it; the Public Records Act does not supply that
63
+ authorisation. Wikimedia Commons maintains {{PD-CAGov}} and its own text
64
+ rests the tag on the California Public Records Act (Gov. Code § 7920 et
65
+ seq.) and on County of Santa Clara v. California First Amendment Coalition
66
+ (2009). Contrast Arizona, which expressly asserts copyright, and NY/PA/WA,
67
+ which are adverse.
68
+ counter_evidence: >-
69
+ RECORDED HONESTLY, BECAUSE IT CUTS THE OTHER WAY: every page of the DMV
70
+ website — including the Vehicle Industry Registration Procedures Manual
71
+ pages this file cites as its primary source — carries the footer
72
+ "Copyright (c) 2026 State of California". A blanket footer is not a
73
+ legislative authorisation and does not by itself defeat the PD-CAGov
74
+ analysis, but it IS an assertion by the issuing agency and a verifier
75
+ should see it rather than discover it. The tension is not resolved here.
76
+ emblem_rule: >-
77
+ PRD-PLATES §3's placeholder default applies to (a) the red "California"
78
+ SCRIPT WORDMARK, which is the plate's whole graphic identity and is a
79
+ specific lettering artwork rather than a fact, and (b) the Great Seal of
80
+ California where it appears on exempt/legislative plates. US doctrine that
81
+ TYPEFACE DESIGNS are uncopyrightable (font SOFTWARE is a different thing)
82
+ would tend to clear a re-drawn script, but that doctrine was not
83
+ independently sourced in this pass and is recorded as a gap, so the
84
+ placeholder stands. Render `emblem: {present: true, rendered: placeholder}`.
85
+ seal_regime: >-
86
+ SEPARATE FROM COPYRIGHT AND PARTIALLY UNRESEARCHED. Government Code § 405
87
+ was fetched and prescribes the COLOURS of the Great Seal when it is
88
+ reproduced in colour (down to Textile Color Card Association cable
89
+ numbers) — evidence that the Seal is regulated in its own right. The
90
+ MISUSE/penalty provision was NOT located in this pass and is a recorded
91
+ gap. Do not render the Seal.
92
+ photograph_caution: >-
93
+ Commons photographs of California plates are mixed, not uniformly
94
+ share-alike: the US/world dossier measured File:10851 CA.jpg as CC0 via
95
+ the extmetadata API. Either way the tag is the PHOTOGRAPHER's licence on
96
+ the PHOTOGRAPH; the uploader had no standing over the design. Our renders
97
+ are generated from the DMV's own published specifications and never from
98
+ a photograph, so no share-alike obligation attaches.
99
+ sources:
100
+ - "https://commons.wikimedia.org/w/index.php?title=Template:PD-CAGov&action=raw # the California PD tag exists and is in active use (Category:PD California)"
101
+ - "https://commons.wikimedia.org/w/index.php?title=Template:PD-CAGov/en&action=raw # the tag's own reasoning: California Public Records Act (Gov. Code § 7920 et seq.) + County of Santa Clara v. CFAC"
102
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=GOV&sectionNum=405 # Gov. Code § 405: the statutory colour specification for the Great Seal — the seal is separately regulated"
103
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/personalized-configurations-mandatory-refusal/ # the DMV page footer 'Copyright (c) 2026 State of California' — the counter-evidence, cited where it actually appears"
104
+
105
+ # ---------------------------------------------------------------------------
106
+ # The US standards chain. Recorded per state because adoption is VOLUNTARY and
107
+ # because the delegation trap matters: AAMVA sends dimensions to SAE J686,
108
+ # whose own text is PAYWALLED and UNPINNED. Nothing below quotes J686.
109
+ # ---------------------------------------------------------------------------
110
+ us_standards:
111
+ no_federal_mandate: true
112
+ chain: "SAE J686 -> AAMVA License Plate Standard Edition 3 (September 2025) -> voluntary state adoption. AAMVA writes recommendations in the declarative present; read them as RECOMMENDED PRACTICE, not requirement."
113
+ aamva_edition_3:
114
+ dimensions_delegated: "AAMVA §3.1 sends dimensions and bolt holes to SAE J686. J686's own text is paywalled and was NOT obtained; no J686 dimension is quoted anywhere in this dataset. California's 12x6 in is taken from the DMV's own page instead, which is better sourcing than the standard would have been."
115
+ character_layout: "AAMVA §2.2: characters at least 2.5 in high, spaced at least 0.25 in apart, stroke weight 0.2-0.4 in, at least 1.25 in clear of top and bottom edges"
116
+ jurisdiction_name_layout: "AAMVA §2.1: jurisdiction name in the top centre between the bolt holes, at least 0.25 in above the plate number, at least 0.125 in from the top edge, characters 0.75-1.0 in"
117
+ stacked_characters: "AAMVA: stacked characters are part of the official plate number; at most two stacked. DIRECTLY RELEVANT TO CALIFORNIA — the dealer, press-photographer and moped plates all print a stacked or small-format letter group beside a full-size number (see us-ca-dealer)."
118
+ replacement_cycle: "AAMVA §1.1 recommends a rolling or full replacement cycle 'not to exceed 7 to 10 years'. CALIFORNIA HAS NO REPLACEMENT CYCLE AT ALL: VIRPM 21.260 and the DMV's own YOM rules assume 1963 plates are still on the road, and the Vehicle Code contains no periodic-replacement duty. California is therefore the clean counter-example to Florida's legislated 10 years."
119
+ source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
120
+ folklore_caution: >-
121
+ The "1956 AMA standardization agreement" that supposedly fixed 6x12 in is
122
+ UNCITED in its Wikipedia source (a `citation needed` since 2017, copied
123
+ verbatim across articles — circular). The California article repeats it.
124
+ IT IS NOT USED HERE: California's 12x6 in comes from the DMV's own
125
+ licence-plate page, and VIRPM Appendix 1E independently records that
126
+ "a standard size of 12 x 6 for autos" arrived with the 1956 issue —
127
+ an agency statement of the same fact without the folklore attached.
128
+
129
+ # ---------------------------------------------------------------------------
130
+ # Display rules. California is a TWO-PLATE state with a truck-tractor
131
+ # inversion that mirrors Florida's — front only.
132
+ # ---------------------------------------------------------------------------
133
+ display_rules:
134
+ default: "TWO plates, front and rear. VC § 5200(a), verbatim: 'When two license plates are issued by the department for use upon a vehicle, they shall be attached to the vehicle for which they were issued, one in the front and the other in the rear.' VC § 5200(b): where only one plate is issued it goes on the rear, 'unless the license plate is issued for use upon a truck tractor, in which case the license plate shall be displayed in accordance with Section 4850.5.'"
135
+ issuance_rule: "VC § 4850(a): the department issues 'two partially or fully reflectorized license plates or devices for a motor vehicle, other than a motorcycle, and one ... for all other vehicles required to be registered'. VIRPM 1.075 states the operational list: 'Trailers, motorcycles, special equipment (SE), tow dollies, and commercial truck tractors with a TR, DR, or DS body type model are issued one license plate. All other vehicle types registered in California are issued two license plates except apportioned vehicles base-plated in another state, which are issued only a sticker.'"
136
+ truck_tractor: "VIRPM 1.075, verbatim: 'Truck tractors must have the license plate attached to the front of the vehicle. If truck tractors are assigned special interest license plates, the license plate with the stickers must be attached to the front of the vehicle and the other license plate destroyed.' FRONT-ONLY — the same inversion Florida legislates in § 320.0706, reached here by agency rule rather than statute."
137
+ reflectorization: "VC § 4850(b) forbids letting any contract to a nongovernmental entity 'for the manufacturing of reflectorized safety license plates'; (c) a $1 reflectorization fee; (d) owners of NONREFLECTORIZED plates are NOT required to replace them — which is why 1963 black plates are lawfully on California roads in 2026. (e) names the section the Schrade-Belotti Act."
138
+ sticker_placement: "Registration validation stickers go on the REAR plate, except that truck tractors and heavy commercial vehicles display them on the front plate. LOCATOR-GRADE for the 10,001 lb threshold (Wikipedia, citing VC § 5204, which was not fetched); the truck-tractor half is VIRPM 1.075 and is sourced."
139
+ sources:
140
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=5200 # § 5200(a) front and rear; (b) rear unless truck tractor"
141
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=4850 # § 4850: two reflectorized plates (one for non-motor vehicles), the manufacturing prohibition, the $1 fee, the no-forced-replacement rule, the Schrade-Belotti Act"
142
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/general-registration-information/license-plates/ # VIRPM 1.075: the one-plate vehicle list, the truck-tractor FRONT rule, Central License Plate Issuance"
143
+
144
+ series:
145
+
146
+ # =========================================================================
147
+ # THE CURRENT STANDARD SERIES — the mirrored 123ABC1, new in March 2026.
148
+ # =========================================================================
149
+ - id: us-ca-standard-123abc1
150
+ class: standard
151
+ categories: [car, van]
152
+ period: { start: 2026 }
153
+ period_evidence: instrument-in-force-upper-bound
154
+ matching: strict
155
+ format:
156
+ pattern: "999LLL9"
157
+ regex: '\A\d{3}[A-Z]{3}\d\z'
158
+ regex_strict: '\A\d{3}(?!ABM|ANO|APE|ARS|ASB|ASS|BAD|BAG|BED|BRA|BUN|BUT|BVD|CHP|CIA|COC|COK|CON|COP|CQC|CQK|CQN|CUL|CUM|CUN|CUR|CUZ|DAG|DAM|DDT|DIC|DIE|DIK|DOA|DUD|DUF|DUM|DUN|FAG|FAN|FAT|FBI|FCK|FKU|FOC|FOK|FQC|FQK|FQU|FUC|FUD|FUG|FUK|FUN|FUX|FUY|GAT|GAY|GEE|GOD|GQD|GUT|HAG|HAM|HEL|HEN|HIC|HIK|HIV|HOG|HOR|HQR|JAP|JAZ|JEW|JIG|KIK|KKK|KOC|KOK|KON|KOX|KQC|KQK|KQN|KQX|KYK|LAY|LSD|MEX|NAG|NGR|NIG|NIP|NUN|OVA|PEA|PEE|PEW|PIG|PIS|POT|POW|PST|PUD|PUS|PYS|QVA|RAG|RAT|RAW|RUT|SAC|SAK|SAM|SEX|SHT|SIF|SIN|SLA|SOB|SOT|SQB|SUC|SUK|SUR|SUX|TIT|TUB|UCK|UPP|UPU|URN|URP|USB|USR|VUC|VUK|VUX|WAD|WOP|WQP|YEP|YID)[A-Z]{3}\d\z'
159
+ charset:
160
+ excluded: [ABM, ANO, APE, ARS, ASB, ASS, BAD, BAG, BED, BRA, BUN, BUT, BVD, CHP, CIA, COC, COK, CON, COP, CQC, CQK, CQN, CUL, CUM, CUN, CUR, CUZ, DAG, DAM, DDT, DIC, DIE, DIK, DOA, DUD, DUF, DUM, DUN, FAG, FAN, FAT, FBI, FCK, FKU, FOC, FOK, FQC, FQK, FQU, FUC, FUD, FUG, FUK, FUN, FUX, FUY, GAT, GAY, GEE, GOD, GQD, GUT, HAG, HAM, HEL, HEN, HIC, HIK, HIV, HOG, HOR, HQR, JAP, JAZ, JEW, JIG, KIK, KKK, KOC, KOK, KON, KOX, KQC, KQK, KQN, KQX, KYK, LAY, LSD, MEX, NAG, NGR, NIG, NIP, NUN, OVA, PEA, PEE, PEW, PIG, PIS, POT, POW, PST, PUD, PUS, PYS, QVA, RAG, RAT, RAW, RUT, SAC, SAK, SAM, SEX, SHT, SIF, SIN, SLA, SOB, SOT, SQB, SUC, SUK, SUR, SUX, TIT, TUB, UCK, UPP, UPU, URN, URP, USB, USR, VUC, VUK, VUX, WAD, WOP, WQP, YEP, YID]
161
+ excluded_count: 144
162
+ excluded_basis: >-
163
+ VIRPM 21.180, verbatim heading: "Restricted License Plate
164
+ Configurations — The following configurations are deleted from the
165
+ regular series license plate configuration and are not available for
166
+ personalized license plates". Note the two claims in that sentence:
167
+ these 144 three-letter strings are deleted from the REGULAR SERIES,
168
+ and they are separately unavailable to personalized applicants. It is
169
+ the first claim that makes this a `charset` fact rather than a vanity
170
+ rule, and it is why `regex_strict` exists on this series.
171
+ excluded_wrinkle: >-
172
+ The DMV's own worked example for the six-character automobile
173
+ configuration on the very same page is "123SAM" — and SAM is on the
174
+ restricted list. Read the example as illustrative, not as an issued
175
+ serial. Recorded because a naive scraper would treat it as a sample.
176
+ notes: >-
177
+ NO STATUTORY CHARACTER CAP EXISTS IN CALIFORNIA. VC § 4851 is the
178
+ whole statutory design rule: "Every license plate shall have
179
+ displayed upon it the registration number assigned to the vehicle for
180
+ which it is issued, together with the word 'California' or the
181
+ abbreviation 'Cal.' and the year number for which it is issued or a
182
+ suitable device issued by the department for validation purposes,
183
+ which device shall contain the year number for which issued." There
184
+ is nothing to put in `regex_statutory`; its absence here is a FACT
185
+ about California law, not an omission. Contrast Florida, whose
186
+ § 320.06(3)(a) caps the serial at seven characters.
187
+ progression: "Mirror of the exhausted 1ABC123 format: the three leading numerals advance and the letter group follows. REPORTED, not sourced — the DMV publishes no progression rule that was located."
188
+ pattern_note: >-
189
+ REPORTED LETTER-POSITION RULE, NOT ENCODED: secondary sources state
190
+ that I, O and Q are used only as the MIDDLE letter of the three-letter
191
+ group (the fifth character in 123ABC1, the third in 1ABC123). The
192
+ underlying citation chain is Wikipedia -> a San Jose Police Department
193
+ training PDF, which is not the issuing authority. It is deliberately
194
+ NOT written into `regex_strict`, because `regex_strict` is reserved for
195
+ the AUTHORITY's own alphabet (PRD-PLATES §2.7) and this is not it.
196
+ Recorded as a gap for the verifier to chase to a DMV instrument.
197
+ design:
198
+ plate: { w: 12, h: 6, unit: in, w_mm: 304.8, h_mm: 152.4 }
199
+ plate_dimension_note: "From the DMV's own licence-plate page: automobile, commercial and trailer plates 12 in x 6 in; motorcycle plates 7 in x 4 in (pre-1970 motorcycle plates 8 in x 5 in); identification plates 7 in x 4 in (pre-1981 8 in x 5 in). This is an AGENCY statement of dimensions and is used in preference to the AAMVA/SAE chain, whose own text is unpinned."
200
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
201
+ foreground: "#17195E"
202
+ colour_note: >-
203
+ NEITHER COLOUR IS IN ANY INSTRUMENT LOCATED. VC § 4850 mandates
204
+ reflectorization and says nothing about hue; VC § 4851 names no colour.
205
+ The serial hex was REFINED BY PHOTOGRAPHIC SAMPLING (wave-2 render
206
+ pass, 2026-08-03): two independent PD-CAGov DMV sample-plate images
207
+ already ledgered in plates/_art/us-ca (the 2000-2011 and 1994-1998
208
+ full-plate samples) were pixel-sampled with ImageMagick dominant-fill
209
+ histograms — stroke fills #171A5E (6571px) and #161B64 (6760px), a
210
+ materially darker navy than the prior #003DA5 cobalt approximation.
211
+ Still `hex_basis: observed`, now with a stated method. By contrast
212
+ the HISTORIC colours in this file (1963 black/yellow, 1970
213
+ blue/yellow) ARE agency-sourced, from VIRPM Appendix 1E and
214
+ VC § 5004.3 — an unusual inversion where the old designs are better
215
+ sourced than the current one.
216
+ legend_top_color:
217
+ value: "#C10D10"
218
+ hex_basis: observed
219
+ note: >-
220
+ The red script wordmark's own colour, split out from the serial
221
+ colour for the first time (same two sampled references: dominant
222
+ fills #C90C0F/#B60E0F and #CA0B0F/#B80C10).
223
+ corner_sticker_guides: >-
224
+ NEW FACT (wave-2 render pass): both sampled DMV samples show thin
225
+ red-outlined rectangular guide boxes in the top corners, labelled
226
+ "MO" (left) and "YR" (right) — printed placeholders for the
227
+ registration month/year validation stickers. Evidence:
228
+ photographic-observed, two agreeing references.
229
+ legend_top: "California"
230
+ legend_top_note: "Rendered as a red SCRIPT wordmark, not as block capitals. VC § 4851 requires only 'the word \"California\" or the abbreviation \"Cal.\"' — the script treatment is departmental, not statutory."
231
+ legend_bottom: "dmv.ca.gov"
232
+ legend_bottom_note: "The DMV web address has been carried as the plate's bottom legend since 2011 per LOCATOR sources; no DMV instrument stating the date was obtained. California is one of very few jurisdictions worldwide whose standard plate advertises a URL."
233
+ emblem: { present: false }
234
+ graphic: { present: true, rendered: placeholder, description: "the red script 'California' wordmark is the plate's only graphic element; there is no seal, no state map and no scenic art on the standard base" }
235
+ band: { side: none }
236
+ rear_differs: false
237
+ manufacture: "California plates have been manufactured by incarcerated workers at Folsom State Prison since 1947 — LOCATOR-GRADE (Wikipedia citing the CALPIA catalogue); recorded because plate manufacture is a recurring question and because CALPIA is a state entity whose catalogue would be the primary to chase."
238
+ replacement_cycle:
239
+ years: null
240
+ note: >-
241
+ CALIFORNIA HAS NO REPLACEMENT CYCLE. No periodic-replacement duty was
242
+ located in the Vehicle Code, and VC § 4850(d) affirmatively provides
243
+ that owners of nonreflectorized plates need not replace them. VIRPM
244
+ 21.260 and the Year of Manufacture rules take for granted that 1963
245
+ plates remain in service. This is the strongest single counter-example
246
+ in the dataset to the idea that AAMVA's 7-10 year recommendation is
247
+ followed: Florida legislated 10 years, California legislated nothing.
248
+ region_encoding: none
249
+ region_encoding_note: "California encodes no geography in the plate string and prints no county legend. The only county artefact is administrative (VIRPM Chart 2 - County Codes, used in DMV records, never on the plate)."
250
+ sources:
251
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/personalized-configurations-mandatory-refusal/ # VIRPM 21.180: the 144 three-letter strings 'deleted from the regular series license plate configuration'; the restricted letter/number combination table naming the automobile, commercial, CA Exempt, DP and DV configurations"
252
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=4851 # § 4851: the entire statutory design rule — registration number + 'California' or 'Cal.' + year or validation device. No character cap, no colour, no legend."
253
+ - "https://www.dmv.ca.gov/portal/vehicle-registration/license-plates-decals-and-placards/license-plates/ # DMV: plate dimensions 12x6 in (auto/commercial/trailer), 7x4 in (motorcycle, pre-1970 8x5), 7x4 in (identification, pre-1981 8x5); 'Generally, license plates remain with the vehicle they were issued to.'"
254
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_California # LOCATOR ONLY (PRD-PLATES §4): the March 2026 flip to 123ABC1 after 9ZZZ999, the 2011 dmv.ca.gov legend, the I/O/Q middle-letter rule, Folsom manufacture. None is asserted as sourced here."
255
+ notes: >-
256
+ CALIFORNIA'S CURRENT STANDARD SERIES. PERIOD CAVEAT: `start: 2026` is the
257
+ year of the instruments read (the live VIRPM and the 2026 Vehicle Code)
258
+ and is an UPPER BOUND, following the us-fl-standard convention. It
259
+ happens to coincide with the reported real start — secondary sources
260
+ (Wikipedia citing the Sacramento Bee and Fox5 San Diego) put the flip at
261
+ MARCH 2026, immediately after the 1ABC123 format exhausted at 9ZZZ999 —
262
+ but no DMV instrument stating the date was obtained, so the month is not
263
+ claimed and the year is claimed only as a bound. THE FLIP ITSELF is the
264
+ interesting structural fact: California does not redesign when a format
265
+ runs out, it MIRRORS the existing one, which is why the base design has
266
+ outlived two complete serial systems. A parse API must therefore treat
267
+ 1ABC123 and 123ABC1 as two series of one visually identical plate.
268
+
269
+ # =========================================================================
270
+ # ONE SERIES BACK — 1ABC123, 1980 to 2026. The 1980 start is AGENCY-PRIMARY.
271
+ # =========================================================================
272
+ - id: us-ca-standard-1abc123
273
+ class: standard
274
+ categories: [car, van]
275
+ period: { start: 1980, end: 2026 }
276
+ period_evidence: agency-manual-dated-start
277
+ matching: strict
278
+ format:
279
+ pattern: "9LLL999"
280
+ regex: '\A\d[A-Z]{3}\d{3}\z'
281
+ charset:
282
+ excluded_ref: "us-ca-standard-123abc1 — the same 144 three-letter strings apply; VIRPM 21.180 states the deletion against the regular series as such, not against a particular arrangement of it"
283
+ notes: "Same absence of a statutory cap as the current series; see us-ca-standard-123abc1."
284
+ progression: >-
285
+ VIRPM Appendix 1E, verbatim: "In 1980, seven characters were
286
+ introduced in regular series license plates. Acceptable auto license
287
+ plate series for 1980 only: 1AAA000 to 1SZZ999." The reported rule
288
+ thereafter is that the ABC123 tail runs AAA000 -> ZZZ999 before the
289
+ leading digit advances — LOCATOR-GRADE beyond the 1980 block the DMV
290
+ itself publishes.
291
+ unissued_blocks_reported: >-
292
+ LOCATOR ONLY: 1SWD000-1TZZ999, 1WAA000-1ZYZ999, 3FMH000-3FZZ999,
293
+ 3YAA000-3ZYZ999 and 3ZZH000-3ZZZ999 reported never issued;
294
+ 1ZZA000-1ZZZ999 and 3ZZA000-3ZZG999 reserved for Livery;
295
+ 1UAA000-1VZZ999 reserved for Lake Tahoe, Yosemite and Whale Tail
296
+ specialty plates. Not asserted as sourced. A specialty-block table like
297
+ this is exactly what a parse API wants and exactly what no primary
298
+ publishes; recorded as a research target.
299
+ design:
300
+ plate: { w: 12, h: 6, unit: in }
301
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
302
+ foreground: "#003DA5"
303
+ design_generations_note: >-
304
+ MODELLING DECISION, STATED OPENLY. This entry is cut on FORMAT, not on
305
+ base design, because the format boundary (1980, 2026) is the only one
306
+ with agency evidence at either end. Within it the base design changed
307
+ several times, all LOCATOR-GRADE: 1980 blue base with yellow
308
+ characters; 1982 "The Golden State" white base (an extra-cost option
309
+ that became standard in 1987); 1987 white base with an EMBOSSED red
310
+ state name; 1993 white base with a GRAPHIC red state name; 1998
311
+ "SESQUICENTENNIAL - 150 YEARS" legend; 2001 legend removed; 2011
312
+ "dmv.ca.gov" legend added. A future pass with a DMV instrument for any
313
+ of those boundaries should split this series and alias this id under
314
+ the PRD-QUALITY I-5/I-6 contract.
315
+ emblem: { present: false }
316
+ graphic: { present: true, rendered: placeholder }
317
+ rear_differs: false
318
+ region_encoding: none
319
+ sources:
320
+ - "https://www.dmv.ca.gov/portal/file/vr-manual-appendix-1e/ # VIRPM Appendix 1E (PDF), California License Plate Data 1914-1980: 'In 1980, seven characters were introduced in regular series license plates. Acceptable auto license plate series for 1980 only: 1AAA000 to 1SZZ999.' Also the year-by-year colour/series table this file's historic claims rest on."
321
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/appendix-1e-california-license-plate-data-1914-1980/ # the VIRPM page that serves the appendix"
322
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_California # LOCATOR ONLY: the 2026 end of the format, the base-design generations, the unissued and reserved blocks"
323
+ notes: >-
324
+ THE FORMAT CALIFORNIA RAN FOR FORTY-SIX YEARS. Its START is properly
325
+ sourced — VIRPM Appendix 1E says the seven-character regular series
326
+ arrived in 1980 and gives the exact 1980 block — which makes this one of
327
+ the few US series in the dataset with an agency-dated boundary. Its END
328
+ is LOCATOR-GRADE (reported March 2026 on exhaustion at 9ZZZ999) and is
329
+ recorded as 2026 because the successor series is demonstrably in issue in
330
+ 2026; a verifier should replace it with a DMV instrument or downgrade it.
331
+ DISAGREEMENT RECORDED, NOT AVERAGED (PRD-PLATES §5.3): VIRPM Appendix 1E
332
+ dates the blue-and-yellow base "1970-1980", Wikipedia dates it from 1969,
333
+ and VC § 5004.3 — a statute — describes the blue/yellow appearance as
334
+ that of plates "issued by the department from 1969 to 1986, inclusive".
335
+ Three instruments, three boundaries, no average taken.
336
+
337
+ # =========================================================================
338
+ # LEGACY — the 1960s black plate, back in production, WITH ITS COLOURS IN
339
+ # STATUTE. This is the rare case where a US plate design is specified by law.
340
+ # =========================================================================
341
+ - id: us-ca-legacy-1960s
342
+ class: specialty
343
+ categories: [car, van, truck, motorcycle, trailer]
344
+ period: { start: 2015 }
345
+ period_evidence: instrument-in-force-upper-bound
346
+ matching: recall-only
347
+ format:
348
+ pattern: "LLLLLL"
349
+ regex: '\A[A-Z0-9]{6}\z'
350
+ charset:
351
+ notes: >-
352
+ VIRPM 21.025, verbatim: "Legacy License Plates are available in
353
+ sequential configurations of six characters and in personalized
354
+ configurations of two to seven characters and may be issued to
355
+ automobiles, commercial vehicles (excluding international
356
+ registration plan [IRP]), motorcycles, trailer coach (CCH), and
357
+ permanent trailer identification (PTI)." SIX CHARACTERS is the whole
358
+ published constraint — the DMV does not say WHICH six-character
359
+ arrangement, so the regex here is deliberately the union of all of
360
+ them and this series is `matching: recall-only`. A match is a shape
361
+ hit, not a validity claim.
362
+ design:
363
+ plate: { w: 12, h: 6, unit: in }
364
+ background: { color: "#000000", finish: retroreflective, hex_basis: statutory-description }
365
+ foreground: "#FFC72C"
366
+ colour_basis: >-
367
+ THE COLOURS ARE IN THE STATUTE. VC § 5004.3 authorises three legacy
368
+ designs by colour and by reference to the period whose appearance they
369
+ replicate: (1) "Yellow background with black lettering per the
370
+ appearance of California license plates issued by the department from
371
+ 1956 to 1962, inclusive"; (2) "Black background with yellow lettering
372
+ per the appearance of California license plates issued by the
373
+ department from 1965 to 1968, inclusive"; (3) "Blue background with
374
+ yellow lettering per the appearance of California license plates issued
375
+ by the department from 1969 to 1986, inclusive." The HEXES are still
376
+ approximations — the statute names colours, not values — but the
377
+ colour NAMES and the periods they refer to are law.
378
+ emblem: { present: false }
379
+ rear_differs: false
380
+ reproduction_note: "LOCATOR ONLY: the reissued plates use a modern reflective black coating rather than the original dull black paint, and the narrower character dies of the 7-character era rather than the wider 6-character dies of the originals. A collector-visible difference; recorded because a render should not claim to reproduce the 1963 artefact."
381
+ program_threshold: "VC § 5004.3: the department must collect 'not less than 7,500 paid applications for any one of the particular plates' before issuing it, and had 'until January 1, 2015, to receive the required number of applications', with refunds if the threshold was missed."
382
+ program_outcome: "LOCATOR ONLY: only the 1960s black-with-yellow design reached 7,500 before the deadline; the 1950s yellow-with-black and 1970s blue-with-yellow designs did not, and are authorised but never issued. Recorded because an authorised-but-dead design is exactly the trap PRD-PLATES §2.5 warns about — the statute lists three, the road carries one."
383
+ region_encoding: none
384
+ sources:
385
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=5004.3 # § 5004.3: the three legacy designs with their colours and their reference periods (1956-1962, 1965-1968, 1969-1986), the 7,500 paid-application threshold, the 1 January 2015 deadline and the refund rule"
386
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/california-ca-1960s-legacy-license-plates/ # VIRPM 21.025: six-character sequential, two-to-seven-character personalized, the eligible vehicle types, the plate-with-owner rule"
387
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_California # LOCATOR ONLY: only the 1960s design met the threshold; issuance began 2015; modern coating and narrower dies"
388
+ notes: >-
389
+ THE ONE US PLATE DESIGN IN THIS WAVE WHOSE COLOURS ARE LEGISLATED.
390
+ Everywhere else in the US pass the statutes specify a PROPERTY
391
+ (Florida: "a distinguishing color") and leave the VALUE to the
392
+ department; VC § 5004.3 names the values. It also does something no other
393
+ instrument found in this programme does: it uses the state's own past
394
+ designs as the specification, and in doing so publishes a set of
395
+ historical base periods (1956-1962, 1965-1968, 1969-1986) as law. Those
396
+ periods disagree with both the DMV's own Appendix 1E and with the
397
+ collector literature, and the disagreement is recorded on
398
+ us-ca-standard-1abc123 rather than resolved. `start: 2015` is an upper
399
+ bound taken from the reported first issuance year, not from an
400
+ instrument.
401
+
402
+ # =========================================================================
403
+ # PERSONALIZED — "Environmental License Plates", the original US vanity plate.
404
+ # =========================================================================
405
+ - id: us-ca-personalized
406
+ class: personalized
407
+ categories: [car, van, truck, motorcycle, trailer]
408
+ period: { start: 2026 }
409
+ period_evidence: instrument-in-force-upper-bound
410
+ matching: strict
411
+ format:
412
+ pattern: "LLLLLLL"
413
+ regex: '\A[A-Z0-9]{2,7}\z'
414
+ charset:
415
+ excluded_ref: "us-ca-standard-123abc1 — the same 144 restricted three-letter strings are unavailable to personalized applicants, VIRPM 21.180"
416
+ notes: >-
417
+ VIRPM 21.100, verbatim: "Environmental License Plates (ELP) are the
418
+ original personalized license plate. ELPs are only available
419
+ personalized with two to seven characters and may be issued to
420
+ automobiles, commercial vehicles, motorcycles, and trailers."
421
+ TWO TO SEVEN CHARACTERS is agency-sourced and is what the regex
422
+ encodes.
423
+ substitution_rule: >-
424
+ VIRPM 21.180, verbatim: "Any special license plate application which
425
+ contains '1' and 'I' used interchangeable or '0' and 'O' or 'Q' used
426
+ interchangeably must be rejected." A LOOKALIKE-COLLISION rule aimed at
427
+ the plate-reading problem rather than at taste, and a good example of
428
+ why a validator needs the authority's own alphabet rather than a
429
+ generic alphanumeric class.
430
+ conflict_table: >-
431
+ VIRPM 21.180 publishes the configurations unavailable to personalized
432
+ applicants "because they conflict with existing license plate series",
433
+ and in doing so publishes the CURRENT SHAPE OF SEVERAL OTHER
434
+ CALIFORNIA SERIES — which is why this file can spec them at all:
435
+ 3 numbers + 2 letters (000AA-000E0, Reserved); 3 numbers + 3 letters
436
+ (123SAM, Automobile); 4 numbers + 2 letters (0000PH Purple Heart
437
+ Vessels, 1234AB, 0000DP Disabled Person, 0000DV Disabled Veteran);
438
+ 5 numbers + 1 letter (12345R, Commercial); 5 numbers + 2 letters
439
+ (30000DP, 00000DV); 5 numbers + 1 letter + 1 number (11111A1,
440
+ Commercial); 7 numbers (1234567, CA Exempt).
441
+ design:
442
+ plate: { w: 12, h: 6, unit: in }
443
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
444
+ foreground: "#003DA5"
445
+ note: "ELPs may be issued on the standard base or on most special-interest bases; the design is that of the chosen base."
446
+ refusal_criteria: >-
447
+ VIRPM 21.180 is one of the most explicit refusal standards published by
448
+ any US DMV, and it is quoted because the criteria themselves are the
449
+ fact: "DMV must refuse any personalized license plate configuration that
450
+ may carry connotations offensive to good taste and decency, or which
451
+ would be misleading" — including a configuration that has a sexual
452
+ connotation, is a vulgar/contemptuous/prejudicial/racially or ethnically
453
+ degrading term, is profane or obscene, "has been restricted (deleted)
454
+ from regular series license plates", has a negative connotation to a
455
+ specific group, misrepresents a law enforcement entity, is a foreign or
456
+ slang word, or "is a phonetic spelling or mirror image" of any of those.
457
+ statutory_hook: "VC § 5101 authorises environmental licence plates for the registered owner or lessee of 'a passenger vehicle, commercial motor vehicle, motorcycle, trailer, or semitrailer'. VC § 5105 governs refusal and cancellation of offensive or misleading configurations. NEITHER SECTION STATES A CHARACTER LIMIT — the two-to-seven rule is the DMV's, not the Legislature's."
458
+ region_encoding: none
459
+ sources:
460
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/environmental-license-plates/ # VIRPM 21.100: ELPs 'only available personalized with two to seven characters'; eligible vehicle types; plate-with-owner"
461
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/personalized-configurations-mandatory-refusal/ # VIRPM 21.180: the refusal criteria, the 1/I and 0/O/Q substitution rule, the similar-configuration rule, the 144 restricted strings, the conflicting-configuration table"
462
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=5101 # § 5101: who may apply for environmental licence plates"
463
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=5105 # § 5105: departmental refusal and cancellation of offensive or misleading configurations"
464
+ notes: >-
465
+ CALIFORNIA'S PERSONALIZED PLATE IS STATUTORILY CALLED AN ENVIRONMENTAL
466
+ LICENSE PLATE because its fees fund environmental programmes, which is
467
+ why a reader chasing "vanity plate" through the Vehicle Code finds
468
+ nothing. Modelled as its own series for the same reason as Florida's: the
469
+ SERIAL SOURCE differs — owner-chosen rather than department-assigned —
470
+ even though the character frame overlaps the standard series.
471
+
472
+ # =========================================================================
473
+ # HISTORIC — two permanent series, both in statute, both numbered from 1.
474
+ # =========================================================================
475
+ - id: us-ca-horseless-carriage
476
+ class: historic
477
+ categories: [car]
478
+ period: { start: 2026 }
479
+ period_evidence: instrument-in-force-upper-bound
480
+ matching: strict
481
+ format:
482
+ pattern: "999"
483
+ regex: '\A\d+\z'
484
+ charset:
485
+ notes: >-
486
+ VC § 5004, verbatim: "The special identification plates assigned to
487
+ motor vehicles with an engine of 16 or more cylinders manufactured
488
+ prior to 1965 and to any motor vehicle manufactured in the year 1922
489
+ and prior thereto shall run in a separate numerical series,
490
+ commencing with 'Horseless Carriage No. 1'." A separate numerical
491
+ series with a stated origin and NO STATED WIDTH — hence the unbounded
492
+ quantifier, which makes no width claim.
493
+ progression: "strictly sequential from 1"
494
+ design:
495
+ plate: { w: 12, h: 6, unit: in }
496
+ background: { finish: retroreflective }
497
+ colour_note: "VC § 5004: 'Each series of plates shall have different and distinguishing colors.' The statute specifies DISTINCTNESS, not a value — the same drafting choice Florida makes in § 320.086(1). No colour is recorded."
498
+ legend: "Horseless Carriage"
499
+ eligibility: "VC § 5004(a): a motor vehicle with an engine of 16 or more cylinders manufactured prior to 1965, OR any motor vehicle manufactured in 1922 or earlier. A FIXED-CUTOFF threshold — it never moves."
500
+ validity: "VIRPM 21.120: the plates are PERMANENTLY assigned to the vehicle and cannot be reassigned; no additional renewal fee; the plates cannot be retained by the owner; the vehicle is subject to a fixed annual vehicle licence fee of $2 (R&TC § 10753.5) and is limited to historical exhibition, parades and club activities."
501
+ fee: "VC § 5004: '$25 shall be charged for the initial issuance', replacement per § 9265."
502
+ region_encoding: none
503
+ sources:
504
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=5004 # § 5004: the 16-cylinder and 1922-or-earlier eligibility, the 'Horseless Carriage No. 1' series, 'different and distinguishing colors', the $25 initial fee"
505
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/historical-vehicle-and-horseless-carriage-license-plates/ # VIRPM 21.120: permanent assignment, no reassignment, no retention, the $2 fixed VLF, the exhibition-use restriction, and that these plates are NOT available personalized"
506
+ notes: >-
507
+ HORSELESS CARRIAGE. California and Florida legislate this series in
508
+ almost identical terms — a separate numerical run from "Horseless
509
+ Carriage No. 1", a distinguishing but unnamed colour, permanence — which
510
+ is worth recording as a genuine cross-state convergence rather than a
511
+ coincidence, and as a hint that the two statutes share an ancestor. The
512
+ eligibility rules differ: California's is a FIXED cutoff (1922, or 16+
513
+ cylinders pre-1965), Florida's Horseless Carriage is a fixed 1945 cutoff,
514
+ and California's own Historical Vehicle series below is ROLLING.
515
+
516
+ - id: us-ca-historical-vehicle
517
+ class: historic
518
+ categories: [car, truck, trailer]
519
+ period: { start: 2026 }
520
+ period_evidence: instrument-in-force-upper-bound
521
+ matching: strict
522
+ format:
523
+ pattern: "999"
524
+ regex: '\A\d+\z'
525
+ charset:
526
+ notes: "VC § 5004: 'The special identification plates assigned to vehicles specified in paragraph (3) of subdivision (a) shall run in a separate numerical series, commencing with \"Historical Vehicle No. 1\".' Same shape as the Horseless Carriage series, same absence of a stated width."
527
+ progression: "strictly sequential from 1"
528
+ design:
529
+ plate: { w: 12, h: 6, unit: in }
530
+ background: { finish: retroreflective }
531
+ colour_note: "VC § 5004: 'Each series of plates shall have different and distinguishing colors' — the Historical Vehicle plate must therefore differ in colour from the Horseless Carriage plate, but neither value is stated."
532
+ legend: "Historical Vehicle"
533
+ eligibility: "VIRPM 21.120: a motor vehicle or trailer manufactured AFTER 1922, at least 25 YEARS OLD, and of historic interest. A ROLLING threshold — the eligible set silently grows every year, which is the kind of claim the quarterly audit has to re-derive rather than trust."
534
+ region_encoding: none
535
+ sources:
536
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=5004 # § 5004(a)(3) and the 'Historical Vehicle No. 1' series"
537
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/historical-vehicle-and-horseless-carriage-license-plates/ # VIRPM 21.120: manufactured after 1922, at least 25 years old, of historic interest; the exhibition-use restriction and the $2 fixed VLF"
538
+ notes: >-
539
+ HISTORICAL VEHICLE. Its own series and not a variant of Horseless
540
+ Carriage because § 5004 gives it its own numerical run and requires it to
541
+ carry a different colour. The eligibility contrast inside a single
542
+ section is the modelling lesson: § 5004 carries a FIXED cutoff and a
543
+ ROLLING one side by side, and only the rolling one needs re-auditing.
544
+
545
+ # =========================================================================
546
+ # YEAR OF MANUFACTURE — the series that has no serial of its own, because it
547
+ # borrows a serial the department issued decades ago.
548
+ # =========================================================================
549
+ - id: us-ca-year-of-manufacture
550
+ class: historic
551
+ categories: [car, truck, motorcycle, trailer]
552
+ period: { start: 2026 }
553
+ period_evidence: instrument-in-force-upper-bound
554
+ matching: recall-only
555
+ format:
556
+ pattern: "LLL999"
557
+ regex: '\A[A-Z0-9]{1,7}\z'
558
+ charset:
559
+ notes: >-
560
+ A YOM plate carries whatever serial the department issued in the
561
+ matching year, so its regex is necessarily the UNION of California's
562
+ historic arrangements and a match is a shape hit only. The DMV
563
+ publishes the acceptable series per era, and those ARE precise:
564
+ VIRPM 21.260 / Appendix 1E — "1963-1969 year model automobiles must
565
+ have black license plates with yellow characters within the
566
+ alpha-numeric series of AAA000-YYY999"; 1963-1969 commercial
567
+ "A00000-Z99999 or 00000A-99999Z"; "1970-1980 year model automobiles
568
+ vehicles must have blue license plates with yellow characters within
569
+ the alpha-numeric series of 000AAA-999ZZZ"; 1970-1980 commercial
570
+ "00000A-99999Z", with 1975-1980 also "1A00001 to 3Z99999";
571
+ 1970-1980 motorcycles "0A0000-9Z9999"; and 1980 autos may also use
572
+ "1AAA000 to 1SZZ999".
573
+ design:
574
+ plate: { w: 12, h: 6, unit: in }
575
+ background: { finish: unknown }
576
+ design_note: "The design is that of the original year. VIRPM 21.260: plates 'May be restored/painted but cannot deviate from the original colors or configurations', and the year validation sticker corresponding to the vehicle's model year must be attached and authenticated by a DMV employee before assignment."
577
+ eligibility: "VC § 5004.1(a)(1): an owner of a 1980 OR OLDER model-year vehicle may use plates 'with the date of year corresponding to the model-year date when the vehicle was manufactured, if the model-year date license plate is legible and serviceable, as determined by the department'. VIRPM 21.260 narrows it operationally: 1969 or prior for autos, trailers and motorcycles; 1972 or prior for commercial vehicles. § 5004.1(a)(2) lets the department 'consult with an organization of old car hobbyists' in judging correspondence — a rare statutory delegation to a hobby community."
578
+ restrictions: "VIRPM 21.260: YOM vehicles have FULL operating privileges and are NOT restricted to historical activities (unlike Historical Vehicle plates); replicas, specially constructed vehicles and kit cars do not qualify; Environmental and Special Recognition plates are excluded from the programme."
579
+ regulatory_hook: "California Code of Regulations Title 13, Article 3.3, §§ 205.00-205.14 governs the programme. THE CCR TEXT WAS NOT FETCHED in this pass (recorded gap) — VIRPM 21.260 cites it and is used in its place."
580
+ region_encoding: none
581
+ sources:
582
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=5004.1 # § 5004.1: 1980-or-older model year, legible and serviceable, the old-car-hobbyist consultation, the $45 application and $10 renewal fees"
583
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/year-of-manufacture-yom-license-plates/ # VIRPM 21.260: the 1969/1972 operational cutoffs, the sticker-equals-year rule with worked examples, the AAA000-YYY999 black-base rule, the CCR Title 13 Art. 3.3 hook"
584
+ - "https://www.dmv.ca.gov/portal/file/vr-manual-appendix-1e/ # VIRPM Appendix 1E: the per-era acceptable series for autos, commercial vehicles and motorcycles"
585
+ notes: >-
586
+ YEAR OF MANUFACTURE IS THE SCHEMA'S EDGE CASE AND EARNS ITS PLACE HERE
587
+ FOR THAT REASON: a currently-issuable registration whose plate is a
588
+ forty-to-a-hundred-year-old artefact supplied by the owner, authenticated
589
+ rather than manufactured. `matching: recall-only` is the honest reading —
590
+ the regex is the union of every California arrangement, so a hit says
591
+ "this could be a California plate of some era", never "this is a valid
592
+ YOM registration". The DMV's sticker arithmetic is worth carrying
593
+ verbatim because it is genuinely counter-intuitive: "A 1956 license plate
594
+ with a 1958 sticker equals a 1958 plate and must be placed on a 1958 year
595
+ model vehicle."
596
+
597
+ # =========================================================================
598
+ # CORE CLASSES the state separately serializes. The formats come from the
599
+ # VIRPM 21.180 conflict table where it speaks, and are LOCATOR-GRADE
600
+ # where it does not — each entry says which.
601
+ # =========================================================================
602
+ - id: us-ca-commercial
603
+ class: standard
604
+ categories: [truck, van, bus]
605
+ period: { start: 2026 }
606
+ period_evidence: instrument-in-force-upper-bound
607
+ matching: strict
608
+ format:
609
+ pattern: "99999L9"
610
+ regex: '\A\d{5}[A-Z]\d?\z'
611
+ charset:
612
+ notes: >-
613
+ BOTH commercial arrangements come from VIRPM 21.180's table of
614
+ configurations unavailable to personalized applicants "because they
615
+ conflict with existing license plate series": "5 numbers; 1 letter"
616
+ with the example 12345R, and "5 numbers; 1 letter; 1 number" with the
617
+ example 11111A1, both labelled License Type "Commercial". The regex
618
+ is the union of exactly those two and nothing wider, so `matching`
619
+ is strict.
620
+ design:
621
+ plate: { w: 12, h: 6, unit: in }
622
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
623
+ foreground: "#003DA5"
624
+ note: "Commercial plates share the standard base design; the class is carried by the serial arrangement, not by a legend."
625
+ region_encoding: none
626
+ sources:
627
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/personalized-configurations-mandatory-refusal/ # VIRPM 21.180: '5 numbers; 1 letter' (12345R) and '5 numbers; 1 letter; 1 number' (11111A1), License Type Commercial"
628
+ - "https://www.dmv.ca.gov/portal/file/vr-manual-appendix-1e/ # VIRPM Appendix 1E .0110: the commercial series history — 1963-1969 A00000-Z99999 or 00000A-99999Z on the black base; 1970-1980 00000A-99999Z on the blue base; 1975-1980 also 1A00001-3Z99999"
629
+ notes: >-
630
+ COMMERCIAL PLATES. CLASS CAVEAT: recorded as `standard` because
631
+ _meta/classes.yml has no `commercial` value and the PRD's `standard`
632
+ definition ("the default series issued to private road vehicles") fits
633
+ awkwardly. The same caveat Florida records for its Wrecker plate. The
634
+ value of this entry is that its format is AGENCY-SOURCED — a US
635
+ commercial-plate format with a citation is unusual — and that it shows
636
+ how VIRPM 21.180's negative list (what a vanity applicant may NOT ask
637
+ for) is in fact a positive catalogue of California's live series.
638
+
639
+ - id: us-ca-exempt
640
+ class: government
641
+ categories: [car, van, truck, bus]
642
+ period: { start: 2026 }
643
+ period_evidence: instrument-in-force-upper-bound
644
+ matching: strict
645
+ format:
646
+ pattern: "9999999"
647
+ regex: '\A\d{7}\z'
648
+ charset:
649
+ notes: "VIRPM 21.180's conflict table: '7 numbers', example 1234567, License Type 'CA Exempt'. Seven numerals and nothing else — an all-numeric government series is unusual in the US and is the reason a validator must not assume a US plate contains a letter."
650
+ design:
651
+ plate: { w: 12, h: 6, unit: in }
652
+ background: { finish: retroreflective }
653
+ legend: "CALIFORNIA EXEMPT"
654
+ emblem: { present: true, rendered: placeholder, description: "exempt plates carry a state-seal-derived device; NOT rendered — the Great Seal is separately regulated (see artwork_risk.seal_regime)" }
655
+ colour_note: "No instrument stating the exempt plate's colours was located (recorded gap)."
656
+ region_encoding: none
657
+ sources:
658
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/personalized-configurations-mandatory-refusal/ # VIRPM 21.180: '7 numbers' / 1234567 / CA Exempt"
659
+ notes: >-
660
+ CALIFORNIA EXEMPT — the government fleet series. Recorded because the
661
+ seven-numeral shape is genuinely distinctive and because it is the one
662
+ California series whose whole format is published in a single agency
663
+ line. The legend text and the emblem are LOCATOR/observation-grade and
664
+ are marked as such; only the format is sourced here.
665
+
666
+ - id: us-ca-motorcycle
667
+ class: motorcycle
668
+ categories: [motorcycle]
669
+ period: { start: 2026 }
670
+ period_evidence: instrument-in-force-upper-bound
671
+ matching: strict
672
+ format:
673
+ pattern: "99L9999"
674
+ regex: '\A\d{2}[A-Z]\d{4}\z'
675
+ charset:
676
+ notes: >-
677
+ LOCATOR-GRADE FORMAT. The 12A1234 arrangement and its reported start
678
+ in 1982 come from Wikipedia and the collector literature; no DMV
679
+ instrument stating the current motorcycle arrangement was located
680
+ (recorded gap). What IS agency-sourced is the PREVIOUS motorcycle
681
+ format and the plate size: VIRPM Appendix 1E gives the 1970-1980
682
+ motorcycle series as 0A0000-9Z9999 on the blue base with plates
683
+ "5 x 8", and the DMV's licence-plate page gives the current
684
+ motorcycle plate as 7 in x 4 in (pre-1970: 8 in x 5 in).
685
+ design:
686
+ plate: { w: 7, h: 4, unit: in }
687
+ plate_dimension_note: "DMV licence-plate page: motorcycle plates 7 in x 4 in; motorcycle plates issued before 1970 are 8 in x 5 in. Appendix 1E independently records the 1970-1980 motorcycle plate as 5 in x 8 in — the axes are transposed between the two agency statements and NEITHER is corrected here."
688
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
689
+ foreground: "#003DA5"
690
+ rear_differs: false
691
+ display: "VC § 4850(a): a motorcycle is issued ONE plate; VC § 5200(b) puts it on the rear."
692
+ region_encoding: none
693
+ sources:
694
+ - "https://www.dmv.ca.gov/portal/vehicle-registration/license-plates-decals-and-placards/license-plates/ # DMV: motorcycle plate 7x4 in, pre-1970 8x5 in"
695
+ - "https://www.dmv.ca.gov/portal/file/vr-manual-appendix-1e/ # VIRPM Appendix 1E .0115: the 1970-1980 motorcycle series 0A0000-9Z9999 and the 5x8 plate size"
696
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=4850 # § 4850(a): one plate for a motorcycle"
697
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_California # LOCATOR ONLY: the current 12A1234 arrangement, its reported 1982 start, and the reported I/O/Q exclusion"
698
+ notes: >-
699
+ MOTORCYCLE. Its own series because the format, the plate size and the
700
+ one-plate rule all differ from the standard passenger series. The format
701
+ is the weakest claim in this file and says so: the DMV publishes the
702
+ motorcycle plate's SIZE but not its current serial arrangement, so the
703
+ regex rests on collector-corroborated locator sources. A verifier should
704
+ either find a DMV instrument or downgrade this series to recall-only.
705
+
706
+ - id: us-ca-permanent-trailer
707
+ class: trailer
708
+ categories: [trailer]
709
+ period: { start: 2026 }
710
+ period_evidence: instrument-in-force-upper-bound
711
+ matching: strict
712
+ format:
713
+ pattern: "9LL9999"
714
+ regex: '\A\d[A-Z]{2}\d{4}\z'
715
+ charset:
716
+ notes: "LOCATOR-GRADE: the 4AB1234 arrangement of the Permanent Trailer Identification (PTI) plate and its reported 2001 start come from Wikipedia and the collector literature. No DMV instrument stating the arrangement was located (recorded gap). VIRPM 21.025 does confirm that PTI is a live plate type eligible for Legacy designs."
717
+ design:
718
+ plate: { w: 12, h: 6, unit: in }
719
+ background: { finish: retroreflective }
720
+ legend_top: "California Perm Trailer"
721
+ legend_note: "LOCATOR-GRADE legend text."
722
+ display: "VC § 4850(a) / VIRPM 1.075: a trailer is issued ONE plate, displayed on the rear."
723
+ region_encoding: none
724
+ sources:
725
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/general-registration-information/license-plates/ # VIRPM 1.075: trailers are issued one plate"
726
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/california-ca-1960s-legacy-license-plates/ # VIRPM 21.025 names 'permanent trailer identification (PTI)' as a live plate type"
727
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_California # LOCATOR ONLY: Permanent Trailer 4AB1234 from 2001, replacing the AT-HT prefixed trailer plates of 1982-2001"
728
+ notes: >-
729
+ PERMANENT TRAILER IDENTIFICATION. Recorded because California moved
730
+ trailers to a PERMANENT registration in 2001 (reported) and because the
731
+ predecessor — trailer plates with AT through HT prefixes, 1982-2001 — is
732
+ a dead series still lawfully on the road, the same shape as Florida's
733
+ "Collectible" plate. Neither the current format nor the transition date
734
+ is agency-sourced; both are recorded as gaps.
735
+
736
+ - id: us-ca-dealer
737
+ class: dealer
738
+ categories: [car, van, truck, bus, motorcycle, trailer]
739
+ period: { start: 2026 }
740
+ period_evidence: instrument-in-force-upper-bound
741
+ matching: recall-only
742
+ format:
743
+ pattern: "99999"
744
+ regex: '\A[A-Z0-9]{1,8}\z'
745
+ charset:
746
+ notes: >-
747
+ THE SERIAL IS THE FIRM'S OCCUPATIONAL LICENCE NUMBER, not a plate
748
+ series. VIRPM 2.090, verbatim: "Special license plates bearing the
749
+ firm's license number are issued to licensed firms other than
750
+ lessor-retailers (VC §11714)." The printed plate additionally carries
751
+ a stacked class letter (D dealer / L lessor / R remanufacturer per
752
+ LOCATOR sources) and a small sequence suffix distinguishing multiple
753
+ sets held by one firm. Because the visible string is a licence number
754
+ of unstated width plus stacked decoration, the regex here is
755
+ deliberately over-broad and this series is `matching: recall-only`.
756
+ design:
757
+ plate: { w: 12, h: 6, unit: in }
758
+ background: { finish: retroreflective }
759
+ stacked_characters_note: "AAMVA Ed.3 treats stacked characters as PART OF the official plate number, at most two stacked. California's dealer plate is the case that makes this bite: the class letter and the set suffix are both printed small or stacked, so a normaliser that drops them destroys the identity. The decision belongs in the parse layer."
760
+ binding: business
761
+ permitted_use: >-
762
+ VC § 11715 via VIRPM 2.090: special plates may be used on any vehicle
763
+ owned or lawfully possessed by the licensee, including to tow or
764
+ transport other vehicles, and by a dealer for delivery to a buyer where
765
+ the sale is consummated at the place of delivery. They may NOT be used on
766
+ work or service vehicles, on vehicles being moved under a DMV permit from
767
+ a vessel/railroad depot/warehouse, on an unregistered vehicle
768
+ transporting more than one load of vehicles for sale, or on a
769
+ currently-registered dealer-owned vehicle whose former owner filed a
770
+ release of liability and whose report of sale is displayed.
771
+ region_encoding: none
772
+ sources:
773
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/general-information-licensees/special-dealer-manufacturer-remanufacturer-and-distributor-license-plates/ # VIRPM 2.090: plates bear the firm's licence number (VC § 11714); the § 11715 permitted-use and prohibited-use lists; additional sets and replacements via form OL 22"
774
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_California # LOCATOR ONLY: the printed D/L/R + 5 numerals + small suffix arrangement and its reported generations (1970, 1987, 1993, 2011)"
775
+ notes: >-
776
+ DEALER / MANUFACTURER / REMANUFACTURER / DISTRIBUTOR PLATES.
777
+ `binding: business` for the same reason as Germany's rote Kennzeichen and
778
+ Florida's dealer plate: the plate follows the firm, not a vehicle — and
779
+ California makes that literal by printing the firm's OCCUPATIONAL LICENCE
780
+ NUMBER as the serial. That is a genuinely different kind of plate string
781
+ from everything else in this file: it is not drawn from a series at all,
782
+ which is why it is `recall-only` and why a parse API should treat a hit
783
+ here as "possibly a California trade plate" and nothing more.
784
+
785
+ - id: us-ca-temporary
786
+ class: temporary
787
+ categories: [car, van, truck, bus, motorcycle, trailer]
788
+ period: { start: 2019 }
789
+ period_evidence: statutory-operative-date
790
+ matching: strict
791
+ format:
792
+ pattern: "LL99L99"
793
+ regex: '\A[A-Z]{2}\d{2}[A-Z]\d{2}\z'
794
+ charset:
795
+ notes: >-
796
+ LOCATOR-GRADE ARRANGEMENT: the AB12C34 shape of the California
797
+ temporary paper plate is reported by Wikipedia citing VC § 4456(a)(9)
798
+ — but § 4456 itself, which WAS fetched, does not state a format; it
799
+ requires only that "the dealer or lessor-retailer shall attach the
800
+ temporary license plates issued by the reporting system". The
801
+ arrangement is therefore a property of the DMV's reporting system and
802
+ is recorded as unsourced. The PERIOD, by contrast, is statutory.
803
+ design:
804
+ plate: { w: 12, h: 6, unit: in }
805
+ material: "printed on special paper by the dealer through the DMV reporting system, not metal"
806
+ background: { finish: none }
807
+ note: "The temporary plate additionally carries the vehicle identification number and an expiry date in the published examples; not asserted as sourced."
808
+ validity: "Temporary plates bridge the gap between sale and arrival of the metal plates; the report-of-sale copy is attached to the vehicle before delivery (VC § 4456(a))."
809
+ region_encoding: none
810
+ sources:
811
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=4456 # § 4456: the report-of-sale duty; (a)(9) 'the dealer or lessor-retailer shall attach the temporary license plates issued by the reporting system'; 'This section shall become operative January 1, 2019'; amended Stats. 2021 Ch. 256"
812
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_California # LOCATOR ONLY: the AB12C34 series, and the pre-2019 history (California was the last US state with no temporary-plate requirement; AB 516 of 2016 closed it)"
813
+ notes: >-
814
+ CALIFORNIA'S TEMPORARY PLATE IS THE NEWEST SERIES IN THIS FILE AND THE
815
+ ONLY ONE WITH A CLEAN STATUTORY OPERATIVE DATE: § 4456 says in terms
816
+ "This section shall become operative January 1, 2019", so `start: 2019`
817
+ is a real claim rather than an upper bound. It exists because until then
818
+ California was the last state in the union requiring no temporary plate
819
+ at all — new cars ran on dealer paper inserts, which is why the DMV's own
820
+ historical record and the legislative history (AB 516, 2016) are worth
821
+ keeping in the notes: a dataset that models only current formats cannot
822
+ explain why a 2018 California car has no plate in a photograph.
823
+
824
+ # =========================================================================
825
+ # SPECIALTY — THE PROGRAM INDEX, per PRD-PLATES §2.5. Count and official
826
+ # links only; no individual designs.
827
+ # =========================================================================
828
+ - id: us-ca-specialty-index
829
+ class: specialty
830
+ categories: [car, van, truck, motorcycle, trailer]
831
+ period: { start: 2026 }
832
+ period_evidence: instrument-in-force-upper-bound
833
+ matching: strict
834
+ format:
835
+ pattern: "999LLL9"
836
+ regex: '\A\d{3}[A-Z]{3}\d\z'
837
+ charset: { notes: "Specialty plates carry ORDINARY sequential serials on an alternative design, or a personalized configuration of two to seven characters. Some programmes are issued from reserved blocks of the standard series — 1UAA000-1VZZ999 is reported reserved for Lake Tahoe, Yosemite and Whale Tail — which means a specialty plate is not always distinguishable from a standard one by its serial alone." }
838
+ design:
839
+ plate: { w: 12, h: 6, unit: in }
840
+ background: { finish: retroreflective }
841
+ design_space: >-
842
+ THE ONLY US SPECIALTY-PLATE GEOMETRY FOUND IN STATUTE IN THIS WAVE.
843
+ VC § 5060 requires that the plates permit law enforcement to readily
844
+ identify the letters and numbers, and prescribes for passenger vehicles
845
+ a 2 in x 3 in space to the LEFT of the numbers for the distinctive
846
+ design plus a 5/8 in high strip below the numbers for a message; for
847
+ motorcycles, a five-character configuration with the design space on
848
+ the left and sharp character contrast. That is directly renderable
849
+ layout data, from the Legislature rather than from an agency.
850
+ emblem: { present: true, rendered: placeholder }
851
+ note: "One design per authorised programme; the designs themselves are L4 scope (PRD-PLATES §2.5) and none is described here."
852
+ program_index:
853
+ count_official: null
854
+ count_official_note: >-
855
+ NO OFFICIAL TOTAL IS PUBLISHED. Unlike Florida, whose FLHSMV says "over
856
+ 100 different specialty license plates" in its own words, the
857
+ California DMV publishes CATEGORISED LISTS and no count. This is
858
+ recorded as an absence rather than filled with a secondary figure.
859
+ count_enumerated_special_interest: 15
860
+ enumerated_special_interest: ["Arts Council", "Breast Cancer Awareness", "California 1960s Legacy", "California Agriculture (CalAg)", "California Museums (Snoopy)", "Collegiate", "Environmental", "Firefighters", "Have A Heart, Be A Star, Help Our KIDS", "Lake Tahoe Conservancy", "Memorial", "Pet Lovers", "Veterans' Organizations", "Whale Tail (Coastal Protection and Access)", "Yosemite Conservancy"]
861
+ enumerated_special_plates: ["Amateur Radio Call Letters", "Antique Motorcycle", "Bicentennial Bill of Rights", "Citizens Band", "Disabled Person/Veteran", "Exempt", "Foreign Organization", "Historical Vehicles", "Honorary Consul Corps", "Horseless Carriages", "Livery", "Moped", "Olympic Games 1984", "Press Photographer", "Special Equipment"]
862
+ enumerated_recognition_occupational: ["Congressional Medal of Honor", "Gold Star Family", "Ex-Prisoner of War", "Legion of Valor", "Pearl Harbor Survivor", "Purple Heart", "Dealers", "Dismantlers", "Manufacturers", "New Vehicle Distributor", "Remanufacturers", "Transporters", "State Assembly", "State Senate", "U.S. House Representatives", "U.S. Senator", "Apportioned Power Unit"]
863
+ enumeration_basis: "Counted off the DMV's own Special Interest & Special License Plates index page, 2026-08. The three lists above are the DMV's own groupings, not ours. VIRPM Chapter 21 independently carries 56 sub-sections covering these types and is the deeper index."
864
+ official_list_url: "https://www.dmv.ca.gov/portal/vehicle-registration/license-plates-decals-and-placards/license-plates/special-interest-special-license-plates/"
865
+ official_manual_url: "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/"
866
+ program_threshold: "VC § 5060: a sponsoring organization must be tax-exempt under IRC § 501(c)(3) and submit a financial plan plus a plate design; 'No organization may be included in the program until not less than 7,500 applications for the particular special interest license plates are received', collected within 12 months of the enabling legislation, extendable once to 24 months."
867
+ discontinuation_rule: "VC § 5060: if outstanding valid plates fall below 7,500 the department notifies the sponsor, and if the number is still below 7,500 a year later the department 'will no longer issue or replace those special interest license plates'. Plates already issued stay valid, renewable, retainable and transferable. So California, like Florida, accumulates AUTHORISED-BUT-DEAD programmes whose plates remain on the road — the index is a moving target by design."
868
+ registration_counts_url: null
869
+ registration_counts_note: >-
870
+ NO EQUIVALENT OF FLORIDA'S MONTHLY ACTIVE SPECIALTY PLATES REPORT WAS
871
+ FOUND FOR CALIFORNIA. Florida publishes per-programme issuance volumes
872
+ monthly; California publishes none that was located. Recorded as a
873
+ negative result, because the Florida portal was the single most
874
+ valuable structured artefact in the US pass and the natural question is
875
+ whether other states match it. On this evidence, California does not.
876
+ region_encoding: none
877
+ sources:
878
+ - "https://www.dmv.ca.gov/portal/vehicle-registration/license-plates-decals-and-placards/license-plates/special-interest-special-license-plates/ # the DMV's own three-way grouping of special interest, special, and special recognition/occupational/legislative/apportioned plates — the 15+15+17 enumeration above"
879
+ - "https://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?lawCode=VEH&sectionNum=5060 # § 5060: the 501(c)(3) sponsor requirement, the 7,500-application threshold and its 12/24-month window, the 2x3 in design space and 5/8 in message strip for passenger plates, the five-character motorcycle rule, and the below-7,500 discontinuation duty"
880
+ - "https://www.dmv.ca.gov/portal/handbook/vehicle-industry-registration-procedures-manual-2/special-plates/ # VIRPM Chapter 21: 56 sub-sections, the deeper official index"
881
+ notes: >-
882
+ THE CALIFORNIA SPECIALTY PROGRAM INDEX — one entry standing for the whole
883
+ programme, which is what PRD-PLATES §2.5 asks for at this gate. Two
884
+ things to carry forward. First, VC § 5060 is the best specialty-plate
885
+ GEOMETRY source found anywhere in the US wave: a legislature that
886
+ specifies a 2 x 3 inch design space and a 5/8 inch message strip is
887
+ handing the render layer its layout for free, and the same section
888
+ supplies the 7,500-in / 7,500-out lifecycle that makes the index a
889
+ moving target. Second, the absence of a California issuance-volume
890
+ report is itself a finding: Florida's monthly active-plate portal has no
891
+ California counterpart, so the differentiator identified in the L0 pass
892
+ does not generalise and must be re-checked state by state.