Code, design and documents 4 files
docs/DATA-MAINTENANCE.md +7 −5
@@ -225,9 +225,11 @@ context:
- **`driving.status`** describes the reviewed offence trigger: `impairment` (evidence of drug
- influence or impaired driving), `limit` (a set THC level in blood or saliva is an offence by itself),
- `consumption` (a prohibition after drug consumption without a verified laboratory THC cutoff)
- or `zero` (any detectable THC). Do not infer a detectable-THC offence merely from a prohibition
- after consumption. Give the limit and its unit, the penalty and licence consequences,
- and any separate rule for medical patients, novice or professional drivers.
+ influence or impaired driving), `capacity` (the drug is in a biological sample and was capable
+ of affecting driving; proof of a driving error is a separate question), `limit` (a set THC level
+ in blood or saliva is an offence by itself), `consumption` (a prohibition after drug consumption
+ without a verified laboratory THC cutoff) or `zero` (any detectable THC). Do not infer a
+ detectable-THC offence merely from a prohibition after consumption, and do not use `zero` when
+ a binding ruling requires more than detection. Give the limit and its unit, the penalty and
+ licence consequences, and any separate rule for medical patients, novice or professional drivers.
- **`visitors.status`** is whether someone who does not live in the country can get cannabis
legally: `open` (same terms as residents), `residents` (legal supply is for residents only) or
docs/research/profile-legal-ro-uy-jm-2026-10-23.md +29 −0
@@ -0,0 +1,29 @@
+# Romania driving, Uruguay possession, Jamaica visitors — 23 October 2026
+
+Issues #58, #59 and #60. There is no issue #69. Freedom scores were left as they were.
+
+## Romania (#58)
+
+Decision No. 25 of the High Court of Cassation and Justice, 27 January 2025, was read on the legislative portal. It was published in Official Gazette No. 70 of 28 January 2025 and is binding from that publication. For Penal Code article 336(2), the court requires both the psychoactive substance in a biological sample and the substance's capacity to affect the driver's ability to drive. Paragraphs 147 to 150 say the offence does not require proof of a concrete change in the driver's behaviour, and that detection alone is not enough, because a drug can remain detectable after its psychoactive effect has ended. The ruling sets no numerical THC cutoff.
+
+Law No. 172 of 31 May 2024, Article III, replaces article 336. The ordinary offence is one to five years and a ban on exercising rights. The aggravated cases in subsection (3) are two to seven years and the same ban. The law was published in Official Gazette No. 510 of 31 May 2024. The text that was opened does not state a commencement date. A private consolidation dates the new article from 3 June 2024; that page was read and was not used as the history date. The history entry uses 28 January 2025, the day the court ruling became binding.
+
+Article 66, as amended by the same law, sets the length of a rights ban at one to five years for most listed rights and one to ten years for one of them. The list of rights was not in the amending section that was read, so the profile does not say how long a driving ban lasts. Roadside screening, refusal penalties and the 90-day licence suspension in the old profile were not re-read and were removed. The EUDA country table was not opened.
+
+`driving.status` was `zero`, which the site uses for an offence proved by any detectable THC. The ruling is neither that nor a requirement to prove impaired driving, and it is not a numeric limit. A `capacity` status was added for this standard. The possession score stays at 1. The history entry is unscored because it is a driving rule.
+
+The issue's link for Law 172 pointed at portal document 283096. That page is Government Decision 534 of 2024, about a building project, and it was not used.
+
+## Uruguay (#59)
+
+Law 19.172, article 7, original text on IMPO, replaces article 31 of Decree-Law 14.294. A person who transports, holds, stores or possesses a quantity meant for personal consumption is exempt. The judge assesses that purpose. Up to 40 grams of marijuana is treated as a personal amount. The same article separately covers a harvest of up to six plants at home, and a club's harvest, when grown as the law allows. The text does not require the cannabis to have come from a pharmacy, a club or a registered grow for the personal-use exemption.
+
+Decree 120/014, article 39, authorises possession of psychoactive cannabis for personal use and repeats the 40 gram measure. The IRCCA FAQ named in the issue timed out and was not used. The Transnational Institute overview was not opened. The old "since 1974" sentence was not re-read in the 1974 decree and was dropped. The prison term for unauthorised supply was not in article 31 as read, so the enforcement line no longer states a number of years.
+
+Possession stays at 6. Enforcement stays at 6.
+
+## Jamaica (#60)
+
+The Ministry of Justice fact sheet on the Dangerous Drugs (Amendment) Act 2015 was read from the Financial Investigations Division copy. Paragraphs 28 and 29: a person who does not ordinarily live in Jamaica may apply for a Ministry of Health permit to buy and possess up to 2 ounces at a time for medical or therapeutic purposes. The applicant produces evidence of a recommendation or prescription from a licensed doctor in the country where they live, or signs a voluntary declaration confirming that. A fee is payable. Paragraphs 6 to 10 and 11 to 12 give the J$500 ticket for up to 2 ounces and for public smoking, and the medical-recommendation exception to the possession rules.
+
+The current Ministry of Justice statute reprint is a large PDF and did not finish downloading, so section 7D was not read from that reprint. The 2015 parliamentary bill PDF has no extractable text. The profile follows the fact sheet. It does not say that a dispensary arranges a doctor on the spot, and it does not say how a permit is processed in 2026. The Cannabis Licensing Authority retail note named in the issue was not opened. Visitors stay at `open` because a visitor may lawfully buy under the permit; the chip's "same as residents" is the nearest existing status. Access stays at 4.
scripts/history-scope.test.cjs +27 −0
@@ -556,2 +556,29 @@ test("Maryland through Oklahoma state profiles follow the texts that were read",
assert.equal(ok.scores.sharing, 1);
});
+
+test("Romania's drug-driving ruling, Uruguay's possession exemption and Jamaica's visitor permit follow the texts that were read", () => {
+ const ro = y.load(fs.readFileSync("countries/ro.yaml", "utf8"));
+ const uy = y.load(fs.readFileSync("countries/uy.yaml", "utf8"));
+ const jm = y.load(fs.readFileSync("countries/jm.yaml", "utf8"));
+ const ruling = byId["romania-drug-driving-capacity-2025"];
+ assert.equal(ro.context.driving.status, "capacity");
+ assert.match(ro.context.driving.text, /capable of affecting/);
+ assert.match(ro.context.driving.text, /one to five years/);
+ assert.match(ro.context.driving.text, /two to seven years/);
+ assert.doesNotMatch(ro.context.driving.text, /offence is committed if a controlled/);
+ assert.equal(ro.scores.possession, 1);
+ assert.equal(ruling.date, "2025-01-28");
+ assert.equal(ruling.before, undefined);
+ assert.equal(ruling.category, "easing");
+ assert.match(ruling.unscored, /possession score does not move/);
+ assert.match(uy.segments.possession.text, /40 g/);
+ assert.match(uy.segments.possession.text, /pharmacy, a club or a/);
+ assert.doesNotMatch(uy.segments.possession.text, /only 'legal'/);
+ assert.match(uy.segments.enforcement.text, /whether or not/);
+ assert.equal(uy.scores.possession, 6);
+ assert.match(jm.segments.access.text, /voluntary declaration/);
+ assert.match(jm.context.visitors.text, /Ministry of Health/);
+ assert.doesNotMatch(jm.segments.access.text, /prescription from home can buy a permit/);
+ assert.equal(jm.context.visitors.status, "open");
+ assert.equal(jm.scores.access, 4);
+});
src/lib/segment-ids.js +3 −2
@@ -31,4 +31,5 @@ export const CLUBS_STATUS = {
export const DRIVING_STATUS = {
impairment: { label: "Impairment must be shown", tone: "legal", help: "The reviewed driving offence requires evidence of drug influence or impairment; additional offences may apply" },
+ capacity: { label: "Capable of affecting driving", tone: "decrim", help: "A conviction needs the drug in a biological sample and proof it was capable of affecting driving. A driving mistake is outside that proof" },
limit: { label: "Fixed THC limit", tone: "decrim", help: "A set THC level in blood or saliva is an offence by itself, whether or not the driver is impaired" },
consumption: { label: "After consumption", tone: "partial", help: "The statute prohibits driving after drug consumption; this does not establish a laboratory THC cutoff" },
@@ -47,6 +48,6 @@ export const STATUS_SECTIONS = {
sub: "Green means cannabis clubs are regulated or tolerated, orange that they work underground, red that none are known.",
note: "The footing cannabis clubs stand on. Licensed shops and pharmacies are not counted as clubs." },
- driving: { name: "Driving", chip: "Driving", statuses: DRIVING_STATUS, tiers: { impairment: 5, limit: 3, consumption: 2, zero: 0 },
- sub: "Green marks a drug-influence or impairment offence, yellow a fixed THC limit, orange a prohibition after consumption, and red a detectable-THC offence. Read each profile for additional rules.",
+ driving: { name: "Driving", chip: "Driving", statuses: DRIVING_STATUS, tiers: { impairment: 5, capacity: 4, limit: 3, consumption: 2, zero: 0 },
+ sub: "Green marks a drug-influence or impairment offence, light green a rule that needs proof the drug could affect driving, yellow a fixed THC limit, orange a prohibition after consumption, and red a detectable-THC offence. Read each profile for additional rules.",
note: "What the law needs to convict a driver who has used cannabis." },
visitors: { name: "Visitors and foreigners", chip: "Visitors", statuses: VISITORS_STATUS, tiers: { open: 5, residents: 3, none: 0 },