vehicles 0.6.1 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop_todo.yml +164 -0
- data/CHANGELOG.md +274 -0
- data/README.md +55 -10
- data/data/PROVENANCE-vehicles.md +12 -0
- data/data/plates/PROVENANCE.md +5 -4
- data/data/plates/_decode/at-districts.yml +287 -0
- data/data/plates/_decode/ch-cantons.yml +110 -0
- data/data/plates/_decode/cn-issuing-offices.yml +463 -0
- data/data/plates/_decode/cn-provinces.yml +614 -0
- data/data/plates/_decode/cz-kraj.yml +159 -0
- data/data/plates/_decode/dk-serial-blocks.yml +327 -0
- data/data/plates/_decode/fr-departements.yml +191 -0
- data/data/plates/_decode/gb-age-identifiers.yml +170 -0
- data/data/plates/_decode/gb-memory-tags.yml +202 -0
- data/data/plates/_decode/gr-prefectures.yml +1408 -0
- data/data/plates/_decode/hr-cities.yml +315 -0
- data/data/plates/_decode/ie-counties.yml +227 -0
- data/data/plates/_decode/in-state-codes.yml +169 -0
- data/data/plates/_decode/is-districts-1938.yml +116 -0
- data/data/plates/_decode/it-provinces.yml +348 -0
- data/data/plates/_decode/jp-office-marks.yml +960 -0
- data/data/plates/_decode/jp-use-marks.yml +205 -0
- data/data/plates/_decode/kr-authority-marks.yml +146 -0
- data/data/plates/_decode/kr-use-syllables.yml +194 -0
- data/data/plates/_decode/lu-series-order.yml +638 -0
- data/data/plates/_decode/mx-entity-series.yml +380 -0
- data/data/plates/_decode/my-index-marks.yml +271 -0
- data/data/plates/_decode/no-counties-1913.yml +148 -0
- data/data/plates/_decode/no-districts.yml +901 -0
- data/data/plates/_decode/pl-powiats.yml +567 -0
- data/data/plates/_decode/pt-trailer-services.yml +96 -0
- data/data/plates/_decode/ro-counties.yml +213 -0
- data/data/plates/_decode/se-diplomatic.yml +220 -0
- data/data/plates/_decode/si-regions.yml +123 -0
- data/data/plates/_decode/sk-districts.yml +314 -0
- data/data/plates/_decode/th-registration-elements.yml +208 -0
- data/data/plates/_decode/ua-regions.yml +393 -0
- data/data/plates/_decode/za-licence-marks.yml +215 -0
- data/data/plates/_meta/classes.yml +1 -0
- data/data/plates/_meta/separators.yml +102 -0
- data/data/plates/ad.yml +961 -0
- data/data/plates/ar.yml +762 -0
- data/data/plates/at.yml +1424 -0
- data/data/plates/au-act.yml +472 -0
- data/data/plates/au-nsw.yml +282 -0
- data/data/plates/au-nt.yml +431 -0
- data/data/plates/au-qld.yml +272 -0
- data/data/plates/au-sa.yml +248 -0
- data/data/plates/au-tas.yml +302 -0
- data/data/plates/au-vic.yml +215 -0
- data/data/plates/au-wa.yml +309 -0
- data/data/plates/be.yml +1840 -0
- data/data/plates/br.yml +1152 -0
- data/data/plates/ca-ab.yml +430 -0
- data/data/plates/ca-bc.yml +697 -0
- data/data/plates/ca-mb.yml +499 -0
- data/data/plates/ca-nb.yml +537 -0
- data/data/plates/ca-nl.yml +743 -0
- data/data/plates/ca-ns.yml +808 -0
- data/data/plates/ca-nt.yml +610 -0
- data/data/plates/ca-nu.yml +280 -0
- data/data/plates/ca-on.yml +881 -0
- data/data/plates/ca-pe.yml +592 -0
- data/data/plates/ca-qc.yml +1036 -0
- data/data/plates/ca-sk.yml +256 -0
- data/data/plates/ca-yt.yml +656 -0
- data/data/plates/ch.yml +1273 -0
- data/data/plates/cn.yml +1431 -0
- data/data/plates/cy.yml +688 -0
- data/data/plates/cz.yml +1179 -0
- data/data/plates/de.yml +553 -118
- data/data/plates/dk.yml +1647 -0
- data/data/plates/ee.yml +1275 -0
- data/data/plates/es.yml +228 -32
- data/data/plates/fi.yml +1271 -0
- data/data/plates/fr.yml +1265 -0
- data/data/plates/gb.yml +1188 -0
- data/data/plates/gr.yml +721 -0
- data/data/plates/hr.yml +860 -0
- data/data/plates/hu.yml +959 -0
- data/data/plates/ie.yml +775 -0
- data/data/plates/in.yml +1172 -0
- data/data/plates/is.yml +667 -0
- data/data/plates/it.yml +1317 -0
- data/data/plates/jp.yml +3650 -0
- data/data/plates/kr.yml +1375 -0
- data/data/plates/li.yml +1010 -0
- data/data/plates/lt.yml +879 -0
- data/data/plates/lu.yml +842 -0
- data/data/plates/lv.yml +924 -0
- data/data/plates/mc.yml +1024 -0
- data/data/plates/mt.yml +854 -0
- data/data/plates/mx.yml +1372 -0
- data/data/plates/my.yml +685 -0
- data/data/plates/nl.yml +44 -0
- data/data/plates/no.yml +1018 -0
- data/data/plates/nz.yml +1699 -0
- data/data/plates/pl.yml +1296 -0
- data/data/plates/pt.yml +847 -0
- data/data/plates/ro.yml +785 -0
- data/data/plates/se.yml +1091 -0
- data/data/plates/si.yml +1105 -0
- data/data/plates/sk.yml +1439 -0
- data/data/plates/sm.yml +1119 -0
- data/data/plates/th.yml +1150 -0
- data/data/plates/ua.yml +1672 -0
- data/data/plates/us-ak.yml +763 -0
- data/data/plates/us-al.yml +457 -0
- data/data/plates/us-ar.yml +427 -0
- data/data/plates/us-as.yml +454 -0
- data/data/plates/us-az.yml +430 -0
- data/data/plates/us-ca.yml +892 -0
- data/data/plates/us-co.yml +452 -0
- data/data/plates/us-ct.yml +427 -0
- data/data/plates/us-dc.yml +614 -0
- data/data/plates/us-de.yml +551 -0
- data/data/plates/us-fl.yml +319 -96
- data/data/plates/us-ga.yml +644 -0
- data/data/plates/us-gu.yml +658 -0
- data/data/plates/us-hi.yml +585 -0
- data/data/plates/us-ia.yml +438 -0
- data/data/plates/us-id.yml +531 -0
- data/data/plates/us-il.yml +516 -0
- data/data/plates/us-in.yml +324 -0
- data/data/plates/us-ks.yml +351 -0
- data/data/plates/us-ky.yml +770 -0
- data/data/plates/us-la.yml +568 -0
- data/data/plates/us-ma.yml +379 -0
- data/data/plates/us-md.yml +536 -0
- data/data/plates/us-me.yml +445 -0
- data/data/plates/us-mi.yml +408 -0
- data/data/plates/us-mn.yml +411 -0
- data/data/plates/us-mo.yml +356 -0
- data/data/plates/us-mp.yml +402 -0
- data/data/plates/us-ms.yml +432 -0
- data/data/plates/us-mt.yml +619 -0
- data/data/plates/us-nc.yml +602 -0
- data/data/plates/us-nd.yml +419 -0
- data/data/plates/us-ne.yml +483 -0
- data/data/plates/us-nh.yml +394 -0
- data/data/plates/us-nj.yml +547 -0
- data/data/plates/us-nm.yml +574 -0
- data/data/plates/us-nv.yml +655 -0
- data/data/plates/us-ny.yml +592 -0
- data/data/plates/us-oh.yml +404 -0
- data/data/plates/us-ok.yml +513 -0
- data/data/plates/us-or.yml +392 -0
- data/data/plates/us-pa.yml +506 -0
- data/data/plates/us-pr.yml +507 -0
- data/data/plates/us-ri.yml +445 -0
- data/data/plates/us-sc.yml +605 -0
- data/data/plates/us-sd.yml +428 -0
- data/data/plates/us-tn.yml +471 -0
- data/data/plates/us-tx.yml +535 -0
- data/data/plates/us-ut.yml +384 -0
- data/data/plates/us-va.yml +567 -0
- data/data/plates/us-vi.yml +489 -0
- data/data/plates/us-vt.yml +458 -0
- data/data/plates/us-wa.yml +484 -0
- data/data/plates/us-wi.yml +509 -0
- data/data/plates/us-wv.yml +446 -0
- data/data/plates/us-wy.yml +523 -0
- data/data/plates/va.yml +604 -0
- data/data/plates/za.yml +1141 -0
- data/data/vehicles.json +160653 -105090
- data/lib/vehicles/configuration.rb +17 -3
- data/lib/vehicles/dataset.rb +73 -18
- data/lib/vehicles/fuzzy.rb +115 -0
- data/lib/vehicles/http.rb +48 -0
- data/lib/vehicles/make.rb +36 -6
- data/lib/vehicles/mcp_server.rb +5 -5
- data/lib/vehicles/model.rb +21 -2
- data/lib/vehicles/plates/series.rb +172 -18
- data/lib/vehicles/plates/template_fill.rb +188 -0
- data/lib/vehicles/plates/templates.rb +162 -0
- data/lib/vehicles/plates.rb +12 -0
- data/lib/vehicles/providers/hosted_provider.rb +28 -55
- data/lib/vehicles/validators/vehicle_make_validator.rb +3 -1
- data/lib/vehicles/validators/vehicle_model_validator.rb +1 -1
- data/lib/vehicles/version.rb +1 -1
- data/lib/vehicles.rb +32 -16
- data/rakelib/data_refresh.rake +109 -0
- data/rakelib/plates_refresh.rake +29 -0
- data/sig/vehicles.rbs +18 -0
- metadata +164 -2
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# plates/ca-sk.yml — Saskatchewan (PRD-PLATES gate L3, Canada west).
|
|
2
|
+
#
|
|
3
|
+
# ── THE HONEST HEADLINE: THIS IS THE THINNEST FILE IN THE CANADA-WEST GROUP,
|
|
4
|
+
# AND THE REASON IS INFRASTRUCTURE, NOT SASKATCHEWAN.
|
|
5
|
+
#
|
|
6
|
+
# Two things had to be reached to source Saskatchewan properly and neither was:
|
|
7
|
+
#
|
|
8
|
+
# * THE STATUTE AND REGULATIONS. Saskatchewan publishes its consolidated law
|
|
9
|
+
# through publications.saskatchewan.ca, whose document IDs are only
|
|
10
|
+
# discoverable through a JavaScript front end. The REST API was probed
|
|
11
|
+
# directly (`/api/v1/products?...`, `/api/v1/products/{id}`,
|
|
12
|
+
# `/api/v1/products/{id}/formats/{fid}/download`, `/api/v1/freelaw/...`)
|
|
13
|
+
# and every path either 404s or rejects the parameter shape; the legacy
|
|
14
|
+
# qp.gov.sk.ca statute paths no longer resolve; the pubsask blob-storage
|
|
15
|
+
# paths 404. No Saskatchewan statute or regulation was read in this pass.
|
|
16
|
+
# WebSearch was unavailable (session budget exhausted at the first call),
|
|
17
|
+
# so ID discovery by search was not possible either.
|
|
18
|
+
# * SGI'S OWN PAGES. sgi.sk.ca is a Liferay single-page application: the
|
|
19
|
+
# licence-plate and personalized-plate URLs return HTTP 200 with a shell
|
|
20
|
+
# containing navigation only, and no plate rules in the served HTML.
|
|
21
|
+
#
|
|
22
|
+
# What WAS reached is worth having and is the spine of this file: two
|
|
23
|
+
# Government of Saskatchewan NEWS RELEASES, served in full, dated, attributed,
|
|
24
|
+
# and quoting the responsible minister. They settle the single-plate question
|
|
25
|
+
# to the DAY. Everything about the SERIAL, by contrast, is secondary.
|
|
26
|
+
#
|
|
27
|
+
# ── THE ONE HARD FACT, VERBATIM ────────────────────────────────────────────
|
|
28
|
+
#
|
|
29
|
+
# Government of Saskatchewan, "SASKATCHEWAN MOVES TO A SINGLE PLATE ON JUNE
|
|
30
|
+
# 30TH", 28 June 2004:
|
|
31
|
+
# "Saskatchewan's new, single licence plate system will take effect on
|
|
32
|
+
# June 30th."
|
|
33
|
+
# "Because the legislative and administrative changes required were completed
|
|
34
|
+
# faster than expected, the single plate system is being introduced a month
|
|
35
|
+
# earlier than previously announced," Minister responsible for SGI Maynard
|
|
36
|
+
# Sonntag said.
|
|
37
|
+
# "Starting June 30th, SGI will issue a single plate on transactions requiring
|
|
38
|
+
# a new plate. On existing registrations, customers will have the choice to
|
|
39
|
+
# remove their existing front plate."
|
|
40
|
+
# "Alberta, Quebec, Newfoundland and Labrador, Nova Scotia, Prince Edward
|
|
41
|
+
# Island and the three territories use single licence plates."
|
|
42
|
+
#
|
|
43
|
+
# Three things that release gives us that no encyclopedia table can. (1) A
|
|
44
|
+
# CHANGEOVER DATE, 30 June 2004, from the government that made it. (2) The
|
|
45
|
+
# TRANSITION MECHANICS: new plates single from that date, existing registrations
|
|
46
|
+
# grandfathered with an OPTION to remove the front plate — so Saskatchewan front
|
|
47
|
+
# plates remained lawfully in service indefinitely after 2004, and a
|
|
48
|
+
# two-plate Saskatchewan vehicle is not evidence of a pre-2004 registration.
|
|
49
|
+
# (3) A CROSS-JURISDICTION ROLL-CALL that independently corroborates the
|
|
50
|
+
# single-plate finding in plates/ca-ab.yml, plates/ca-yt.yml, plates/ca-nt.yml
|
|
51
|
+
# and plates/ca-nu.yml — cited in each of those files, from outside.
|
|
52
|
+
#
|
|
53
|
+
# ── PERIOD DISCIPLINE, STATED UP FRONT ─────────────────────────────────────
|
|
54
|
+
# Every serial-format claim below is graded `secondary-wikipedia` under the
|
|
55
|
+
# PRD-PLATES § 4 Wikipedia row's tagging condition. None of them is traced to a
|
|
56
|
+
# Saskatchewan instrument or to SGI, because neither was reachable. A verifier
|
|
57
|
+
# with working access to publications.saskatchewan.ca should treat every such
|
|
58
|
+
# grade as an open item; they are enumerated in the dossier.
|
|
59
|
+
jurisdiction: ca-sk
|
|
60
|
+
authority:
|
|
61
|
+
name: Saskatchewan Government Insurance (SGI), as administrator of the Saskatchewan Auto Fund and the driver and vehicle registry
|
|
62
|
+
url: "https://sgi.sk.ca/personalized-plates"
|
|
63
|
+
authority_url_note: >-
|
|
64
|
+
sgi.sk.ca serves a JavaScript application; this URL returns HTTP 200 with no
|
|
65
|
+
substantive body text. It is recorded as the correct address. NOTHING in this
|
|
66
|
+
file is sourced to it.
|
|
67
|
+
binding: vehicle
|
|
68
|
+
binding_note: >-
|
|
69
|
+
Not established from any Saskatchewan instrument in this pass. Saskatchewan
|
|
70
|
+
registers vehicles through SGI and issues plates against the registration; the
|
|
71
|
+
transfer rules were not read. Recorded gap.
|
|
72
|
+
instrument:
|
|
73
|
+
status: not-read
|
|
74
|
+
note: >-
|
|
75
|
+
NEGATIVE FINDING, recorded so nobody repeats the hunt. The Traffic Safety
|
|
76
|
+
Act (S.S. 2004, c. T-18.1) and its vehicle-registration regulations are the
|
|
77
|
+
instruments that would carry Saskatchewan's plate law. Neither was obtained:
|
|
78
|
+
see the header for the exact paths probed on publications.saskatchewan.ca,
|
|
79
|
+
pubsaskdev.blob.core.windows.net and qp.gov.sk.ca, all of which failed on
|
|
80
|
+
2026-08-02.
|
|
81
|
+
news_releases:
|
|
82
|
+
- citation: "Government of Saskatchewan, 'SASKATCHEWAN MOVES TO A SINGLE PLATE ON JUNE 30TH', 28 June 2004"
|
|
83
|
+
source: "https://www.saskatchewan.ca/government/news-and-media/2004/june/28/saskatchewan-moves-to-a-single-plate-on-june-30th # full body served and read 2026-08-02"
|
|
84
|
+
- citation: "Government of Saskatchewan, 'SASKATCHEWAN LICENCE PLATES ARE GOING STICKERLESS', 2 October 2012"
|
|
85
|
+
source: "https://www.saskatchewan.ca/government/news-and-media/2012/october/02/saskatchewan-licence-plates-are-going-stickerless # headline and date confirmed by direct fetch 2026-08-02; the body did not extract from the served markup, so ONLY the headline claim is used"
|
|
86
|
+
licence: "saskatchewan.ca news releases are Government of Saskatchewan publications. Facts extracted, quoted for the operative sentences, not reproduced wholesale."
|
|
87
|
+
|
|
88
|
+
artwork_risk:
|
|
89
|
+
posture: unresearched-crown-copyright-presumed
|
|
90
|
+
basis: >-
|
|
91
|
+
Crown copyright under s. 12 of the Copyright Act (Canada) is the default and
|
|
92
|
+
no Saskatchewan disclaimer was found — nor could one be looked for properly,
|
|
93
|
+
since neither the Queen's/King's Printer nor SGI was reachable in a form
|
|
94
|
+
that serves text. Recorded as UNRESEARCHED. Note one structural difference
|
|
95
|
+
from every other jurisdiction in this group: Saskatchewan's plate authority
|
|
96
|
+
is a CROWN INSURANCE CORPORATION with commercial operations, as British
|
|
97
|
+
Columbia's is, which makes the "edict of government" argument weaker for
|
|
98
|
+
SGI's own materials than for a statute.
|
|
99
|
+
emblem_rule: "PRD-PLATES § 3 placeholder default applies to the wheat device reported at the centre of the standard base."
|
|
100
|
+
sources:
|
|
101
|
+
- "https://www.saskatchewan.ca/government/news-and-media/2004/june/28/saskatchewan-moves-to-a-single-plate-on-june-30th # the province's own publication of the plate regime"
|
|
102
|
+
|
|
103
|
+
display_rules:
|
|
104
|
+
count: >-
|
|
105
|
+
ONE plate since 30 June 2004, with the pre-2004 front plate lawfully
|
|
106
|
+
retained at the owner's option. Verbatim: "Starting June 30th, SGI will
|
|
107
|
+
issue a single plate on transactions requiring a new plate. On existing
|
|
108
|
+
registrations, customers will have the choice to remove their existing front
|
|
109
|
+
plate." CONSEQUENCE A CONSUMER MUST NOT MISS: because removal was OPTIONAL
|
|
110
|
+
rather than mandatory, a Saskatchewan vehicle carrying two plates is not
|
|
111
|
+
thereby datable, and the 2004 boundary is a boundary in ISSUANCE, not in
|
|
112
|
+
what is on the road.
|
|
113
|
+
before_2004: "Front and rear plates were required. The instrument that required them was not read (see instrument.status)."
|
|
114
|
+
validation_sticker: >-
|
|
115
|
+
Saskatchewan went STICKERLESS: Government of Saskatchewan news release of
|
|
116
|
+
2 October 2012, headline verbatim, "SASKATCHEWAN LICENCE PLATES ARE GOING
|
|
117
|
+
STICKERLESS". Only the headline is relied on — the release body did not
|
|
118
|
+
extract from the served markup — so the claim carried here is exactly that
|
|
119
|
+
and no more: from around that date a Saskatchewan plate stops carrying a
|
|
120
|
+
validity decal. The effective date is NOT asserted.
|
|
121
|
+
sources:
|
|
122
|
+
- "https://www.saskatchewan.ca/government/news-and-media/2004/june/28/saskatchewan-moves-to-a-single-plate-on-june-30th # single-plate date and transition mechanics, quoted verbatim"
|
|
123
|
+
- "https://www.saskatchewan.ca/government/news-and-media/2012/october/02/saskatchewan-licence-plates-are-going-stickerless # headline only"
|
|
124
|
+
|
|
125
|
+
common:
|
|
126
|
+
separator_note: >-
|
|
127
|
+
The Saskatchewan serial is universally rendered as two groups of three with
|
|
128
|
+
a printed gap (`123 ABC`). No Saskatchewan source states a separator glyph.
|
|
129
|
+
Under PRD-PLATES § 2.8 the position is spelled with the sanctioned
|
|
130
|
+
separator-only class, and `pattern` shows the canonical printed space.
|
|
131
|
+
dimensions_note: >-
|
|
132
|
+
NEGATIVE FINDING. No dimension is sourced. The reported 12 x 6 in /
|
|
133
|
+
30 x 15 cm North American convention is recorded here and asserted nowhere;
|
|
134
|
+
`design.plate` is absent from every series.
|
|
135
|
+
alphabet_note: >-
|
|
136
|
+
THE ONE GENUINELY INTERESTING SERIAL FACT ABOUT SASKATCHEWAN IS AN ALPHABET
|
|
137
|
+
WIDENING, AND IT IS SECONDARY. The per-province encyclopedia article reports
|
|
138
|
+
that letters I, O, Q, U and V were not used until 2009, when I, Q, U and V
|
|
139
|
+
were added to current serials — leaving O as the only permanent exclusion.
|
|
140
|
+
If that is right, a Saskatchewan serial containing I, Q, U or V is
|
|
141
|
+
2009-or-later, which is a genuine era signal and the file's most useful
|
|
142
|
+
parse fact. It is NOT encoded in any `regex_strict`, because this programme
|
|
143
|
+
only ships a strict twin where the AUTHORITY states the alphabet (contrast
|
|
144
|
+
plates/ca-bc.yml, where ICBC states it in terms). Carried as
|
|
145
|
+
`charset.excluded` with its secondary grade instead.
|
|
146
|
+
|
|
147
|
+
series:
|
|
148
|
+
|
|
149
|
+
- id: ca-sk-standard
|
|
150
|
+
class: standard
|
|
151
|
+
categories: [car, van, truck, bus]
|
|
152
|
+
period: { start: 1998 }
|
|
153
|
+
period_evidence: secondary-wikipedia
|
|
154
|
+
matching: strict
|
|
155
|
+
format:
|
|
156
|
+
pattern: "999 LLL"
|
|
157
|
+
regex: '\A\d{3}[- ]?[A-Z]{3}\z'
|
|
158
|
+
evidence: secondary
|
|
159
|
+
charset:
|
|
160
|
+
excluded: ["O"]
|
|
161
|
+
excluded_before_2009: ["I", "O", "Q", "U", "V"]
|
|
162
|
+
notes: >-
|
|
163
|
+
Secondary only; see common.alphabet_note. The two lists are recorded
|
|
164
|
+
separately rather than merged because the DIFFERENCE between them is
|
|
165
|
+
the era signal, and merging would destroy it.
|
|
166
|
+
progression: "not published"
|
|
167
|
+
design:
|
|
168
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
169
|
+
foreground: "#00693E"
|
|
170
|
+
legend_top: "SASKATCHEWAN"
|
|
171
|
+
legend_bottom: "Land of Living Skies"
|
|
172
|
+
emblem: { present: true, rendered: placeholder, description: "screened wheat graphic, centre" }
|
|
173
|
+
material: "aluminum (reported)"
|
|
174
|
+
design_basis: secondary
|
|
175
|
+
rear_differs: false
|
|
176
|
+
notes: >-
|
|
177
|
+
NUMERALS FIRST, LETTERS SECOND, REPORTED FROM MAY 1998 — the inverse of
|
|
178
|
+
the arrangement it replaced, which is the whole change. Both the
|
|
179
|
+
arrangement and the 1998 date come from the per-province encyclopedia
|
|
180
|
+
article's format table, tagged accordingly; no SGI or Saskatchewan source
|
|
181
|
+
was reachable to confirm either. The same table lists a further row
|
|
182
|
+
beginning "early 2009" with the SAME arrangement, which on inspection is
|
|
183
|
+
an ALPHABET change and not a format change (see common.alphabet_note) —
|
|
184
|
+
so it is recorded as a charset fact inside this series rather than minted
|
|
185
|
+
as a second series, on the PRD-PLATES § 2.3 test (own series iff format OR
|
|
186
|
+
design OR period differs; a charset widening inside one arrangement is
|
|
187
|
+
none of the three).
|
|
188
|
+
THE STRONGEST THING IN THIS RECORD IS NOT THE FORMAT. It is the display
|
|
189
|
+
regime: single plate since 30 June 2004, stickerless since around October
|
|
190
|
+
2012, both from the province's own releases. A current Saskatchewan
|
|
191
|
+
vehicle therefore shows ONE plate carrying NO validity marker — the same
|
|
192
|
+
end state Idaho reached in July 2026 by abolishing both its sticker and
|
|
193
|
+
its replacement cycle, arrived at eleven years earlier by a different
|
|
194
|
+
route.
|
|
195
|
+
sources:
|
|
196
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Saskatchewan # FINDING AID (PRD-PLATES §4 Wikipedia row): 123 ABC reported from May 1998, the 2009 alphabet widening, the green-on-white wheat design, 'Land of Living Skies', aluminium; accessed 2026-08-02"
|
|
197
|
+
- "https://www.saskatchewan.ca/government/news-and-media/2004/june/28/saskatchewan-moves-to-a-single-plate-on-june-30th # the single-plate regime this series is issued under"
|
|
198
|
+
|
|
199
|
+
- id: ca-sk-standard-1977
|
|
200
|
+
class: standard
|
|
201
|
+
categories: [car, van, truck, bus]
|
|
202
|
+
period: { start: 1977, end: 1998 }
|
|
203
|
+
period_evidence: secondary-wikipedia
|
|
204
|
+
matching: strict
|
|
205
|
+
format:
|
|
206
|
+
pattern: "LLL 999"
|
|
207
|
+
regex: '\A[A-Z]{3}[- ]?\d{3}\z'
|
|
208
|
+
evidence: secondary
|
|
209
|
+
charset:
|
|
210
|
+
excluded: ["I", "O", "Q", "U", "V"]
|
|
211
|
+
design:
|
|
212
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
213
|
+
foreground: "#00693E"
|
|
214
|
+
legend_top: "SASKATCHEWAN"
|
|
215
|
+
design_basis: secondary
|
|
216
|
+
rear_differs: false
|
|
217
|
+
notes: >-
|
|
218
|
+
THE "ONE SERIES BACK". Three letters then three numerals, reported from
|
|
219
|
+
1977 to May 1998, and issued under the TWO-PLATE regime that ran until
|
|
220
|
+
30 June 2004 — so this series' vehicles are the ones the 2004 release's
|
|
221
|
+
grandfathering clause is about. Entirely secondary. Everything before
|
|
222
|
+
1977 (a numeric `12-345` reported from 1923 and shorter numerics before
|
|
223
|
+
that) is NOT authored: one unfootnoted table is not enough to mint
|
|
224
|
+
decades of series.
|
|
225
|
+
sources:
|
|
226
|
+
- "https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Saskatchewan # FINDING AID: ABC 123 reported 1977 - May 1998; accessed 2026-08-02"
|
|
227
|
+
- "https://www.saskatchewan.ca/government/news-and-media/2004/june/28/saskatchewan-moves-to-a-single-plate-on-june-30th # the two-plate regime in force throughout this series"
|
|
228
|
+
|
|
229
|
+
- id: ca-sk-personalized
|
|
230
|
+
class: personalized
|
|
231
|
+
categories: [car, van, truck, motorcycle]
|
|
232
|
+
period: { start: 1998 }
|
|
233
|
+
period_evidence: not-established
|
|
234
|
+
matching: recall-only
|
|
235
|
+
format:
|
|
236
|
+
pattern: "LLLLLL"
|
|
237
|
+
regex: '\A[A-Z0-9](?:[- ]?[A-Z0-9])*\z'
|
|
238
|
+
evidence: none-obtained
|
|
239
|
+
design:
|
|
240
|
+
background: { color: "#FFFFFF", finish: retroreflective, hex_basis: observed }
|
|
241
|
+
foreground: "#00693E"
|
|
242
|
+
design_basis: secondary
|
|
243
|
+
notes: >-
|
|
244
|
+
AUTHORED AS AN EXISTENCE CLAIM ONLY, AND MARKED AS SUCH. SGI serves a page
|
|
245
|
+
at /personalized-plates (HTTP 200), so the programme exists; its rules —
|
|
246
|
+
character count, permitted characters, eligible classes, the design
|
|
247
|
+
catalogue — are behind a JavaScript front end that serves no body text,
|
|
248
|
+
and no Saskatchewan instrument was reachable to supply them. `period.start`
|
|
249
|
+
is a schema-satisfying floor tied to the current standard series and is
|
|
250
|
+
graded `not-established`: it must not be read as a claim. The regex is an
|
|
251
|
+
unbounded catch-all because Saskatchewan publishes no length bound that
|
|
252
|
+
was reachable — contrast plates/ca-yt.yml, whose regulation caps
|
|
253
|
+
personalized plates at six characters, and plates/ca-bc.yml, whose agency
|
|
254
|
+
bulletin caps every plate type at six.
|
|
255
|
+
sources:
|
|
256
|
+
- "https://sgi.sk.ca/personalized-plates # HTTP 200, JavaScript shell; existence of the programme only"
|