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,516 @@
1
+ # plates/us-il.yml — Illinois (PRD-PLATES gate L2, group midwest-a).
2
+ #
3
+ # WHY ILLINOIS IS THE BEST-SOURCED FILE IN THIS GROUP: alone among the five
4
+ # midwest-a states, Illinois legislates the PLATE ITSELF rather than delegating
5
+ # it. 625 ILCS 5/3-412 states the dimensions (6 by 12 inches for first-division
6
+ # vehicles, 4 by 7 for autocycles), the reflectorizing requirement, the
7
+ # 100-foot daylight legibility standard, and — uniquely in this group — the
8
+ # LEGEND, by name: every Illinois plate carries 'Land of Lincoln' because the
9
+ # statute says so, not because a designer chose it. And 625 ILCS 5/3-405.1
10
+ # enumerates the permitted vanity and personalized character combinations
11
+ # exhaustively, which is the closest thing to a published serial grammar any
12
+ # state in this group offers.
13
+ #
14
+ # THREE ILLINOIS FACTS THAT DESERVE TO SURVIVE INTO THE PARSE API:
15
+ # 1. DIGITAL PLATES ARE LAW HERE. 3-412 speaks throughout of 'registration
16
+ # plates OR DIGITAL registration plates' and of 'a digital registration
17
+ # plate and metal plate as set forth in Section 3-401.5'. A jurisdiction
18
+ # where the registration mark may be a SCREEN is a schema question the rest
19
+ # of this dataset has never had to face; it is flagged, not modelled.
20
+ # 2. THE 2017 BASE CHANGED ITS OWN LAYOUT MID-RUN — from AB1 2345 to AB 12345,
21
+ # same seven characters, moved space. That is precisely the case
22
+ # PRD-PLATES §2.6 was written for: a separator-forgiving consumer
23
+ # canonicalizes both to one serial, which is why the dataset commits to
24
+ # which characters are separators.
25
+ # 3. THE SOLIDUS IN COLLECTOR NOTATION IS NOT A SEPARATOR. Illinois plates
26
+ # written 'D/L 1234' or '1234 S/T' by collectors are, on the metal, STACKED
27
+ # CHARACTER PAIRS — and AAMVA Ed.3 is explicit that 'if stacked characters
28
+ # are used, they are part of the official license plate number'. So the
29
+ # honest encoding is the two characters written flat (DL, ST), never a '/',
30
+ # which is in the FORGIVING set but not the EMITTED set and would fail the
31
+ # lint for good reason. This reading is stated as an INTERPRETATION and is
32
+ # the first thing a verifier should check.
33
+ #
34
+ # FETCH-PROVENANCE NOTE: www.ilga.gov (the official Illinois General Assembly
35
+ # host) reset the connection on every attempt, and www.ilsos.gov returned 403 to
36
+ # every request from this environment. Statutory text below was read from
37
+ # codes.findlaw.com, a third-party REPRODUCTION of the same edict; canonical
38
+ # ilga.gov citations are carried alongside and were NOT fetched.
39
+ #
40
+ # NOT HERE, DELIBERATELY: individual specialty DESIGNS (L4 per PRD-PLATES §2.5)
41
+ # and the vanity/personalized series, which sit outside the L2 core-class list —
42
+ # the statutory vanity grammar is recorded instead as evidence inside the
43
+ # standard series' charset notes, where it does real work.
44
+ jurisdiction: us-il
45
+ authority:
46
+ name: Illinois Secretary of State, Vehicle Services Department
47
+ url: "https://www.ilsos.gov/departments/vehicles/home.html"
48
+ binding: vehicle
49
+ statute_edition: "Illinois Compiled Statutes, Chapter 625 Act 5 (Illinois Vehicle Code), Article IV of Chapter 3, as reproduced by codes.findlaw.com and read 2026-08-02. FindLaw warns its text 'may not reflect the most recent version of the law'; currency is UNVERIFIED."
50
+
51
+ # ---------------------------------------------------------------------------
52
+ # artwork_risk — required per jurisdiction by PRD-PLATES §4.
53
+ # ---------------------------------------------------------------------------
54
+ artwork_risk:
55
+ posture: unresearched-default-adverse
56
+ basis: >-
57
+ No favourable Illinois authority was located. The governing default is that
58
+ 17 U.S.C. §105 does not extend to the states, so a state work is copyrighted
59
+ unless the state says otherwise. Two surveys were checked for an Illinois
60
+ carve-out and both are silent: the Wikipedia survey of subnational copyright
61
+ status covers seventeen states and Illinois is NOT among them, and Commons'
62
+ copyright-rules-by-territory page for the United States enumerates the state
63
+ PD tags that exist (CA, FL, GA, MA, ME, plus narrow agency tags for MN, OK,
64
+ WA and one Alabama municipality) — there is no {{PD-ILGov}}. No Illinois
65
+ statute, AG opinion or case establishing public-domain status for state works
66
+ was found. TREAT THE ARTWORK AS COPYRIGHTED.
67
+ A NOTE ON WHAT IS SAFE ANYWAY: because Illinois puts its plate spec in
68
+ STATUTE, the dimensions, the reflectorizing requirement, the 100-foot
69
+ legibility standard and the 'Land of Lincoln' legend are all EDICTS OF
70
+ GOVERNMENT, which are public domain at every level. The adverse posture bites
71
+ on the Lincoln portrait and skyline artwork, not on the spec — which is
72
+ exactly the split PRD-PLATES §4 predicts and the reason it prefers statutes
73
+ over brochures.
74
+ emblem_rule: >-
75
+ PRD-PLATES §3's placeholder default applies. The current base carries a grey
76
+ Abraham Lincoln portrait graphic and a Chicago/Springfield skyline — pictorial
77
+ artwork in a state with no PD posture, i.e. the highest-risk category. Render
78
+ `emblem: {present: true, rendered: placeholder}`; do not approximate the
79
+ portrait. State-seal protection is independent of copyright and is
80
+ unresearched for Illinois.
81
+ photograph_caution: >-
82
+ Standing rule: a CC tag on a Commons photograph of an Illinois plate is the
83
+ PHOTOGRAPHER's licence on the PHOTOGRAPH. Our renders are generated from this
84
+ file and never derived from a photograph, so those obligations never attach.
85
+ sources:
86
+ - "https://en.wikipedia.org/wiki/Copyright_status_of_works_by_subnational_governments_of_the_United_States # LOCATOR + NEGATIVE FINDING: Illinois is not among the states covered"
87
+ - "https://commons.wikimedia.org/wiki/Commons:Copyright_rules_by_territory/United_States # the §105-does-not-reach-the-states rule and the complete state PD-tag list — no Illinois tag"
88
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-412.html # FETCHED. The plate SPEC is statutory and therefore a PD edict regardless of the artwork posture"
89
+
90
+ us_standards:
91
+ no_federal_mandate: true
92
+ chain: "SAE J686 -> AAMVA License Plate Standard Edition 3 (September 2025) -> voluntary state adoption. Recommendations in the declarative present; read as RECOMMENDED PRACTICE."
93
+ aamva_edition_3:
94
+ dimensions_delegated: "AAMVA §3.1 sends dimensions and bolt holes to SAE J686, whose text is paywalled and was NOT obtained. ILLINOIS DOES NOT NEED IT: 625 ILCS 5/3-412(c) states 6 by 12 inches in statute, so the Illinois dimension in this file is sourced to an edict and not to the standards chain at all."
95
+ 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"
96
+ jurisdiction_name_layout: "AAMVA §2.1: jurisdiction name top centre between the bolt holes, at least 0.25 in above the plate number, 0.125 in from the top edge; characters 0.75-1.0 in"
97
+ stacked_characters: "AAMVA: 'If stacked characters are used, they are part of the official license plate number. No more than two characters are to be stacked.' LOAD-BEARING HERE — it is the basis for reading collector notation 'D/L' and 'S/T' as stacked pairs DL and ST rather than as separated tokens."
98
+ retroreflectivity: "AAMVA §3.3: readable in daylight and at night from at least 75 feet. Illinois legislates a STRICTER daylight standard — 100 feet, 625 ILCS 5/3-412(c) — which is a nice worked example of a state adopting above the recommendation."
99
+ replacement_cycle: "AAMVA §1.1 recommends 7-10 years. Illinois runs a MANDATORY TEN-YEAR replating phased in with the 2017 base and scheduled to end in 2026 (secondary), i.e. at the top of AAMVA's range, matching Florida."
100
+ source: "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf"
101
+ folklore_caution: >-
102
+ The "1956 AMA standardization agreement" is UNCITED in its Wikipedia source
103
+ (citation-needed since 2017, copied across articles — circular) and is NOT
104
+ relied on. Illinois needs no folklore: its 6x12 inch dimension is stated in
105
+ 625 ILCS 5/3-412(c), in law, and that is what this file cites.
106
+
107
+ digital_plates:
108
+ status: authorised-by-statute
109
+ note: >-
110
+ 625 ILCS 5/3-412 refers throughout to 'registration plates OR DIGITAL
111
+ registration plates' and to the issuance of 'a digital registration plate and
112
+ metal plate as set forth in Section 3-401.5'. Illinois therefore contemplates
113
+ a registration mark that is a SCREEN, in law, today. This dataset does not
114
+ model it: every field here describes the physical plate. It is flagged
115
+ because a display device breaks assumptions the schema quietly makes —
116
+ a fixed background colour, a static serial, a manufacture date, even the
117
+ idea that the plate has one appearance. If digital plates spread, the schema
118
+ needs a `medium:` discriminator, and Illinois is where that pressure will
119
+ first show up.
120
+ source: "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-412.html # FETCHED. 3-412(a): 'one registration plate or digital registration plate for a motorcycle, trailer, semitrailer, moped, autocycle, or truck-tractor, 2 registration plates, or a digital registration plate and metal plate as set forth in Section 3-401.5, for other motor vehicles'"
121
+
122
+ display_rules:
123
+ default: "TWO PLATES, FRONT AND REAR, for ordinary motor vehicles — Illinois is a front-plate state, unlike every other state in this group. 625 ILCS 5/3-413 requires 'one in the frontmost and one in the rearmost' position."
124
+ one_plate_classes: "625 ILCS 5/3-412(a): ONE plate for a motorcycle, trailer, semitrailer, moped, autocycle, or TRUCK-TRACTOR. 3-413 confirms motorcycles and trailers display at the rear only."
125
+ mounting: "625 ILCS 5/3-413: plates 'securely fastened in a horizontal position' at 'a height of not less than 5 inches from the ground, measuring from the bottom of such plate', 'clearly visible and shall be maintained in a condition to be clearly legible, free from any materials that would obstruct the visibility'. Note the FIVE-inch minimum — lower than Michigan's and Indiana's twelve, so a mounting-height rule cannot be treated as a US constant."
126
+ concealment: "625 ILCS 5/3-413 makes it an offence to modify 'the original manufacturer's mounting location of the rear registration plate' so as 'to conceal the registration or to knowingly cause it to be obstructed' in order to hinder a peace officer — a CLASS A MISDEMEANOR, i.e. criminal, where the ordinary display violation is not."
127
+ legibility: "625 ILCS 5/3-412(c): each plate and its letters and numerals 'shall be of sufficient size to be plainly readable from a distance of 100 feet during daylight, and shall be coated with reflectorizing material'"
128
+ sources:
129
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-413.html # FETCHED. 625 ILCS 5/3-413: frontmost and rearmost display, rear-only for motorcycles and trailers, horizontal fastening, the 5-inch minimum height, visibility and legibility, and the Class A misdemeanor concealment offence"
130
+ - "https://www.ilga.gov/legislation/ilcs/fulltext.asp?DocName=062500050K3-413 # CANONICAL citation for the same edict — NOT fetched (host reset the connection)"
131
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-412.html # FETCHED. 625 ILCS 5/3-412(a) one-plate classes; (c) the 100-foot legibility and reflectorizing requirements"
132
+
133
+ series:
134
+
135
+ - id: us-il-standard-2017
136
+ class: standard
137
+ categories: [car, van, truck, bus]
138
+ period: { start: 2017 }
139
+ period_evidence: secondary-first-issue
140
+ matching: strict
141
+ format:
142
+ pattern: "LL 99999"
143
+ regex: '\A[A-Z]{2} ?\d{5}\z'
144
+ evidence: secondary
145
+ charset:
146
+ notes: >-
147
+ TWO LETTERS THEN FIVE NUMERALS, seven characters in all. No Illinois
148
+ statute states the ordinary serial arrangement — 625 ILCS 5/3-412(b)
149
+ requires only that the plate display 'the registration number assigned
150
+ to the vehicle for which it is issued, the name of this State, which
151
+ may be abbreviated, the year number for which it was issued, which may
152
+ be abbreviated, the phrase "Land of Lincoln"'. What the statute DOES
153
+ bound is the OWNER-CHOSEN space: 625 ILCS 5/3-405.1 defines a vanity
154
+ plate as displaying '1 to 7 letters and no numbers or 1, 2, or 3
155
+ numbers and no letters', and enumerates personalized combinations for
156
+ first-division vehicles as 1 through 5 letters plus 0-99, or 6 letters
157
+ plus 0-9. Seven positions is therefore the plate's statutory CAPACITY,
158
+ evidenced from the vanity side, and the ordinary series fills it
159
+ exactly. That is evidence, not a grammar, so no `regex_statutory` is
160
+ recorded — the vanity rule does not bound department-assigned serials.
161
+ layout_change_note: >-
162
+ THE SEPARATOR CASE, and the reason PRD-PLATES §2.6 exists. Within the
163
+ first year of this base the printed layout moved from AB1 2345 to
164
+ AB 12345 — the SAME SEVEN CHARACTERS, with the space relocated from
165
+ after the first digit to after the letters. A separator-forgiving
166
+ consumer canonicalizes both to AB12345 and is right to; a naive
167
+ fixed-position parser sees two different formats and is wrong. The
168
+ `regex` here spells the CURRENT printed form with an optional space, so
169
+ it accepts AB 12345 and AB12345 but not the retired AB1 2345 grouping —
170
+ which is correct, because that grouping is not what the series prints
171
+ now, and a consumer needing both should derive the separator-free twin
172
+ per §2.6 rule 2 rather than widen this regex.
173
+ progression: "observed AA1 1001 to AF9 9999 at introduction, and EN 76001 to GC 32739 as of 2026-03-18 (secondary)"
174
+ manufacture_note: "new serial dies and UV-printer screening rather than painting, reported from August 2023 (secondary) — a manufacturing change inside a base, with no format consequence"
175
+ design:
176
+ plate: { w: 12, h: 6, unit: in, w_mm: 304.8, h_mm: 152.4 }
177
+ plate_dimension_note: "625 ILCS 5/3-412(c), verbatim: 'The dimensions of the plate issued to vehicles of the first division shall be 6 by 12 inches.' A STATUTORY dimension — rare in this group, and the reason no AAMVA/SAE inference is needed for Illinois."
178
+ material: "'coated with reflectorizing material' (625 ILCS 5/3-412(c))"
179
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
180
+ colour_note: >-
181
+ Reflective gradient blue-to-white fade with a dark blue serial. NO
182
+ GRADIENT OR SERIAL HEX IS RECORDED: the statute prescribes no colour at
183
+ all, the Secretary of State's site was unreachable, and a hex sampled
184
+ from a photograph would be a fabricated fact. The white background hex
185
+ is the pale end of the fade and is marked observed.
186
+ legend_top: "ILLINOIS"
187
+ legend_slogan: "Land of Lincoln"
188
+ legend_rule: "STATUTORY. 625 ILCS 5/3-412(b) requires the plate to display 'the registration number assigned to the vehicle for which it is issued, the name of this State, which may be abbreviated, the year number for which it was issued, which may be abbreviated, the phrase \"Land of Lincoln\"'. Illinois is the only state in this group whose SLOGAN is legislated rather than chosen."
189
+ graphic: { present: true, rendered: placeholder, description: "grey Abraham Lincoln portrait at far left and a white Chicago/Springfield skyline; secondary observation only" }
190
+ emblem: { present: true, rendered: placeholder }
191
+ replacement_cycle:
192
+ years: 10
193
+ evidence: secondary
194
+ statutory_frame: "625 ILCS 5/3-414.1: 'Registration plates issued for motor vehicles shall be valid for an indefinite term of not less than one year', with discretion in the Secretary of State to issue 2-year or 5-year multi-year plates. The statute sets no replacement cycle; the ten-year programme is administrative."
195
+ note: "a mandatory ten-year replating was phased in with this base and is reported scheduled to end in 2026 (secondary). Illinois therefore sits at the TOP of AAMVA's 7-10 recommendation, with Florida, against Indiana's reported 7."
196
+ region_encoding: "none. Illinois encodes no geography in the plate string and prints no county legend; the plate is uniform statewide."
197
+ sources:
198
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-412.html # FETCHED. 625 ILCS 5/3-412: (a) plate counts per class and the digital-plate alternative; (b) the mandated plate contents including 'Land of Lincoln'; (c) 100-foot legibility, reflectorizing material, and the 6 by 12 inch first-division dimension; (m) the 4 by 7 inch autocycle plate"
199
+ - "https://www.ilga.gov/legislation/ilcs/fulltext.asp?DocName=062500050K3-412 # CANONICAL, not fetched (connection reset)"
200
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-405-1.html # FETCHED. 625 ILCS 5/3-405.1: the vanity definition ('1 to 7 letters and no numbers or 1, 2, or 3 numbers and no letters'), the enumerated personalized combinations, and the ban on characters, symbols, foreign words and punctuation"
201
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-414-1.html # FETCHED. 625 ILCS 5/3-414.1: plates valid for an indefinite term of not less than one year; discretionary 2-year and 5-year multi-year plates"
202
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Illinois # LOCATOR ONLY: the 2017 base, the AB1 2345 -> AB 12345 layout change, serial ranges AA1 1001-AF9 9999 and EN 76001-GC 32739 (2026-03-18), the August 2023 die/UV change, and the ten-year replating ending 2026"
203
+ notes: >-
204
+ ILLINOIS STANDARD ISSUE, CURRENT BASE. The best-specified standard series
205
+ in midwest-a, and the only one whose DIMENSION, LEGEND, REFLECTORIZATION
206
+ and LEGIBILITY are all statute-grade. What is NOT statute-grade is the one
207
+ thing consumers most want — the serial arrangement — so `period_evidence`
208
+ and `format.evidence` both read secondary and a verifier must re-derive
209
+ them. The layout-change note is the entry's most reusable content: Illinois
210
+ is the worked example of why a plates dataset must commit to a separator
211
+ contract instead of treating printed grouping as identity.
212
+
213
+ - id: us-il-standard-2001
214
+ class: standard
215
+ categories: [car, van, truck, bus]
216
+ period: { start: 2001, end: 2017 }
217
+ period_evidence: secondary-first-issue
218
+ matching: strict
219
+ format:
220
+ pattern: "999 9999"
221
+ regex: '\A\d{3} ?\d{4}\z'
222
+ evidence: secondary
223
+ charset:
224
+ notes: >-
225
+ ALL-NUMERIC seven positions in the principal arrangement (123 4567),
226
+ with ABC 123 and A12 3456 also reported on the same base. The
227
+ all-numeric primary is the point of interest: it means an Illinois
228
+ plate of this era carries NO LETTERS AT ALL, so a validator that
229
+ assumes every US plate mixes letters and digits rejects sixteen years
230
+ of Illinois issuance. The parallel arrangements are recorded in this
231
+ note rather than as sibling series because no primary establishes their
232
+ periods or their share.
233
+ progression: "observed 100 0001 to 999 9999 (secondary)"
234
+ design:
235
+ plate: { w: 12, h: 6, unit: in }
236
+ plate_dimension_note: "the same statutory 6 by 12 inches (625 ILCS 5/3-412(c)) — the dimension is a property of Illinois law, not of the base"
237
+ background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
238
+ colour_note: "reflective gradient white-to-blue fade with a blue serial; no gradient or serial hex recorded"
239
+ legend_top: "ILLINOIS"
240
+ legend_slogan: "Land of Lincoln"
241
+ graphic: { present: true, rendered: placeholder, description: "Abraham Lincoln graphic, centred; secondary only" }
242
+ emblem: { present: true, rendered: placeholder }
243
+ region_encoding: none
244
+ sources:
245
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Illinois # LOCATOR ONLY: the 2001-2016 base, its white-to-blue fade and centred Lincoln graphic, the 123 4567 primary format with ABC 123 and A12 3456 alongside, range 100 0001 to 999 9999"
246
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-412.html # FETCHED. The same statutory frame — dimensions, reflectorizing, 100-foot legibility and the 'Land of Lincoln' legend — governed this base"
247
+ notes: >-
248
+ ONE SERIES BACK (2001-2016 Lincoln base). Unlike Ohio and Indiana, where
249
+ consecutive bases share a grammar, ILLINOIS CHANGED FORMAT AT THE BASE
250
+ BOUNDARY — all-numeric 123 4567 gave way to LL 99999. That makes the
251
+ Illinois regex genuinely era-discriminating, and it is the one place in
252
+ this group where a serial shape alone dates a plate to a base. Worth
253
+ knowing before a parse API generalises the opposite lesson from Ohio.
254
+
255
+ - id: us-il-motorcycle
256
+ class: motorcycle
257
+ categories: [motorcycle]
258
+ period: { start: 2026 }
259
+ period_evidence: instrument-in-force-upper-bound
260
+ matching: strict
261
+ format:
262
+ pattern: "LL 9999"
263
+ regex: '\A[A-Z]{2} ?\d{4}\z'
264
+ evidence: secondary
265
+ charset:
266
+ notes: >-
267
+ Two letters then four numerals. I, O and Q are reported unused —
268
+ the classic lookalike exclusion, and the same three letters 33 CFR
269
+ 174.23 excludes from US vessel numbers for exactly this reason. The
270
+ exclusion is SECONDARY and is deliberately NOT encoded as a
271
+ `regex_strict`: a strict twin asserts the authority's own alphabet, and
272
+ a collector table is not the authority. Recorded as a note so a
273
+ verifier can promote it.
274
+ progression: "observed AA 101 to GE 2085 as of 2025-04-26 (secondary)"
275
+ design:
276
+ background: { finish: retroreflective }
277
+ emblem: { present: true, rendered: placeholder }
278
+ size_note: "reduced motorcycle size; the statute states dimensions only for first-division vehicles (6x12) and autocycles (4x7), so the motorcycle size is a recorded gap"
279
+ display: "ONE plate, rear — 625 ILCS 5/3-412(a) issues a single plate for a motorcycle and 3-413 places it at the rear"
280
+ region_encoding: none
281
+ sources:
282
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-412.html # FETCHED. 3-412(a): one plate for a motorcycle; (m) the 4 by 7 inch autocycle dimension, which shows the legislature sizing small plates when it chooses to"
283
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-413.html # FETCHED. 3-413: motorcycles display at the rear only"
284
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Illinois # LOCATOR ONLY: motorcycle format AB 1234, range AA 101 to GE 2085 (2025-04-26), I/O/Q not used"
285
+ notes: >-
286
+ MOTORCYCLE. Its own series because format, size and plate COUNT all differ
287
+ from the standard plate — Illinois issues two plates for a car and one for
288
+ a motorcycle, in statute. `period.start` is an instrument-in-force upper
289
+ bound; no source dated this series.
290
+
291
+ - id: us-il-trailer-semi
292
+ class: trailer
293
+ categories: [trailer]
294
+ period: { start: 1999 }
295
+ period_evidence: secondary-first-issue
296
+ matching: strict
297
+ format:
298
+ pattern: "9999 ST"
299
+ regex: '\A\d{1,7} ?ST\z'
300
+ evidence: secondary-interpreted
301
+ charset:
302
+ notes: >-
303
+ THE STACKED-PAIR READING, stated openly because it is an
304
+ interpretation. Collector sources write this serial '1234 S/T'. The
305
+ solidus is not printed on the plate and is not a separator in this
306
+ dataset's contract (it sits in the FORGIVING set but not the EMITTED
307
+ set, so the lint would reject it, correctly). Read with AAMVA Ed.3 —
308
+ 'If stacked characters are used, they are part of the official license
309
+ plate number. No more than two characters are to be stacked.' — the
310
+ notation denotes an S OVER A T, one stacked pair, and the pair is part
311
+ of the serial. It is therefore written flat as ST. A verifier should
312
+ confirm the stacking against an Illinois source before this reading
313
+ propagates to the other four states where the same notation appears.
314
+ The digit group is VARIABLE-LENGTH (observed 1 S/T through 1032416 S/T),
315
+ hence the quantifier rather than a fixed width.
316
+ progression: "observed 1 S/T to 1032416 S/T (secondary)"
317
+ design:
318
+ background: { finish: retroreflective }
319
+ emblem: { present: true, rendered: placeholder }
320
+ stacked_characters: { present: true, pair: "ST", note: "rendered as a two-character stack per AAMVA's two-character limit; interpreted, not sourced from Illinois" }
321
+ validity: "PERMANENT semitrailer registration since 1999 (secondary) — a plate with no expiry is a real modelling case: `period.end` stays open and the VEHICLE, not the year, ends the plate's life"
322
+ display: "ONE plate, rear — 625 ILCS 5/3-412(a) issues a single plate for a trailer or semitrailer and 3-413 places it at the rear"
323
+ region_encoding: none
324
+ sources:
325
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-412.html # FETCHED. 3-412(a): one plate for a trailer or semitrailer"
326
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-413.html # FETCHED. 3-413: trailers display at the rear only"
327
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Illinois # LOCATOR ONLY: semi-trailer format 1234 S/T, range 1 S/T to 1032416 S/T, permanent since 1999"
328
+ - "https://www.aamva.org/getmedia/646bcc8a-219b-47d8-b5cd-726240473163/License-Plate-Standard-Edition-3_September-2025-Update.pdf # the stacked-character rule the ST reading rests on"
329
+ notes: >-
330
+ SEMI-TRAILER. Carried as the trailer-class series for Illinois, and it is
331
+ the file's clearest schema contribution: it is where the SOLIDUS PROBLEM is
332
+ resolved. Collector notation across at least four states in this group
333
+ (IL, WI) writes stacked pairs with a slash; the dataset writes them flat and
334
+ says why. If the verifier rejects the stacked reading, the correct fix is
335
+ to delete the ST token, NOT to emit a slash — §2.6 rule 3 makes a
336
+ serial-internal glyph a schema amendment, not a data entry.
337
+
338
+ - id: us-il-dealer
339
+ class: dealer
340
+ categories: [car, van, truck, bus, motorcycle, trailer]
341
+ period: { start: 2026 }
342
+ period_evidence: instrument-in-force-upper-bound
343
+ matching: strict
344
+ format:
345
+ pattern: "99999"
346
+ regex: '\A\d{1,7}\z'
347
+ evidence: secondary-interpreted
348
+ charset:
349
+ notes: >-
350
+ A LIMITATION OF THE PATTERN DSL IS VISIBLE HERE AND IS WORTH STATING
351
+ PLAINLY, because this series is the first in the dataset to hit it.
352
+ The Illinois dealer plate prints a stacked D-over-L pair (collector
353
+ notation 'D/L') ahead of a variable-length numeric group, and under
354
+ AAMVA Ed.3 that stacked pair IS part of the official plate number. The
355
+ honest `pattern` would therefore be "DL 99999" — but PRD-PLATES §2.2's
356
+ human-pattern DSL reserves `L` for "any letter" and `9` for "any
357
+ digit" and provides NO ESCAPE for a literal L or a literal 9, so that
358
+ string cannot be written: the lint correctly generates "DF 23681" from
359
+ it and correctly fails the round trip. Rather than corrupt the regex to
360
+ accept D-plus-any-letter (which would claim plates Illinois does not
361
+ issue), the serial modelled here is the NUMERIC GROUP ONLY, and the DL
362
+ pair is recorded in `design.stacked_characters` where it can be
363
+ rendered without being asserted as a matchable prefix. The DSL escape
364
+ is a schema-amendment candidate; it is raised in the group dossier.
365
+ The digit group is reported variable in length and to identify the
366
+ dealership's location, which — if true — makes this the ONE ILLINOIS
367
+ PLATE WITH A GEOGRAPHIC SIGNAL IN THE SERIAL. No decode table was
368
+ obtained and none is asserted; it is recorded as a lead for a later
369
+ `_decode` file.
370
+ design:
371
+ background: { finish: retroreflective }
372
+ emblem: { present: true, rendered: placeholder }
373
+ stacked_characters: { present: true, pair: "DL", position: prefix, note: "interpreted per AAMVA as a stacked pair; unconfirmed against an Illinois source, and deliberately NOT carried in format.regex — see the charset note on the DSL escape problem" }
374
+ binding: business
375
+ validity: "issued ANNUALLY (secondary) — unlike the permanent semi-trailer plate, so the dealer plate is the short-cycle end of Illinois issuance"
376
+ region_encoding: "SUSPECTED, NOT SOURCED: the numeric group is reported to identify the dealership's location. Recorded as a lead. A parse API must not decode it until a table exists."
377
+ sources:
378
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Illinois # LOCATOR ONLY, and the sole source for this format: dealer plates with a D/L prefix and variable digits, issued annually, identifying the dealership location"
379
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-412.html # FETCHED. The general issuance frame; it carries no dealer grammar"
380
+ notes: >-
381
+ DEALER PLATES. `binding: business` — the plate follows the dealership, not
382
+ a vehicle. Everything except the binding is secondary, and the suspected
383
+ geographic encoding is the most interesting unverified claim in this file.
384
+
385
+ - id: us-il-temporary
386
+ class: temporary
387
+ categories: [car, van, truck, bus, motorcycle, trailer]
388
+ period: { start: 2020 }
389
+ period_evidence: secondary-first-issue
390
+ matching: strict
391
+ format:
392
+ pattern: "999 LL 999"
393
+ regex: '\A\d{3} ?[A-Z]{2} ?\d{3}\z'
394
+ evidence: secondary
395
+ charset:
396
+ notes: >-
397
+ Three numerals, two letters, three numerals — eight characters, longer
398
+ than any Illinois metal plate, which is itself a useful discriminator.
399
+ The series has churned: 123 4567 from 2001, 123 A 456 from spring 2003,
400
+ and 123 AA 456 from late 2020 (all secondary). The current shape is
401
+ recorded; the predecessors are noted rather than given series, because
402
+ no primary dates them.
403
+ design:
404
+ material: "paper temporary registration permit"
405
+ background: { finish: none }
406
+ emblem: { present: false }
407
+ statutory_frame: "625 ILCS 5/3-407 gives the Secretary of State discretion over the 'design, color and format' of temporary permits and states no character grammar — the opposite of Ohio, whose ORC 4503.182 legislates seven positions exactly."
408
+ region_encoding: none
409
+ sources:
410
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-407.html # FETCHED. 625 ILCS 5/3-407: temporary permits issued in the Secretary of State's discretion, with 'design, color and format' left to that discretion; no character grammar"
411
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Illinois # LOCATOR ONLY: temporary formats 123 4567 (2001), 123 A 456 (spring 2003), 123 AA 456 (late 2020 to present)"
412
+ notes: >-
413
+ TEMPORARY REGISTRATION PERMIT. The pairing with Ohio is the lesson worth
414
+ keeping: two neighbouring states, one legislating the temporary tag's
415
+ character count to the digit and the other delegating even the colour. A
416
+ dataset that models temporary plates as a single US concept will be wrong
417
+ about both.
418
+
419
+ - id: us-il-government
420
+ class: government
421
+ categories: [car, van, truck, bus]
422
+ period: { start: 2026 }
423
+ period_evidence: instrument-in-force-upper-bound
424
+ matching: recall-only
425
+ format:
426
+ pattern: "MP 99999"
427
+ regex: '\A(?:MP|FV|W) ?\d{1,6}\z'
428
+ evidence: secondary-interpreted
429
+ charset:
430
+ notes: >-
431
+ DELIBERATELY A UNION, hence `matching: recall-only`. Illinois issues
432
+ several distinct public-fleet series that were reported only as
433
+ prefixes and never as complete grammars: M/P for municipal police, F/V
434
+ for fire vehicles, and a reserved W designation for state-owned
435
+ vehicles. The two-letter prefixes are written flat as stacked pairs on
436
+ the AAMVA reading used throughout this file. A match against this regex
437
+ says 'this string has the SHAPE of an Illinois public-fleet plate' and
438
+ nothing more — it is not a validity claim for any one of the three
439
+ series, and per PRD-PLATES §2.7 a `regex_strict` here would be a
440
+ contradiction and is absent.
441
+ design:
442
+ background: { finish: retroreflective }
443
+ emblem: { present: true, rendered: placeholder }
444
+ stacked_characters: { present: true, note: "MP and FV interpreted as stacked pairs per AAMVA; unconfirmed" }
445
+ binding: vehicle
446
+ binding_note: "the plate binds to an agency-owned VEHICLE, not to the agency as such — unlike a dealer plate, which is why `binding: business` is wrong here"
447
+ region_encoding: "none established; a municipal-police plate identifies a municipality by ISSUANCE, not by any decoded field of the serial"
448
+ sources:
449
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Illinois # LOCATOR ONLY, and the sole source: Municipal Police M/P prefix, Fire Department F/V prefix, State Owned reserved W designation"
450
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-412.html # FETCHED. The general issuance frame under which distinctive plates for particular vehicle classes are issued"
451
+ notes: >-
452
+ GOVERNMENT / PUBLIC-FLEET PLATES, modelled as ONE recall-only union rather
453
+ than as three thinly-sourced strict series. This is the honest use of
454
+ `recall-only` outside the Netherlands' export case: the regex is
455
+ deliberately wider than any single grammar the Secretary of State issues,
456
+ because the grammars themselves were not obtained. Splitting it into three
457
+ strict series would look better and claim more than the evidence supports.
458
+
459
+ - id: us-il-specialty-index
460
+ class: specialty
461
+ categories: [car, van, truck, motorcycle]
462
+ period: { start: 2026 }
463
+ period_evidence: instrument-in-force-upper-bound
464
+ matching: strict
465
+ format:
466
+ pattern: "LL 99999"
467
+ regex: '\A[A-Z]{2} ?\d{5}\z'
468
+ evidence: secondary
469
+ charset: { notes: "special plates carry ordinary serials on an alternative design; 625 ILCS 5/3-405.1's ban on 'characters, symbols... foreign words, or letters of punctuation' applies to the owner-chosen space and is the only statutory alphabet rule in Illinois plate law" }
470
+ design:
471
+ background: { finish: retroreflective }
472
+ note: "one design per approved special plate; the designs themselves are L4 scope (PRD-PLATES §2.5) and none is described here"
473
+ emblem: { present: true, rendered: placeholder }
474
+ program_index:
475
+ count_official: null
476
+ count_status: RECORDED-GAP
477
+ count_note: >-
478
+ No count was obtained: www.ilsos.gov returned 403 to every request from
479
+ this environment, and the secondary source gives only 'a large variety of
480
+ specialty plates to include plates for colleges, professional sports
481
+ teams, law enforcement, hunting (sporting), medical research, and many
482
+ other causes' — a count-free sentence. Recorded as `null` with the cause
483
+ stated.
484
+ official_list_url: "https://www.ilsos.gov/departments/vehicles/license_plate_guide/home.html"
485
+ official_list_fetch_status: "BLOCKED — HTTP 403 on every attempt, 2026-08-02"
486
+ statutory_basis: >-
487
+ 625 ILCS 5/3-600 is the generic authorisation, and it carries the two
488
+ numbers that matter more than any catalogue count because they are
489
+ STATUTORY and they govern the programme's shape: a special plate series
490
+ may not issue until 'applications, as prescribed by the Secretary, have
491
+ been received for 2,000 plates of that series'; military-service and
492
+ military-medal plates are EXEMPT from that threshold and 'the Secretary
493
+ may immediately begin issuing that special plate'; and where fewer than
494
+ 1,000 sets remain actively registered for two consecutive years the
495
+ Secretary may discontinue the plate or require conversion to a Universal
496
+ special plate with decals.
497
+ churn_note: >-
498
+ The 1,000-set discontinuation rule means the Illinois catalogue is a
499
+ MOVING TARGET with authorised-but-dying programmes in it, and the
500
+ 'Universal special plate with decals' conversion is a genuinely unusual
501
+ endgame: a retired design does not vanish, it becomes a decal on a
502
+ generic plate. Any future L4 specialty-design pass must model that
503
+ conversion or it will double-count.
504
+ region_encoding: none
505
+ sources:
506
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-600.html # FETCHED. 625 ILCS 5/3-600: the 2,000-application threshold, the military exemption from it, and the 1,000-set / two-consecutive-year discontinuation and Universal-plate conversion"
507
+ - "https://codes.findlaw.com/il/chapter-625-vehicles/il-st-sect-625-5-3-405-1.html # FETCHED. 625 ILCS 5/3-405.1: 'No vanity nor personalized license plates shall be approved, manufactured, or distributed that contain any characters, symbols other than the international accessibility symbol for vehicles operated by or for persons with disabilities, foreign words, or letters of punctuation.'"
508
+ - "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Illinois # LOCATOR ONLY: the categories of Illinois specialty plates, with no count given"
509
+ notes: >-
510
+ THE ILLINOIS SPECIALTY PROGRAM INDEX — one entry for the whole programme per
511
+ PRD-PLATES §2.5. The catalogue count is a declared gap, but Illinois gives
512
+ something better and more durable than a count: the programme's CREATION and
513
+ DEATH thresholds, in statute. 2,000 applications to be born, fewer than
514
+ 1,000 live sets over two years to be killed. Those numbers will still be
515
+ true when today's catalogue is stale, and they are the reason this index is
516
+ worth more than a scraped list would have been.