vehicles 0.9.0 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +57 -7
- data/README.md +353 -69
- data/data/PROVENANCE-vehicles.md +2 -2
- data/data/plates/PROVENANCE.md +2 -2
- data/data/plates/_decode/at-districts.yml +2 -2
- data/data/plates/_decode/cn-issuing-offices.yml +2 -2
- data/data/plates/_decode/cn-provinces.yml +2 -2
- data/data/plates/_decode/cz-kraj.yml +1 -1
- data/data/plates/_decode/dk-serial-blocks.yml +1 -1
- data/data/plates/_decode/es-provinces.yml +1 -1
- data/data/plates/_decode/fr-departements.yml +2 -2
- data/data/plates/_decode/gb-age-identifiers.yml +1 -1
- data/data/plates/_decode/gb-memory-tags.yml +1 -1
- data/data/plates/_decode/gr-prefectures.yml +1 -1
- data/data/plates/_decode/hr-cities.yml +3 -3
- data/data/plates/_decode/ie-counties.yml +3 -3
- data/data/plates/_decode/in-state-codes.yml +2 -2
- data/data/plates/_decode/it-provinces.yml +3 -3
- data/data/plates/_decode/jp-office-marks.yml +2 -2
- data/data/plates/_decode/jp-use-marks.yml +2 -2
- data/data/plates/_decode/kr-authority-marks.yml +1 -1
- data/data/plates/_decode/mx-entity-series.yml +1 -1
- data/data/plates/_decode/my-index-marks.yml +4 -4
- data/data/plates/_decode/pt-trailer-services.yml +1 -1
- data/data/plates/_decode/ro-counties.yml +1 -1
- data/data/plates/_decode/se-diplomatic.yml +1 -1
- data/data/plates/_decode/si-regions.yml +1 -1
- data/data/plates/_decode/ua-regions.yml +1 -1
- data/data/plates/_meta/classes.yml +1 -1
- data/data/plates/_meta/separators.yml +1 -1
- data/data/plates/ad.yml +555 -52
- data/data/plates/ar.yml +8 -8
- data/data/plates/at.yml +91 -10
- data/data/plates/au-act.yml +13 -13
- data/data/plates/au-nsw.yml +9 -9
- data/data/plates/au-nt.yml +13 -14
- data/data/plates/au-qld.yml +7 -7
- data/data/plates/au-sa.yml +7 -7
- data/data/plates/au-tas.yml +10 -10
- data/data/plates/au-vic.yml +6 -6
- data/data/plates/au-wa.yml +8 -8
- data/data/plates/be.yml +11 -11
- data/data/plates/br.yml +14 -14
- data/data/plates/ca-ab.yml +10 -10
- data/data/plates/ca-bc.yml +6 -6
- data/data/plates/ca-mb.yml +4 -4
- data/data/plates/ca-nb.yml +9 -9
- data/data/plates/ca-nl.yml +11 -11
- data/data/plates/ca-ns.yml +12 -12
- data/data/plates/ca-nt.yml +7 -7
- data/data/plates/ca-nu.yml +7 -7
- data/data/plates/ca-on.yml +21 -21
- data/data/plates/ca-pe.yml +13 -13
- data/data/plates/ca-qc.yml +11 -11
- data/data/plates/ca-sk.yml +6 -6
- data/data/plates/ca-yt.yml +6 -6
- data/data/plates/ch.yml +14 -14
- data/data/plates/cn.yml +9 -9
- data/data/plates/cy.yml +6 -6
- data/data/plates/cz.yml +9 -9
- data/data/plates/de.yml +8 -8
- data/data/plates/dk.yml +12 -12
- data/data/plates/ee.yml +13 -13
- data/data/plates/eg.yml +708 -0
- data/data/plates/es.yml +8 -8
- data/data/plates/fi.yml +14 -14
- data/data/plates/fr.yml +12 -12
- data/data/plates/gb.yml +16 -16
- data/data/plates/gr.yml +14 -14
- data/data/plates/hr.yml +15 -15
- data/data/plates/hu.yml +16 -16
- data/data/plates/ie.yml +7 -7
- data/data/plates/in.yml +7 -7
- data/data/plates/is.yml +3 -3
- data/data/plates/it.yml +21 -21
- data/data/plates/jp.yml +121 -121
- data/data/plates/kr.yml +6 -6
- data/data/plates/li.yml +6 -6
- data/data/plates/lt.yml +10 -10
- data/data/plates/lu.yml +4 -4
- data/data/plates/lv.yml +9 -9
- data/data/plates/mc.yml +4 -4
- data/data/plates/mt.yml +5 -5
- data/data/plates/mx.yml +7 -7
- data/data/plates/my.yml +18 -18
- data/data/plates/ng.yml +346 -0
- data/data/plates/nl.yml +5 -5
- data/data/plates/no.yml +7 -7
- data/data/plates/nz.yml +18 -18
- data/data/plates/pl.yml +4 -4
- data/data/plates/pt.yml +13 -5
- data/data/plates/ro.yml +14 -14
- data/data/plates/se.yml +13 -13
- data/data/plates/si.yml +8 -8
- data/data/plates/sk.yml +15 -15
- data/data/plates/sm.yml +7 -7
- data/data/plates/th.yml +10 -10
- data/data/plates/tr.yml +432 -0
- data/data/plates/ua.yml +9 -9
- data/data/plates/us-ak.yml +11 -11
- data/data/plates/us-al.yml +12 -12
- data/data/plates/us-ar.yml +15 -15
- data/data/plates/us-as.yml +10 -10
- data/data/plates/us-az.yml +10 -10
- data/data/plates/us-ca.yml +13 -13
- data/data/plates/us-co.yml +14 -14
- data/data/plates/us-ct.yml +24 -24
- data/data/plates/us-dc.yml +7 -7
- data/data/plates/us-de.yml +10 -10
- data/data/plates/us-fl.yml +17 -17
- data/data/plates/us-ga.yml +10 -10
- data/data/plates/us-gu.yml +11 -11
- data/data/plates/us-hi.yml +11 -11
- data/data/plates/us-ia.yml +9 -9
- data/data/plates/us-id.yml +13 -13
- data/data/plates/us-il.yml +11 -11
- data/data/plates/us-in.yml +9 -9
- data/data/plates/us-ks.yml +8 -8
- data/data/plates/us-ky.yml +11 -11
- data/data/plates/us-la.yml +11 -11
- data/data/plates/us-ma.yml +10 -10
- data/data/plates/us-md.yml +7 -7
- data/data/plates/us-me.yml +16 -16
- data/data/plates/us-mi.yml +8 -8
- data/data/plates/us-mn.yml +13 -13
- data/data/plates/us-mo.yml +13 -13
- data/data/plates/us-mp.yml +12 -12
- data/data/plates/us-ms.yml +8 -8
- data/data/plates/us-mt.yml +12 -12
- data/data/plates/us-nc.yml +12 -12
- data/data/plates/us-nd.yml +10 -10
- data/data/plates/us-ne.yml +10 -10
- data/data/plates/us-nh.yml +8 -8
- data/data/plates/us-nj.yml +8 -8
- data/data/plates/us-nm.yml +14 -14
- data/data/plates/us-nv.yml +18 -18
- data/data/plates/us-ny.yml +17 -17
- data/data/plates/us-oh.yml +13 -13
- data/data/plates/us-ok.yml +12 -12
- data/data/plates/us-or.yml +15 -15
- data/data/plates/us-pa.yml +14 -14
- data/data/plates/us-pr.yml +15 -15
- data/data/plates/us-ri.yml +10 -10
- data/data/plates/us-sc.yml +7 -7
- data/data/plates/us-sd.yml +12 -12
- data/data/plates/us-tn.yml +8 -8
- data/data/plates/us-tx.yml +17 -17
- data/data/plates/us-ut.yml +12 -12
- data/data/plates/us-va.yml +14 -14
- data/data/plates/us-vi.yml +16 -16
- data/data/plates/us-vt.yml +9 -9
- data/data/plates/us-wa.yml +18 -18
- data/data/plates/us-wi.yml +8 -8
- data/data/plates/us-wv.yml +9 -9
- data/data/plates/us-wy.yml +10 -10
- data/data/plates/va.yml +7 -7
- data/data/plates/za.yml +11 -11
- data/data/vehicles.json +121081 -62015
- data/lib/generators/vehicles/templates/initializer.rb +21 -12
- data/lib/generators/vehicles/templates/vehicles_refresh_job.rb +8 -4
- data/lib/vehicles/color.rb +8 -1
- data/lib/vehicles/colors.rb +14 -10
- data/lib/vehicles/configuration.rb +82 -3
- data/lib/vehicles/data_source.rb +220 -0
- data/lib/vehicles/dataset.rb +38 -6
- data/lib/vehicles/dataset_resolution.rb +39 -3
- data/lib/vehicles/dataset_slice.rb +90 -0
- data/lib/vehicles/hosted_result.rb +94 -0
- data/lib/vehicles/http.rb +75 -7
- data/lib/vehicles/id_lookup.rb +37 -0
- data/lib/vehicles/kind_rule.rb +63 -0
- data/lib/vehicles/labels.rb +131 -0
- data/lib/vehicles/make.rb +45 -19
- data/lib/vehicles/model.rb +66 -19
- data/lib/vehicles/model_match.rb +16 -2
- data/lib/vehicles/model_matcher.rb +6 -7
- data/lib/vehicles/plates/series.rb +87 -8
- data/lib/vehicles/plates/template_fill.rb +2 -2
- data/lib/vehicles/plates/templates.rb +9 -5
- data/lib/vehicles/plates.rb +54 -8
- data/lib/vehicles/providers/hosted_provider.rb +145 -32
- data/lib/vehicles/providers/local_provider.rb +2 -2
- data/lib/vehicles/refresh_result.rb +74 -0
- data/lib/vehicles/refresher.rb +190 -54
- data/lib/vehicles/release_checks.rb +72 -0
- data/lib/vehicles/text_matcher.rb +19 -10
- data/lib/vehicles/validators/vehicle_make_validator.rb +18 -1
- data/lib/vehicles/validators/vehicle_model_validator.rb +17 -1
- data/lib/vehicles/version.rb +1 -1
- data/lib/vehicles.rb +119 -67
- data/rakelib/data_refresh.rake +1 -1
- data/rakelib/plates_refresh.rake +1 -1
- data/sig/vehicles.rbs +67 -13
- metadata +13 -2
data/data/plates/au-sa.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/au-sa.yml — South Australia (
|
|
1
|
+
# plates/au-sa.yml — South Australia (the plates spec gate L3, Australia).
|
|
2
2
|
#
|
|
3
3
|
# SOUTH AUSTRALIA IS THE JURISDICTION WHERE THE BEST SOURCE IS TWENTY-TWO
|
|
4
4
|
# YEARS OLD. The current Department for Infrastructure and Transport pages,
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
# Internet Archive holds no snapshot of the Motor Vehicles Regulations' view
|
|
23
23
|
# URL. NO SOUTH AUSTRALIAN INSTRUMENT IS QUOTED IN THIS FILE. The display rules
|
|
24
24
|
# below come from the department's own public page, which is a primary
|
|
25
|
-
# authority publication (
|
|
25
|
+
# authority publication (the plates spec §4) but is not the instrument.
|
|
26
26
|
#
|
|
27
27
|
# LICENCE NOTE, recorded because it is unusually clean: SA.GOV.AU states on
|
|
28
28
|
# every page, verbatim, "SA.GOV.AU is licensed under a Creative Commons
|
|
@@ -94,7 +94,7 @@ series:
|
|
|
94
94
|
period: { start: 2008 } # SECONDARY, AND CONTESTED — the locator
|
|
95
95
|
# says 2008, an independent enthusiast
|
|
96
96
|
# reference says 2009. Both recorded, not
|
|
97
|
-
# averaged (
|
|
97
|
+
# averaged (the plates spec §5.3).
|
|
98
98
|
period_evidence: secondary-locator-unverified
|
|
99
99
|
matching: strict
|
|
100
100
|
format:
|
|
@@ -134,13 +134,13 @@ series:
|
|
|
134
134
|
region_encoding: none
|
|
135
135
|
sources:
|
|
136
136
|
- "https://web.archive.org/web/20041206044325/http://www.transport.sa.gov.au/registrations/number_plates/alpha.asp # Transport SA 'Alpha-numeric plates (general issue)', captured 6 December 2004 (accessed 2026-08-02): black characters on a reflective white background, the then slogan 'SA - The Festival State', the once-only fee and the transfer/agreement rule. The ONLY South Australian government page found that describes the general issue at all"
|
|
137
|
-
- "http://www.plateshack.com/y2k/South_Australia/southaustralia.htm # enthusiast reference (
|
|
138
|
-
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_South_Australia # LOCATOR ONLY (
|
|
137
|
+
- "http://www.plateshack.com/y2k/South_Australia/southaustralia.htm # enthusiast reference (the plates spec §4 corroboration class), accessed 2026-08-02: a photo-dated plate captioned 'Current since 2009, South Australia license plate (June 2013)' and another captioned 'South Australia special graphics plate used up until 2008'. Corroborates a changeover in the 2008-2009 window and DISAGREES with the locator on the year"
|
|
138
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_South_Australia # LOCATOR ONLY (the plates spec §4), accessed 2026-08-02: the S-prefixed seven-character arrangement and a 2008 changeover. Uncited in the article; used as a finding aid and flagged"
|
|
139
139
|
notes: >-
|
|
140
140
|
SOUTH AUSTRALIA'S CURRENT GENERAL ISSUE, WITH ITS START YEAR IN DISPUTE
|
|
141
141
|
AND THE DISPUTE RECORDED RATHER THAN SPLIT. The locator says the previous
|
|
142
142
|
series ran to 2008; an independent enthusiast reference captions a
|
|
143
|
-
photo-dated plate "Current since 2009".
|
|
143
|
+
photo-dated plate "Current since 2009". The plates spec §5.3 forbids averaging
|
|
144
144
|
disagreements, so the value carried is the locator's 2008 and this note
|
|
145
145
|
states the competing 2009 claim in terms. Either way the changeover sits
|
|
146
146
|
in a two-year window and neither source is the department. THE FORMAT IS
|
|
@@ -213,7 +213,7 @@ series:
|
|
|
213
213
|
also exactly the width of the general issue, which is a consistent
|
|
214
214
|
picture rather than a coincidence. `matching: strict` is earned: the
|
|
215
215
|
regex is the authority's own stated frame, not a catch-all.
|
|
216
|
-
note: "the service also offers numeric, historical, R&S-series, Japanese-style, Euro-style, premium and corporate ranges; those are DESIGN catalogues on the same serial frame and are out of scope at this gate (
|
|
216
|
+
note: "the service also offers numeric, historical, R&S-series, Japanese-style, Euro-style, premium and corporate ranges; those are DESIGN catalogues on the same serial frame and are out of scope at this gate (the plates spec §2.5)"
|
|
217
217
|
design:
|
|
218
218
|
note: "one design per range; individual personalised designs are L4 scope"
|
|
219
219
|
programme:
|
data/data/plates/au-tas.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/au-tas.yml — Tasmania (
|
|
1
|
+
# plates/au-tas.yml — Tasmania (the plates spec gate L3, Australia).
|
|
2
2
|
#
|
|
3
3
|
# THIS FILE CARRIES THE SENTENCE THAT EXPLAINS THE WHOLE AUSTRALIAN WAVE.
|
|
4
4
|
# Vehicle and Traffic (Driver Licensing and Vehicle Registration) Regulations
|
|
@@ -61,7 +61,7 @@ instrument:
|
|
|
61
61
|
allowing everything else except /admin/. This pass made a small number of
|
|
62
62
|
targeted, user-directed retrievals of the single instrument cited here
|
|
63
63
|
rather than any crawl, and did not fetch any other Tasmanian statute.
|
|
64
|
-
licence: "Tasmanian legislation published by the Tasmanian Parliamentary Counsel's Office. Edicts of government — quoted, never embedded (
|
|
64
|
+
licence: "Tasmanian legislation published by the Tasmanian Parliamentary Counsel's Office. Edicts of government — quoted, never embedded (the plates spec §4)"
|
|
65
65
|
|
|
66
66
|
national_schemes:
|
|
67
67
|
heavy_vehicle: >-
|
|
@@ -142,8 +142,8 @@ series:
|
|
|
142
142
|
region_encoding: none
|
|
143
143
|
sources:
|
|
144
144
|
- "https://www.legislation.tas.gov.au/view/whole/html/inforce/current/sr-2021-026 # the Regulations, cited here for the NEGATIVE finding that anchors this series' evidence grade: reg 88(1) empowers the Registrar to assign a 'distinguishing registration number' and prescribes nothing about its composition (accessed 2026-08-02)"
|
|
145
|
-
- "http://www.plateshack.com/y2k/Tasmania/tasmania.htm # enthusiast reference (
|
|
146
|
-
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Tasmania # secondary (CC BY-SA; facts extracted in our expression per the
|
|
145
|
+
- "http://www.plateshack.com/y2k/Tasmania/tasmania.htm # enthusiast reference (the plates spec §4 corroboration class), accessed 2026-08-02: photo-dated Tasmanian plates from 2016 to 2024 whose serials are consistent with the shape encoded here. Corroborates the SHAPE weakly; dates nothing"
|
|
146
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Tasmania # secondary (CC BY-SA; facts extracted in our expression per the plates spec §4 Wikipedia rule), accessed 2026-08-02: the per-state article states in terms 'On 24 February 2008, the Government of Tasmania issued a new registration plate design in the format A 00 AA. After the first letter appears the Tasmanian state logo with the slogan Tasmania - Explore the possibilities', and adds the August 2017 F-to-H block skip with G reserved for Tasmanian government vehicles and Z/Y/X reserved for trailers. Uncited in the article; tagged, not asserted"
|
|
147
147
|
notes: >-
|
|
148
148
|
TASMANIA'S CURRENT GENERAL ISSUE. RE-DATED 2013 -> 2008 IN THE COMPLETION
|
|
149
149
|
PASS OF THIS WAVE, and the reason is worth stating because it is a
|
|
@@ -171,7 +171,7 @@ series:
|
|
|
171
171
|
owner-chosen combinations.
|
|
172
172
|
|
|
173
173
|
# =========================================================================
|
|
174
|
-
# ONE SERIES BACK — added in the completion pass, because
|
|
174
|
+
# ONE SERIES BACK — added in the completion pass, because the plates spec asks for
|
|
175
175
|
# current plus one back and the first pass authored none. Wholly secondary,
|
|
176
176
|
# and tagged so.
|
|
177
177
|
# =========================================================================
|
|
@@ -200,7 +200,7 @@ series:
|
|
|
200
200
|
AA-nnnn through to FT-nnnn". So a Tasmanian plate of this shape
|
|
201
201
|
decodes to a MONTH OF REGISTRATION only if it was issued in the
|
|
202
202
|
1970-1971 window, and decodes to nothing afterwards. That is exactly
|
|
203
|
-
the France-SIV trap
|
|
203
|
+
the France-SIV trap the plates spec §2.4 warns about — a positional code
|
|
204
204
|
that stopped meaning what it meant — and it is why no
|
|
205
205
|
`region_encoding` or month table is attached to this series: a decode
|
|
206
206
|
table that is right for 23 months and wrong for 37 years would make
|
|
@@ -222,8 +222,8 @@ series:
|
|
|
222
222
|
abandoned on 31 December 1971. Tasmania has never encoded geography in a
|
|
223
223
|
registration number.
|
|
224
224
|
sources:
|
|
225
|
-
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Tasmania # secondary (CC BY-SA; facts in our expression per the
|
|
226
|
-
- "http://www.plateshack.com/y2k/Tasmania/tasmania.htm # enthusiast reference (
|
|
225
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Tasmania # secondary (CC BY-SA; facts in our expression per the plates spec §4 Wikipedia rule), accessed 2026-08-02: the 1970 AA-0000 to ZB-9999 series, the twelve month letters and their assignments, the second-letter reservations for trailers (T) and motorcycles (X), the 31 December 1971 abandonment, the slogan and border history, and the 2008 replacement. NONE of it carries a footnote in the article"
|
|
226
|
+
- "http://www.plateshack.com/y2k/Tasmania/tasmania.htm # enthusiast reference (the plates spec §4 corroboration class), cited in the article and recorded here as the only independent capture of Tasmanian plate shapes; corroborates the SHAPE, dates nothing"
|
|
227
227
|
notes: >-
|
|
228
228
|
TASMANIA'S PREVIOUS GENERAL ISSUE, 1970-2008, AND A CAUTION ABOUT WHAT IT
|
|
229
229
|
IS NOT. It is authored to satisfy the current-plus-one-back requirement and
|
|
@@ -281,7 +281,7 @@ series:
|
|
|
281
281
|
writing a private price list into subordinate legislation.
|
|
282
282
|
programme:
|
|
283
283
|
operator: "TasPlates, whose site footer reads 'TM of the Crown in Right of Tasmania' — a State-owned mark operated under contract with the Department, which is exactly the 'organisation that has a contract with the Department' the regulation refers to"
|
|
284
|
-
catalogue: "TasPlates describes 'over 100 unique personalised number plates' styles; individual designs are L4 scope (
|
|
284
|
+
catalogue: "TasPlates describes 'over 100 unique personalised number plates' styles; individual designs are L4 scope (the plates spec §2.5) and none is recorded here"
|
|
285
285
|
region_encoding: none
|
|
286
286
|
sources:
|
|
287
287
|
- "https://www.legislation.tas.gov.au/view/whole/html/inforce/current/sr-2021-026 # the regulations headed 'Specific registration numbers' and 'Using personalised number plates' (accessed 2026-08-02): the application on an approved form, the Registrar's duty to issue the personalised plate subject to conditions, the three-limbed fee provision quoted above, the auction limb and the refusal power"
|
|
@@ -296,7 +296,7 @@ series:
|
|
|
296
296
|
Tasmania has sold personalised plates for decades under predecessor
|
|
297
297
|
regulations that were not read in this pass (recorded gap).
|
|
298
298
|
gaps:
|
|
299
|
-
- "THE ONE-SERIES-BACK REQUIREMENT IS NOT MET FOR TASMANIA, deliberately. No Tasmanian government source describes any previous general issue, and the only available description of one sits in a locator table whose systematic extraction
|
|
299
|
+
- "THE ONE-SERIES-BACK REQUIREMENT IS NOT MET FOR TASMANIA, deliberately. No Tasmanian government source describes any previous general issue, and the only available description of one sits in a locator table whose systematic extraction the plates spec §4 forbids. A fabricated predecessor would be worse than an absent one; this is a recorded gap with a clear acceptance test (a Registrar's page, a Gazette notice, or a dated departmental history)"
|
|
300
300
|
- "No Tasmanian plate dimensions, colours or legends are published by the Registrar — every design claim in this file is either cross-State or secondary"
|
|
301
301
|
- "The refusal grounds for a specific registration number are in the instrument and were not transcribed in full"
|
|
302
302
|
- "transport.tas.gov.au (Department of State Growth) returns HTTP 403 to non-browser clients; a verifier with a browser should read its number-plate pages first"
|
data/data/plates/au-vic.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/au-vic.yml — Victoria (
|
|
1
|
+
# plates/au-vic.yml — Victoria (the plates spec gate L3, Australia).
|
|
2
2
|
#
|
|
3
3
|
# VICTORIA IS THE BEST-EVIDENCED AUSTRALIAN JURISDICTION IN THIS WAVE, and the
|
|
4
4
|
# reason is one page: VicRoads publishes, on its own General issue number plates
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
# quotes the empowering words). What Victoria has is not a better LAW, it is a
|
|
23
23
|
# better AGENCY PAGE. Recorded that way.
|
|
24
24
|
#
|
|
25
|
-
# SEPARATOR NOTE (
|
|
25
|
+
# SEPARATOR NOTE (the plates spec §2.6): a Victorian plate prints a RAISED DOT
|
|
26
26
|
# between the two groups, and VicRoads itself writes the combination both ways
|
|
27
27
|
# on the same page — "1AA.1AA" in the prose, "1AA 1AA" in the table. Neither
|
|
28
28
|
# glyph is serial-significant: the dot is the printed group separator and the
|
|
@@ -45,7 +45,7 @@ instrument:
|
|
|
45
45
|
Queensland and Tasmanian files carry the equivalent rules verbatim from
|
|
46
46
|
their own instruments, and Victoria's are understood to be materially the
|
|
47
47
|
same, which is an EXPECTATION, not a claim, and is not encoded.
|
|
48
|
-
licence: "legislation.vic.gov.au publishes Victorian legislation; VicRoads pages are Victorian Crown copyright. Facts extracted, text quoted only where marked verbatim (
|
|
48
|
+
licence: "legislation.vic.gov.au publishes Victorian legislation; VicRoads pages are Victorian Crown copyright. Facts extracted, text quoted only where marked verbatim (the plates spec §4)"
|
|
49
49
|
|
|
50
50
|
national_schemes:
|
|
51
51
|
heavy_vehicle: >-
|
|
@@ -105,7 +105,7 @@ series:
|
|
|
105
105
|
VicRoads, verbatim: "blue characters on a white reflective background".
|
|
106
106
|
The white is recorded as a hex with `hex_basis: observed`; THE BLUE IS
|
|
107
107
|
NOT — VicRoads names the colour and never specifies it, and inventing a
|
|
108
|
-
blue would be exactly the fabricated-fact failure
|
|
108
|
+
blue would be exactly the fabricated-fact failure the plates spec §9 warns
|
|
109
109
|
about. A `foreground` hex lands when a Victorian specification does.
|
|
110
110
|
colour_history: >-
|
|
111
111
|
VicRoads' own three lines, verbatim: "1960 - 1977: Black background,
|
|
@@ -118,7 +118,7 @@ series:
|
|
|
118
118
|
legend_rule: "VicRoads, verbatim: 'the current slogan printed on the centre bottom of the plate (not included on slimline)'. The slogan is a VARIABLE of the design — Victoria has changed it by policy several times — and the current text is deliberately not hard-coded here"
|
|
119
119
|
plate: { w: 372, h: 134, unit: mm }
|
|
120
120
|
plate_dimension_note: "the Australian passenger size; VicRoads does not publish its own millimetres, so this is the cross-State figure sourced in plates/au-wa.yml (WA DoT: 372 x 134 mm) and plates/au-nt.yml (NT MVR: 372 x 133 mm), flagged as such"
|
|
121
|
-
slimline_variant: "VicRoads offers a slimline plate, on which the slogan is omitted — a design variant of this series, not a series of its own (
|
|
121
|
+
slimline_variant: "VicRoads offers a slimline plate, on which the slogan is omitted — a design variant of this series, not a series of its own (the plates spec §2.3)"
|
|
122
122
|
rear_differs: false
|
|
123
123
|
region_encoding: none
|
|
124
124
|
sources:
|
|
@@ -180,7 +180,7 @@ series:
|
|
|
180
180
|
|
|
181
181
|
# =========================================================================
|
|
182
182
|
# MOTORCYCLES — a separate series because the ARRANGEMENT differs, not just
|
|
183
|
-
# the size (
|
|
183
|
+
# the size (the plates spec §2.3: own series iff format OR design OR period).
|
|
184
184
|
# =========================================================================
|
|
185
185
|
- id: au-vic-motorcycle
|
|
186
186
|
class: motorcycle
|
data/data/plates/au-wa.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/au-wa.yml — Western Australia (
|
|
1
|
+
# plates/au-wa.yml — Western Australia (the plates spec gate L3, Australia).
|
|
2
2
|
#
|
|
3
3
|
# WESTERN AUSTRALIA HAS THE BEST START DATE IN THE AUSTRALIAN WAVE, and it is
|
|
4
4
|
# not from a statute — it is from the Transport Minister's own dated media
|
|
@@ -56,7 +56,7 @@ instrument:
|
|
|
56
56
|
source anyway, since Australian registration regulations carry no serial
|
|
57
57
|
grammar. The verifier should still read the Regulations for the display
|
|
58
58
|
rules, which this file therefore does NOT state (recorded gap).
|
|
59
|
-
licence: "Government of Western Australia material; facts extracted, quotations marked verbatim (
|
|
59
|
+
licence: "Government of Western Australia material; facts extracted, quotations marked verbatim (the plates spec §4)"
|
|
60
60
|
|
|
61
61
|
national_schemes:
|
|
62
62
|
heavy_vehicle: >-
|
|
@@ -169,7 +169,7 @@ series:
|
|
|
169
169
|
# =========================================================================
|
|
170
170
|
# ONE SERIES BACK — added in the completion pass. The first pass recorded it
|
|
171
171
|
# as a gap because the Minister names it without describing it; the Wikipedia
|
|
172
|
-
# rule (
|
|
172
|
+
# rule (the plates spec §4, owner override 2026-08-02) permits the description to
|
|
173
173
|
# be taken from the article and tagged, which is strictly better than a gap.
|
|
174
174
|
# =========================================================================
|
|
175
175
|
- id: au-wa-standard-1978
|
|
@@ -191,7 +191,7 @@ series:
|
|
|
191
191
|
used was black on yellow, where the numbers preceding the letters
|
|
192
192
|
ranged between 6 and 9. This series ended at 9MZ-999 and the trailer
|
|
193
193
|
series ended at 9RZ-999." The 6-9 restriction is exactly what
|
|
194
|
-
`regex_strict` is for (
|
|
194
|
+
`regex_strict` is for (the plates spec §2.7): the lint generates every
|
|
195
195
|
digit from `pattern`, so `regex` cannot carry it, and the tier order
|
|
196
196
|
regex_strict ⊆ regex holds by construction here.
|
|
197
197
|
corroboration: >-
|
|
@@ -224,14 +224,14 @@ series:
|
|
|
224
224
|
product page (plateswa.com) was not fetched in this pass (recorded gap).
|
|
225
225
|
sources:
|
|
226
226
|
- "https://web.archive.org/web/20160305010058/https://www.mediastatements.wa.gov.au/Pages/Court/1997/07/Unveiling-of-new-generation-of-vehicle-licence-plates.aspx # Hon Eric Charlton MLC, Minister for Transport (WA), 'Unveiling of new generation of vehicle licence plates', 5 July 1997, archived, accessed 2026-08-02: 'Until now we have been getting just four or five years from each licence plate series and with the current nine series plates about to expire, Transport was keen to develop something which will provide long-term consistency' — the government's own corroboration of the 9 block and of the four-to-five-year series cadence this series ended"
|
|
227
|
-
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Western_Australia # secondary (CC BY-SA; facts in our expression per the
|
|
227
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Western_Australia # secondary (CC BY-SA; facts in our expression per the plates spec §4 Wikipedia rule), accessed 2026-08-02: the October 1978 start at 6AA-000, the 6-9 leading-digit range, the black-on-yellow colours, the 9MZ-999 and 9RZ-999 endings, and the February 2025 Nostalgia reissue. The 1978 sentence is footnoted in the article to a print periodical ('Registration Notes, Fleetline issue 41, December 1978, page 4') which was NOT obtained"
|
|
228
228
|
notes: >-
|
|
229
229
|
WESTERN AUSTRALIA'S PREVIOUS GENERAL ISSUE, 1978-1997, AUTHORED IN THE
|
|
230
230
|
COMPLETION PASS. The first pass of this file deliberately left it out and
|
|
231
231
|
said so ("the Minister names it only as 'the current nine series plates',
|
|
232
232
|
which is not a format description, and it is a recorded gap rather than a
|
|
233
233
|
guessed series"). That was right under a locator-only reading of the
|
|
234
|
-
Wikipedia row of
|
|
234
|
+
Wikipedia row of the plates spec §4; under the owner's 2026-08-02 override the
|
|
235
235
|
description may be EXTRACTED provided it is tagged, and a tagged
|
|
236
236
|
description that the Minister's own sentence independently corroborates is
|
|
237
237
|
better data than an empty gap. Both boundaries are secondary: 1978 from
|
|
@@ -269,7 +269,7 @@ series:
|
|
|
269
269
|
Mandurah." So the leading two letters are a DISTRICT CODE and the
|
|
270
270
|
remainder is an ascending sequence — but the department publishes no
|
|
271
271
|
code list and no sequence grammar, so the regex is deliberately wider
|
|
272
|
-
than what is issued and `matching: recall-only` says so (
|
|
272
|
+
than what is issued and `matching: recall-only` says so (the plates spec
|
|
273
273
|
§2.7). A match means "this could be a WA district plate", never "this
|
|
274
274
|
is a valid one".
|
|
275
275
|
design:
|
|
@@ -293,7 +293,7 @@ series:
|
|
|
293
293
|
WA DISTRICT SERIES — THE ONE GEOGRAPHIC DECODE IN AUSTRALIAN PLATES, AND
|
|
294
294
|
IT IS DELIBERATELY LEFT AS A MECHANISM. The department states the
|
|
295
295
|
mechanism plainly and gives a single example; it publishes no code table.
|
|
296
|
-
|
|
296
|
+
The plates spec §2.4's rule is that open-ended or unpublished decodes get a
|
|
297
297
|
mechanism note, not an invented table, and that is what this is. The
|
|
298
298
|
period is an UPPER BOUND for an unusual reason worth stating: the
|
|
299
299
|
department's own page dates nothing except a 2021 administrative change
|
data/data/plates/be.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/be.yml — Belgium (
|
|
1
|
+
# plates/be.yml — Belgium (the plates spec gate L1, EU/EEA slice).
|
|
2
2
|
#
|
|
3
3
|
# EVERY format, colour, dimension and class claim in this file is taken from
|
|
4
4
|
# one of two consolidated Belgian instruments, fetched from the federal
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
# between them — art. 4 § 1, 2° says the groups together follow the
|
|
124
124
|
# rectangular combinations "SANS TIRET DE SEPARATION". Those series therefore
|
|
125
125
|
# spell that position as the separator-only class `[- ]` sanctioned by
|
|
126
|
-
#
|
|
126
|
+
# the plates spec § 2.8, exactly as es-consular-cc-1999 does, while `pattern` shows
|
|
127
127
|
# the canonical printed hyphen.
|
|
128
128
|
jurisdiction: be
|
|
129
129
|
authority:
|
|
@@ -237,7 +237,7 @@ common:
|
|
|
237
237
|
note: >-
|
|
238
238
|
The embossed CV seal is what makes a plate the OFFICIAL plate: art. 1, 22°
|
|
239
239
|
of the arrete royal defines a reproduction as a copy "sans sceau en relief".
|
|
240
|
-
It is a lettermark, not a coat of arms, so
|
|
240
|
+
It is a lettermark, not a coat of arms, so the plates spec § 3's emblem hazard
|
|
241
241
|
does not arise for Belgium — there is no state seal, no provincial arms and
|
|
242
242
|
no artwork on a Belgian plate at all.
|
|
243
243
|
source: "https://www.ejustice.just.fgov.be/cgi_loi/article.pl?language=fr&lg_txt=f&numac_search=2001014154&caller=SUM&view_numac=2001014154f # art. 3 § 4, art. 11 § 3, art. 18 § 2"
|
|
@@ -252,7 +252,7 @@ common:
|
|
|
252
252
|
reprise pour des raisons techniques, voir M.B. du 15-05-2020, p. 34158").
|
|
253
253
|
Belgium is therefore the same case the EU dossier found for the UK, Germany
|
|
254
254
|
and Spain: the legal object is a statutory drawing, not a licensable font
|
|
255
|
-
file, and
|
|
255
|
+
file, and the plates spec § 6's derive-from-the-drawing rule applies.
|
|
256
256
|
pitch: "art. 24 § 4, 4°: the horizontal distance between the centre of each sign is 50 mm on car reproductions and 39,2 mm on motorcycle reproductions — the only character metric available as TEXT rather than as a drawing"
|
|
257
257
|
pre_2010_metrics: >-
|
|
258
258
|
The 2001 text, before the drawings replaced it, gave the metrics in words
|
|
@@ -299,7 +299,7 @@ common:
|
|
|
299
299
|
source: "https://mobilit.belgium.be/fr/route/immatriculer-et-radier/plaques-et-certificats-dimmatriculation/format-de-plaque # DIV's format page: sizes only, no index series table (accessed 2026-08-02)"
|
|
300
300
|
|
|
301
301
|
# ---------------------------------------------------------------------------
|
|
302
|
-
# The index vocabulary — small, closed, primary, so inlined per
|
|
302
|
+
# The index vocabulary — small, closed, primary, so inlined per the plates spec
|
|
303
303
|
# § 2.4's "inline table (small)" rule. This is Belgium's answer to Germany's
|
|
304
304
|
# Anlage 2: not geography, but VEHICLE CATEGORY.
|
|
305
305
|
# ---------------------------------------------------------------------------
|
|
@@ -593,7 +593,7 @@ series:
|
|
|
593
593
|
separator_note: >-
|
|
594
594
|
Two-line plate: the letter group sits ABOVE the digit group with no printed
|
|
595
595
|
glyph between them, so the position is spelled as the separator-only class
|
|
596
|
-
`[- ]` (
|
|
596
|
+
`[- ]` (the plates spec § 2.8). Only the hyphen after the index is printed.
|
|
597
597
|
design:
|
|
598
598
|
plate: { w: 210, h: 140, unit: mm }
|
|
599
599
|
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
|
|
@@ -612,7 +612,7 @@ series:
|
|
|
612
612
|
HISTORIC MOTORCYCLE, "O" index with an "M" letter group, from 01-01-2021.
|
|
613
613
|
Kept as its own entry rather than folded into be-historic-o-2021 because both
|
|
614
614
|
the format (the mandated M) and the design (210 x 140 two-line) differ, which
|
|
615
|
-
is the
|
|
615
|
+
is the plates spec § 2.3 test applied literally. Note that art. 12 § 3 keys
|
|
616
616
|
eligibility to art. 2 § 2, 1° of the arrete royal of 10 October 1974 on the
|
|
617
617
|
technical conditions for mopeds and motorcycles — NOT to the thirty-year test
|
|
618
618
|
that art. 4 § 2 now uses for cars, so the two O series do not share a
|
|
@@ -631,7 +631,7 @@ series:
|
|
|
631
631
|
charset:
|
|
632
632
|
index: [M]
|
|
633
633
|
notes: "art. 12 § 2, verbatim: 'l'inscription consiste en la lettre (index) \"M\" suivie d'un tiret de separation et d'un groupe de trois lettres au-dessus d'un groupe de trois chiffres ou d'un groupe de trois chiffres au-dessus d'un groupe de trois lettres'"
|
|
634
|
-
separator_note: "two-line plate; the group boundary carries no printed glyph, hence the separator-only class `[- ]` (
|
|
634
|
+
separator_note: "two-line plate; the group boundary carries no printed glyph, hence the separator-only class `[- ]` (the plates spec § 2.8)"
|
|
635
635
|
design:
|
|
636
636
|
plate: { w: 210, h: 140, unit: mm }
|
|
637
637
|
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
|
|
@@ -677,7 +677,7 @@ series:
|
|
|
677
677
|
... Pour les quadricycles legers ... Les series de lettres commencent
|
|
678
678
|
par la lettre 'U'." So the SECOND character of the string decodes the
|
|
679
679
|
exact vehicle kind — a four-way split no other series in this file has.
|
|
680
|
-
separator_note: "two-line plate; separator-only class `[- ]` at the stacked group boundary (
|
|
680
|
+
separator_note: "two-line plate; separator-only class `[- ]` at the stacked group boundary (the plates spec § 2.8)"
|
|
681
681
|
design:
|
|
682
682
|
plate: { w: 100, h: 120, unit: mm }
|
|
683
683
|
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
|
|
@@ -1195,7 +1195,7 @@ series:
|
|
|
1195
1195
|
categories: [car, van, truck, bus, trailer, motorcycle, moped]
|
|
1196
1196
|
period: { start: 2014 }
|
|
1197
1197
|
period_evidence: enabling-instrument
|
|
1198
|
-
# RECALL-ONLY (
|
|
1198
|
+
# RECALL-ONLY (the plates spec § 2.7): the regex below accepts any hyphen-grouped
|
|
1199
1199
|
# alphanumeric string, which is deliberately WIDER than the grammar DIV
|
|
1200
1200
|
# issues — the eight-character cap, the at-least-one-letter rule and the
|
|
1201
1201
|
# long list of reserved shapes cannot be expressed without either a
|
|
@@ -1658,7 +1658,7 @@ series:
|
|
|
1658
1658
|
charset:
|
|
1659
1659
|
first_letter_of_group: [M, W]
|
|
1660
1660
|
notes: "art. 12 (2001), verbatim: 'L'inscription est constituee d'un groupe de trois lettres au dessus d'un groupe de trois chiffres. § 2. Le groupe de lettres commence par un \"M\" ou un \"W\".'"
|
|
1661
|
-
separator_note: "two-line plate with no index and no printed glyph between the groups; the position is the separator-only class `[- ]` (
|
|
1661
|
+
separator_note: "two-line plate with no index and no printed glyph between the groups; the position is the separator-only class `[- ]` (the plates spec § 2.8)"
|
|
1662
1662
|
design:
|
|
1663
1663
|
plate: { w: 140, h: 175, unit: mm }
|
|
1664
1664
|
background: { color: "#F9B700", finish: retroreflective, hex_basis: observed, spec_note: "art. 12 § 1 (2001), verbatim: 'La marque d'immatriculation ordinaire a un fond JAUNE. L'inscription et le lisere sont noirs.' The statute names the colour without a code, so the hex is observed within a named colour." }
|
data/data/plates/br.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/br.yml — Brazil (
|
|
1
|
+
# plates/br.yml — Brazil (the plates spec gate L3, DRAFT for human verification).
|
|
2
2
|
#
|
|
3
3
|
# PASS 2 (2026-08-02, second Opus researcher over the same jurisdiction). This
|
|
4
4
|
# file supersedes a pass-1 draft, preserved beside it as `pass1/br.pass1.yml`
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
# not by the alphabet: native Mercosul combinations are issued out of FRESH
|
|
106
106
|
# three-letter blocks that the PNU never used, so no collision with a
|
|
107
107
|
# converted plate is possible even though both use A–J.
|
|
108
|
-
#
|
|
108
|
+
# The plates spec § 5.3 forbids averaging a disagreement, so the native series
|
|
109
109
|
# carry NO `regex_strict` and the whole question is recorded here, in
|
|
110
110
|
# `common.fifth_character_rule`, and as verifier target #1 in the dossier.
|
|
111
111
|
# NET EFFECT FOR A CONSUMER: an A–J fifth character is NOT proof of
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
# Anexo I Tabela III distinguishes Particular, Comercial (Aluguel e
|
|
123
123
|
# Aprendizagem), Oficial e Representação, Diplomático/Consular, Especiais
|
|
124
124
|
# and Coleção by CHARACTER COLOUR ALONE, on an identical white plate with
|
|
125
|
-
# an identical LLLNLNN combination.
|
|
125
|
+
# an identical LLLNLNN combination. The plates spec § 2.3 is explicit that a
|
|
126
126
|
# colour-only variant of the same format+period is a SUB-ENTRY, so those
|
|
127
127
|
# six live in `variants:` with a `class:` flag each — while the PNU-era
|
|
128
128
|
# official and diplomatic plates, whose tarjeta content differed, are
|
|
@@ -178,14 +178,14 @@
|
|
|
178
178
|
# pattern's own alphabet. `format.regex_strict` carries the tighter, sourced
|
|
179
179
|
# form, which here is only ever the fifth-character range of Anexo II item 2.
|
|
180
180
|
#
|
|
181
|
-
# SEPARATOR NOTE (
|
|
181
|
+
# SEPARATOR NOTE (the plates spec § 2.6): the CURRENT plate prints no separator
|
|
182
182
|
# ("espaçamento equidistante", above) and its pattern has none. The PNU does:
|
|
183
183
|
# Res. 969/2022 art. 2 § 3 writes the old standard as "AAA-1111", while the
|
|
184
184
|
# instrument that actually prescribed it (Res. 231/2007 art. 1) describes two
|
|
185
185
|
# groups — "o primeiro grupo composto por 3 (três) ... e o segundo grupo
|
|
186
186
|
# composto por 4 (quatro)" — and prescribes no separator GLYPH. The PNU
|
|
187
187
|
# regexes therefore spell the gap as the sanctioned separator-only class
|
|
188
|
-
# `[- ]?` (
|
|
188
|
+
# `[- ]?` (the plates spec § 2.8, the es-consular-cc-1999 precedent), and
|
|
189
189
|
# `pattern` shows the canonical printed form `LLL-9999`.
|
|
190
190
|
jurisdiction: br
|
|
191
191
|
authority:
|
|
@@ -354,7 +354,7 @@ common:
|
|
|
354
354
|
pnu_serial: { name: "Mandatory", source: "Res. 231/2007 Anexo item 4 — 'A Tipologia dos caracteres das placas e tarjetas devem seguir o modelo abaixo especificado na fonte: Mandatory'" }
|
|
355
355
|
licence_posture: >-
|
|
356
356
|
Both current fonts are NAMED third-party typefaces, which is unusual —
|
|
357
|
-
most surveyed jurisdictions prescribe a statutory drawing (
|
|
357
|
+
most surveyed jurisdictions prescribe a statutory drawing (the plates spec
|
|
358
358
|
§ 6). Neither instrument grants any licence. The render layer must
|
|
359
359
|
therefore derive glyphs from the instrument's own figures and the
|
|
360
360
|
published character-width tables (Res. 231/2007 Anexo item 2 gives a full
|
|
@@ -362,7 +362,7 @@ common:
|
|
|
362
362
|
third-party FE-Schrift or Gill Sans binary.
|
|
363
363
|
class_map:
|
|
364
364
|
note: >-
|
|
365
|
-
Where each legal issuance category lives in this file.
|
|
365
|
+
Where each legal issuance category lives in this file. The plates spec § 2.3
|
|
366
366
|
sends colour-only variants to `variants:`; Brazil's current system makes
|
|
367
367
|
six categories colour-only, so a class-keyed consumer must read variants.
|
|
368
368
|
current:
|
|
@@ -449,7 +449,7 @@ series:
|
|
|
449
449
|
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: spec }
|
|
450
450
|
foreground: "#000000"
|
|
451
451
|
band: { side: top, color: "#0033A0", hex_basis: pantone-converted, h: 30, w: 390, unit: mm, content: "MERCOSUL emblem (left) + BRASIL voided white (centre) + Brazilian flag (right)" }
|
|
452
|
-
emblem: { present: true, rendered: placeholder, note: "MERCOSUL emblem per DEC CMC nº 17/02 corporate identity manual; national flag;
|
|
452
|
+
emblem: { present: true, rendered: placeholder, note: "MERCOSUL emblem per DEC CMC nº 17/02 corporate identity manual; national flag; the plates spec § 3 placeholder rule applies until the emblem licence is affirmatively cleared" }
|
|
453
453
|
characters: { height_mm: 65, font: "FE Engschrift", relief: "alto relevo", process: "hot stamp thermal film, non-retroreflective, non-diffractive, overprinted with the words MERCOSUR BRASIL MERCOSUL at 5 mm" }
|
|
454
454
|
material: { substrate: "non-galvanised aluminium 1 mm ± 0.2", film: "microprismatic or microspherical retroreflective, ISO 7591:1982 tested, ASTM E-810 measured" }
|
|
455
455
|
rear_differs: false
|
|
@@ -462,7 +462,7 @@ series:
|
|
|
462
462
|
note: >-
|
|
463
463
|
"Comercial (Aluguel e Aprendizagem)" — hire vehicles (taxis, ride-hail,
|
|
464
464
|
rental) AND driving-school vehicles share one red-character category.
|
|
465
|
-
Colour-only variant of this series per
|
|
465
|
+
Colour-only variant of this series per the plates spec § 2.3: same plate,
|
|
466
466
|
same LLLNLNN combination, same period. Under the PNU these were two
|
|
467
467
|
DIFFERENT designs (red ground / white ground, see br-pnu-standard-1990
|
|
468
468
|
variants) — the Mercosul plate merged them.
|
|
@@ -709,7 +709,7 @@ series:
|
|
|
709
709
|
# for "state/municipality shown on plate pre-2018 (mechanism note)", and the
|
|
710
710
|
# research turned up the fact that the MERCOSUL plate ALSO showed them, for
|
|
711
711
|
# nine months, and lost them by a dated instrument. That is a design regime
|
|
712
|
-
# with an instrument at both ends, so
|
|
712
|
+
# with an instrument at both ends, so the plates spec § 2.3 makes it a series.
|
|
713
713
|
# -------------------------------------------------------------------------
|
|
714
714
|
- id: br-mercosul-uf-brasao-2018
|
|
715
715
|
class: standard
|
|
@@ -749,7 +749,7 @@ series:
|
|
|
749
749
|
heat-applied, at the right edge below the UF flag. Item 1.7.1 assigns
|
|
750
750
|
it: federal fleets the Brasão de Armas Federal; state fleets the state
|
|
751
751
|
flag and state arms; municipal fleets the state flag and the MUNICIPAL
|
|
752
|
-
arms.
|
|
752
|
+
arms. The plates spec § 3 placeholder rule applies.
|
|
753
753
|
municipality_legend:
|
|
754
754
|
font: "Gill Sans"
|
|
755
755
|
note: >-
|
|
@@ -856,7 +856,7 @@ series:
|
|
|
856
856
|
Res. 231/2007 art. 1 prescribes two GROUPS and no separator glyph;
|
|
857
857
|
Res. 969/2022 art. 2 § 3, describing the same plate 15 years later,
|
|
858
858
|
writes it "AAA-1111". The regex therefore accepts hyphen, space or
|
|
859
|
-
nothing at the group boundary (
|
|
859
|
+
nothing at the group boundary (the plates spec § 2.8 separator-only class),
|
|
860
860
|
and `pattern` shows the canonical printed hyphen.
|
|
861
861
|
separator_printed_form: >-
|
|
862
862
|
SETTLED PHOTOGRAPHICALLY (wave-1 render pass): issued plates print a
|
|
@@ -921,7 +921,7 @@ series:
|
|
|
921
921
|
- class: taxi
|
|
922
922
|
name: aluguel
|
|
923
923
|
design: { background: { color: "#AF2B1E", hex_basis: ral-converted, spec_note: "VERMELHO = RAL 3000 (Feuerrot), Res. 45/98 Anexo item 11" }, foreground: "#F6F6F6" }
|
|
924
|
-
note: "'Aluguel' — hire vehicles (taxis, buses, rental): RED ground, WHITE characters. Colour-only variant of the same format and period per
|
|
924
|
+
note: "'Aluguel' — hire vehicles (taxis, buses, rental): RED ground, WHITE characters. Colour-only variant of the same format and period per the plates spec § 2.3."
|
|
925
925
|
sources:
|
|
926
926
|
- "https://web.archive.org/web/20140815083608/http://www.denatran.gov.br/download/Consolidadas/cons231.pdf # Anexo 5.1 colour table, row 'Aluguel'"
|
|
927
927
|
- class: dealer
|
|
@@ -1042,7 +1042,7 @@ series:
|
|
|
1042
1042
|
OI: "veículos pertencentes a Organismos Internacionais"
|
|
1043
1043
|
ADM: "funcionários administrativos de carreira estrangeiros de Missões Diplomáticas, Repartições Consulares e Representações de Organismos Internacionais"
|
|
1044
1044
|
CI: "peritos estrangeiros sem residência permanente, no âmbito de Acordo de Cooperação Internacional"
|
|
1045
|
-
note: "closed, small, primary list — inlined per
|
|
1045
|
+
note: "closed, small, primary list — inlined per the plates spec § 2.4 rather than given a _decode file"
|
|
1046
1046
|
rear_differs: false
|
|
1047
1047
|
region_encoding:
|
|
1048
1048
|
mechanism: "no geography; the tarjeta encodes the CORPS instead of the municipality"
|
data/data/plates/ca-ab.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/ca-ab.yml — Alberta (
|
|
1
|
+
# plates/ca-ab.yml — Alberta (the plates spec gate L3, Canada west).
|
|
2
2
|
#
|
|
3
3
|
# ── FOUR STRUCTURAL FACTS THAT SHAPE THIS FILE ─────────────────────────────
|
|
4
4
|
#
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
# THIS FILE SAYS SO ON ITS FACE. `ABC-1234` is universally reported and was
|
|
21
21
|
# NOT located on any alberta.ca page, in the Traffic Safety Act, or in
|
|
22
22
|
# AR 320/2002. It is carried with `period_evidence: secondary-wikipedia` and
|
|
23
|
-
# `format.evidence: secondary`, per the
|
|
23
|
+
# `format.evidence: secondary`, per the plates spec § 4 Wikipedia row's
|
|
24
24
|
# tagging condition. Contrast plates/ca-yt.yml, whose grammar for every class
|
|
25
25
|
# is in the regulation itself, and plates/ca-nt.yml, whose thirteen plate
|
|
26
26
|
# types are enumerated with their letter prefixes in the regulation. Alberta
|
|
@@ -92,7 +92,7 @@ artwork_risk:
|
|
|
92
92
|
contracted third-party property — the same posture Montana reaches by a
|
|
93
93
|
different route (MCA 61-3-475's hold-harmless clause).
|
|
94
94
|
emblem_rule: >-
|
|
95
|
-
|
|
95
|
+
the plates spec § 3 placeholder default applies to the wild-rose device, the
|
|
96
96
|
provincial wordmark, the Calgary Flames and Edmonton Oilers marks, and the
|
|
97
97
|
Royal Canadian Legion's "integrated maple leaf and poppy logo", which
|
|
98
98
|
AR 320/2002 s. 66.1(1) puts on the veterans' plate BY NAME. The Legion logo
|
|
@@ -134,7 +134,7 @@ common:
|
|
|
134
134
|
separator_note: >-
|
|
135
135
|
Alberta's serial is universally rendered with a hyphen (`ABC-1234`) and NO
|
|
136
136
|
Alberta publication states a separator glyph or a group gap. Under
|
|
137
|
-
|
|
137
|
+
the plates spec § 2.8 the honest encoding of an authority that names no glyph is
|
|
138
138
|
a separator-only class, so every regex here spells the position `[- ]?`
|
|
139
139
|
while `pattern` shows the canonical printed hyphen. A § 2.6-forgiving
|
|
140
140
|
consumer deletes it either way.
|
|
@@ -143,9 +143,9 @@ common:
|
|
|
143
143
|
`design.plate` is absent from every series here, as in plates/ca-bc.yml and
|
|
144
144
|
plates/gb.yml.
|
|
145
145
|
charset_disagreement: >-
|
|
146
|
-
RECORDED, NOT AVERAGED (
|
|
146
|
+
RECORDED, NOT AVERAGED (the plates spec § 5.3). Two secondary readings of the
|
|
147
147
|
Alberta regular-series alphabet are in circulation: the world dossier
|
|
148
|
-
(
|
|
148
|
+
(the US-and-world research dossier § 2.1) reports
|
|
149
149
|
"excludes I, O, Q, U"; the per-province encyclopedia article reports that
|
|
150
150
|
"A, E, I, O, Q, U are skipped" — i.e. all vowels plus Q. No Alberta source
|
|
151
151
|
resolves it. NEITHER is asserted: no `regex_strict` narrows the
|
|
@@ -181,7 +181,7 @@ series:
|
|
|
181
181
|
arrangement every source reports and no Alberta publication states. The
|
|
182
182
|
reported first issue is June 2010; the encyclopedia row carries no
|
|
183
183
|
footnote for it, so it is tagged `secondary-wikipedia` under the
|
|
184
|
-
|
|
184
|
+
the plates spec § 4 Wikipedia condition (tagged + article URL, so that every
|
|
185
185
|
such fact is enumerable in one pass if the decision is revisited). The
|
|
186
186
|
base design itself is reported as introduced in late 1983 and refreshed
|
|
187
187
|
with an updated provincial logo in July 2019 — BASE AND FORMAT HAVE
|
|
@@ -189,7 +189,7 @@ series:
|
|
|
189
189
|
and neither reported base date is asserted as a series boundary here.
|
|
190
190
|
No `regex_strict` is offered: see common.charset_disagreement.
|
|
191
191
|
sources:
|
|
192
|
-
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Alberta # FINDING AID (
|
|
192
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Alberta # FINDING AID (the plates spec §4 Wikipedia row): the ABC-1234 arrangement, the reported June 2010 first issue, the reported 1983 base and 2019 logo refresh; accessed 2026-08-02"
|
|
193
193
|
- "https://kings-printer.alberta.ca/documents/Regs/2002_320.pdf # s. 63(1)-(2): the Registrar issues; the Minister approves number, type and colour"
|
|
194
194
|
|
|
195
195
|
- id: ca-ab-standard-3x3
|
|
@@ -216,7 +216,7 @@ series:
|
|
|
216
216
|
years before the reported ABC-1234 start, and NO SOURCE EXPLAINS THE GAP.
|
|
217
217
|
Because the end year is contested by that gap, the schema's known-over-
|
|
218
218
|
undated shape is used: `ended: true` with `year_end_min: 2003` rather than
|
|
219
|
-
a hard `end`, which is exactly the case
|
|
219
|
+
a hard `end`, which is exactly the case the plates spec § 2.2 introduced it
|
|
220
220
|
for. "Wild Rose Country" is reported as the slogan from 1973, i.e. it
|
|
221
221
|
spans both series and is not an era signal.
|
|
222
222
|
sources:
|
|
@@ -359,7 +359,7 @@ series:
|
|
|
359
359
|
program_count: 3
|
|
360
360
|
program_count_basis: "alberta.ca names exactly three specialty plates and links a page for each. Alberta publishes no total and no catalogue; three is what the authority lists, not an estimate."
|
|
361
361
|
notes: >-
|
|
362
|
-
THE INDEX ENTRY, per
|
|
362
|
+
THE INDEX ENTRY, per the plates spec § 2.5 (individual specialty DESIGNS are
|
|
363
363
|
L4 work). `period.start: 2014` is the enabling instrument, not a program
|
|
364
364
|
date: s. 63.1 was ADDED to AR 320/2002 by AR 160/2014 s. 2 and amended by
|
|
365
365
|
AR 77/2022. s. 63.1(3): the Registrar, "on the application of, and having
|
data/data/plates/ca-bc.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# plates/ca-bc.yml — British Columbia (
|
|
1
|
+
# plates/ca-bc.yml — British Columbia (the plates spec gate L3, Canada west).
|
|
2
2
|
#
|
|
3
3
|
# CANADA IS FEDERATED THE WAY THE UNITED STATES IS, AND THIS FILE IS THE
|
|
4
4
|
# per-subdivision shape the schema already carries (`us-fl.yml` is its
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
# ICBC's bulletin writes every pattern SOLID (`@###@@`, example `A123BC`).
|
|
67
67
|
# A physical BC passenger plate prints a visible gap between character
|
|
68
68
|
# groups, and secondary sources render the serial hyphenated (`A12-3BC`).
|
|
69
|
-
# ICBC states no separator glyph and no gap POSITION. Under
|
|
69
|
+
# ICBC states no separator glyph and no gap POSITION. Under the plates spec
|
|
70
70
|
# § 2.6 the dataset ships the printed form; where the authority itself
|
|
71
71
|
# prints the form solid and states nothing else, the solid form is what is
|
|
72
72
|
# shipped, and the gap is recorded as an open question rather than placed
|
|
@@ -119,7 +119,7 @@ instrument:
|
|
|
119
119
|
licence: "bclaws.gov.bc.ca content is Copyright (c) King's Printer, Victoria, British Columbia, Canada, published under the King's Printer licence; the statute and regulation are edicts of government. The ICBC bulletin is an ICBC publication, served without click-through, and is cited (facts extracted) rather than reproduced."
|
|
120
120
|
|
|
121
121
|
# ---------------------------------------------------------------------------
|
|
122
|
-
# artwork_risk —
|
|
122
|
+
# artwork_risk — the plates spec § 4 requires this per federated subdivision.
|
|
123
123
|
# ---------------------------------------------------------------------------
|
|
124
124
|
artwork_risk:
|
|
125
125
|
posture: unresearched-crown-copyright-presumed
|
|
@@ -133,7 +133,7 @@ artwork_risk:
|
|
|
133
133
|
asserting or disclaiming copyright in the PLATE DESIGN specifically, so the
|
|
134
134
|
posture is recorded as UNRESEARCHED and the § 3 placeholder default governs.
|
|
135
135
|
emblem_rule: >-
|
|
136
|
-
|
|
136
|
+
the plates spec § 3 placeholder rule applies to the provincial flag device on
|
|
137
137
|
the standard base and to all three BC Parks artworks (Kermode bear, Purcell
|
|
138
138
|
Mountains, Porteau Cove), which are commissioned photographic/illustrative
|
|
139
139
|
works, not statutory drawings. Render emblem slots as
|
|
@@ -267,7 +267,7 @@ series:
|
|
|
267
267
|
ICBC prints the pattern and its example SOLID. The physical plate shows
|
|
268
268
|
a group gap and secondary renderings hyphenate it (`A12-3BC`), but ICBC
|
|
269
269
|
states neither a glyph nor a gap POSITION, so none is asserted. A
|
|
270
|
-
|
|
270
|
+
the plates spec § 2.6 forgiving consumer strips the gap and matches this
|
|
271
271
|
regex unchanged.
|
|
272
272
|
progression: "not published. ICBC states only that the recut exists to extend the six-character space; no block-allocation order was found."
|
|
273
273
|
design:
|
|
@@ -339,7 +339,7 @@ series:
|
|
|
339
339
|
old inventories get exhausted") — which is why the two series overlap.
|
|
340
340
|
sources:
|
|
341
341
|
- "https://partners.icbc.com/assets/5GMseymkqs8E4Otb8osoGQ/bulletin-33-new-licence-plate-configurations.pdf # 'Current pattern' column = @@###@; old-inventory exhaustion rule"
|
|
342
|
-
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_British_Columbia # FINDING AID ONLY (
|
|
342
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_British_Columbia # FINDING AID ONLY (the plates spec §4 Wikipedia row): the unfootnoted 2014 start; accessed 2026-08-02"
|
|
343
343
|
|
|
344
344
|
# =========================================================================
|
|
345
345
|
# COMMERCIAL / FARM / TRAILER / PRORATE / INDUSTRIAL — the other seven rows
|