vehicles 0.9.0 → 0.9.2

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