Code, design and documents 24 files
datasets/datasets.yaml +195 −0
@@ -825,2 +825,197 @@
- { label: the population column of the rankings, path: "#rankings" }
- { label: research progress weighted by population, path: research/ }
+- id: espad_availability
+ file: espad-2024-cannabis-availability.csv
+ name: Is cannabis easy to get? (students, Europe)
+ publisher: ESPAD Group and the European Union Drugs Agency (EUDA)
+ credit: ESPAD
+ title: ESPAD Report 2024 — Results from the European School Survey Project on Alcohol and Other Drugs, table 3b
+ url: https://www.espad.org/espad-report-2024
+ data_url: https://www.euda.europa.eu/system/files/documents/2025-10/espad-2024-report-source-tables.xlsx.zip
+ data_label: source tables, spreadsheet (table 3b)
+ when: surveyed in 2024
+ about: >-
+ The per cent of students aged 15 to 16 who say cannabis would be "fairly easy" or "very easy"
+ to get if they wanted it, overall and for boys and girls, in 37 European countries. A school
+ survey with the same questionnaire everywhere.
+ origin: >-
+ The EUDA's site refuses scripted downloads, so the spreadsheet of source tables was opened in
+ a browser on 21 October 2026 and the cannabis columns of table 3b were read from it and
+ written here, rounded to two decimals.
+ profile:
+ headline: "{easy} of students say it is easy to get"
+ details: "{easy_boys} of boys · {easy_girls} of girls · aged 15–16 · 2024"
+ country: { column: country, by: id }
+ fields:
+ easy: { column: easy, format: percent, decimals: 1, about: "Students who say cannabis is easy to get: Charts page and profile" }
+ easy_boys: { column: easy_boys, format: percent, decimals: 1 }
+ easy_girls: { column: easy_girls, format: percent, decimals: 1 }
+ map:
+ field: easy
+ format: percent
+ group: Use
+ slug: easy-to-get
+ label: Students who say cannabis is easy to get
+ missing: Not in the 2024 ESPAD school survey
+ steps: [[0, "Under 15%"], [15, "15–22%"], [22, "22–29%"], [29, "29–36%"], [36, "36% or more"]]
+ title: How easy is cannabis to get? Students in Europe
+ lede: >-
+ The share of students aged 15 to 16 who say cannabis would be fairly or very easy to get,
+ from the 2024 ESPAD school survey in 37 European countries. The stronger the blue, the
+ easier it is to get.
+ sub: >-
+ The stronger the blue, the more students aged 15 to 16 say cannabis would be easy to get.
+ Countries outside the ESPAD survey are hatched.
+ note: >-
+ ESPAD Report 2024, table 3b: students answering "fairly easy" or "very easy". Not part of
+ the score.
+ pages:
+ - { label: its map, path: map/easy-to-get/ }
+ - { label: the Charts page, path: charts/#easy-to-get }
+- id: wastewater
+ file: euda-wastewater-cannabis.csv
+ original: euda-wastewater-cannabis-cities.csv
+ name: Cannabis in wastewater
+ publisher: European Union Drugs Agency (EUDA) and the SCORE group
+ credit: EUDA
+ title: EUDA — Drugs in municipal wastewater in Europe, source data (2025), tables 1 and 2
+ url: https://www.euda.europa.eu/data/repository/drugs-municipal-wastewater-europe-source-data-2025_en
+ data_url: https://www.euda.europa.eu/sites/default/files/data/data-nodes/32462/versions/20/ww2025-all-data_en.csv
+ data_label: table 2, all data (CSV)
+ when: 2011 to 2024
+ about: >-
+ THC-COOH, the main substance the body makes from cannabis, measured in the sewage of cities
+ over one week a year: milligrams a day per 1,000 people served. Not a count of users, as the
+ load depends on how much and how often people use; but it measures what is used rather than
+ what people admit. A country's figure is the mean of its measured cities, weighted by the
+ people each plant serves; one city may stand for a whole country.
+ origin: >-
+ The EUDA's site refuses scripted downloads, so its tables 1 and 2 were read in a browser on
+ 21 October 2026; the cannabis rows, with each site's population, are kept in
+ euda-wastewater-cannabis-cities.csv. scripts/extract-wastewater.py averages them by country
+ and year.
+ profile:
+ headline: "{thc_cooh} mg of THC-COOH a day per 1,000 people"
+ details: "{cities} cities measured · {year}"
+ each: "{thc_cooh} in {year}"
+ country: { column: country, by: id }
+ year: { column: year }
+ fields:
+ thc_cooh: { column: thc_cooh, format: decimal, about: "Milligrams of THC-COOH a day per 1,000 people: Charts page and profile" }
+ cities: { column: cities, about: "How many cities were measured" }
+ served: { column: population, about: "How many people the measured plants serve" }
+ map:
+ field: thc_cooh
+ format: rate
+ group: Use
+ since: 2020
+ slug: wastewater
+ label: Cannabis in wastewater
+ missing: No city measured for cannabis since 2020
+ steps: [[0, "Under 30"], [30, "30–60"], [60, "60–100"], [100, "100–200"], [200, "200 or more"]]
+ title: Cannabis in city sewage
+ lede: >-
+ THC-COOH, the substance the body makes from cannabis, in the sewage of measured cities:
+ milligrams a day per 1,000 people, latest year since 2020. The stronger the blue, the more
+ cannabis was used there.
+ sub: >-
+ The stronger the blue, the more THC-COOH a day per 1,000 people. One or a few cities stand
+ for each country; countries with none measured since 2020 are hatched.
+ note: >-
+ EUDA and SCORE group, wastewater monitoring, one week a year; cities averaged by the people
+ each plant serves. Not part of the score.
+ pages:
+ - { label: its map, path: map/wastewater/ }
+ - { label: the Charts page, path: charts/#wastewater }
+- id: colonial_links
+ file: cepii-colonial-links.csv
+ original: geo_cepii.xls
+ name: Former colonial rulers
+ publisher: CEPII
+ title: CEPII — GeoDist, country file (geo_cepii), Mayer and Zignago (2011)
+ url: https://www.cepii.fr/CEPII/en/bdd_modele/bdd_modele_item.asp?id=6
+ data_url: https://www.cepii.fr/distance/geo_cepii.xls
+ data_label: geo_cepii.xls
+ when: compiled 2011
+ about: >-
+ The countries that ruled each country as a colony for a long time, as CEPII records them for
+ its trade studies, up to four per country; those whose rule was short or light are listed
+ apart. Licensed under Etalab 2.0.
+ origin: >-
+ Downloaded unchanged on 21 October 2026. scripts/extract-cepii.py keeps one row per country
+ and writes the colonisers as country file names.
+ profile:
+ headline: "Once ruled by {colonizer_names}"
+ country: { column: country, by: id, aliases: { tp: tl, yu: rs, zr: cd } }
+ fields:
+ colonizers: { column: colonizers, type: text, about: "Former colonial rulers, as country file names: Charts page" }
+ colonizer_names: { column: colonizer_names, type: text, format: text, about: "Their names, for the profile" }
+ pages:
+ - { label: the Charts page, path: charts/#empire }
+- id: canada_sourcing
+ file: health-canada-cannabis-sourcing.csv
+ original: health-canada-cannabis-usual-source.csv
+ name: Where people in Canada get their cannabis
+ publisher: Health Canada
+ title: Health Canada — Cannabis use (non-medical) in Canada, Canadian Cannabis Survey, figure 3 (usual source)
+ url: https://health-infobase.canada.ca/cannabis/
+ data_url: https://health-infobase.canada.ca/src/data/cannabis-use/cannabisUsualSource.csv
+ data_label: figure 3 data (CSV)
+ when: 2018 to 2024
+ about: >-
+ The usual source of cannabis of people who used it in the past year, in per cent: a legal
+ store or website, friends and family (social), an illegal seller, growing it themselves, or
+ another source. The 2018 survey came before the first legal stores opened, so it has no legal
+ figure.
+ origin: >-
+ The CSV behind the figure was downloaded unchanged on 21 October 2026 and is kept as
+ health-canada-cannabis-usual-source.csv; scripts/extract-canada.py (sourcing) writes one row
+ per year.
+ profile:
+ headline: "{legal} bought from a legal source"
+ details: "{social} from friends and family · {illegal} illegally · {grown} grew it · {year}"
+ each: "{legal} in {year}"
+ country: { column: country, by: id }
+ year: { column: year }
+ fields:
+ legal: { column: legal, format: percent, about: "Bought from a legal store or website: Charts page and profile" }
+ social: { column: social, format: percent }
+ illegal: { column: illegal, format: percent }
… 39 more linesdatasets/geo_cepii.xls +0 −0
Not shown: a picture, a generated file, or past the length shown per change.
docs/research/history-cnmi-gap-2026-10-21.md +42 −0
@@ -0,0 +1,42 @@
+# Northern Mariana Islands history gap, 21 October 2026
+
+## Scope and sources
+
+Eight new events and four articles fill the gap between an estimated early ban, the 2018 legalisation and the 2021 retail opening. Rechecked `docs/WRITING.md` and current category/tag definitions. All new and rewritten events carry supported tags. Research and build verification live in `tmp/history-cnmi-gap-2026-10-21/`; research files are retained and the generated site is deleted after verification.
+
+Primary statutes and current posted code actually read:
+
+- https://www.cnmilaw.org/pdf/public_laws/20/pl20-66.pdf : 2018 legalisation, governor's signing statement and item vetoes, definitions, household/gift rules, registry, licensing framework, offence thresholds, repealer and effective date. Approval 21 September 2018 is visible on final PDF page 67 and cover. Visually inspected PDF pages 1, 24, 25 and 67. Six mature AND twelve immature plants are household/site limits, not an either/or choice. Medical allowance twelve mature/twenty-four immature requires physician necessity and documentation. Noncommercial gifts up to one ounce usable cannabis, 16 oz solid, 72 oz liquid, 5 g extracts or six immature plants expressly permitted; recipient acceptance required. Do not repeat the profile's former claim that gifts are unclear.
+- https://www.cnmilaw.org/pdf/public_laws/21/pl21-05.pdf : full 2019 amendment and signing statement. Effective on approval, 21 August 2019, visually checked final page 16. Registry clause and $75 fee visually checked page 10. The governor vetoed proposed $5 registration, flat business fees and tax terms in 2018; do not present crossed-out text as enacted. Amendment supplies varied business fees, 15% excise and retailer surtax of 15%, 7.5% for medical revenue. Public school allocation is a quarter of the relevant appropriation, not necessarily a quarter of all gross retail sales. Protects compliant home cultivation while rules unavailable, card required when available. Age 18–21 patient-sales exception includes valid nonresident country-of-origin recommendation. Governor's letter flags inconsistent medical exceptions in public/minor-presence rules; this batch does not resolve them judicially.
+- https://www.cnmilaw.org/pdf/public_laws/21/pl21-25.pdf : full hemp Act, approved 18 May 2020 despite short title '2019'. Division of Agriculture gains primary production oversight and power to set licence requirements consistent with federal plan requirements, cannabis commission hemp remit removed. 0.3% definition includes additional product/THCA language; don't simplify it to a certified delta-9-only testing protocol. Negligent violations correction plan, 3 in 5 years yields five-year ineligibility; wilful up to 1 year OR $2,500 OR both. Visually checked PDF pages 6–7. No claim of USDA plan approval, active hemp farms or unrestricted hemp sales from this Act alone.
+- https://cnmilaw.gov/docs/cmc_section/T4/53006.pdf : current posted three-page codification, full text; source note attributes gift and household section to 2018, without a later substantive amendment. Confirms home-growing, medical and gifting correction today.
+- https://cnmilaw.gov/docs/cmc_section/T4/53012.pdf : current posted registry code, full text, source note 2018 and 2019. Statutory annual fee $75; profile calls it statutory because later regulatory reductions may affect payable fees.
+
+## Implementation and reporting dates
+
+- https://governor.cnmi.gov/archived-news/press-releases-archive/cnmi-cannabis-commission-adopts-emergency-regulations/ : official release 11 March 2020, unanimous commission meeting 10 March. Emergency adoption, subject to governor concurrence and maximum 120 days. Reserved medical, lab and edible rules for future work. Economic rationale COVID revenue shortfall/diversification attributed to officials, not asserted as measured economic result. September 2019 organisational meeting; no day invented.
+- https://governor.cnmi.gov/archived-news/press-releases-archive/saipan-select-llc-becomes-first-cannabis-producer-class-iii/ : official release 13 May 2021 explicitly gives licensing on 12 May. FY2021 report instead lists Saipan Select licensed 13 May. Event uses contemporaneous release's explicit action date; difference retained here. More than twenty applications/seven approvals in principle at that point; many waiting for premises inspections/construction. August 2020 application intake, March 2021 first producer. Approval in principle is not an operating licence.
+- https://opd.gov.mp/library/reports/cannabis-ccr-2021.pdf : commission's FY2021 report, full relevant page 2 visually inspected. First Class I producer Slider Marianas/T-Marianas 11 March 2021. Saipan Select and Lumar/CanaMariana's follow. Commonwealth Cannabis retail licence 16 July, lounge licence 21 July; this conflicts with news account giving both on 21 July. No exact first lounge-opening day established. Fifteen active homegrown cards, three retail and three producer licences plus one lounge in September 2021 snapshot, not current counts.
+- https://www.mvariety.com/business/first-cannabis-store-opens-doors-to-saipan-community/article_48e87c4c-e85d-11eb-8dad-1f1aea8d7909.html/ : 20 July 2021 on-site report with grower/staff tour and customer photographs. Soft opening 14 July, grand opening 16 July; earlier event/profile used only 16 July. Corrected first-access date to 14 July. Five-thousand-square-foot farm, one-ounce maximum purchase, smaller sizes. Opening article omits advertised medical efficacy claims.
+- https://www.mvariety.com/news/nmis-first-cannabis-lounge-opens-in-garapan/article_a8a8f5f2-fd53-11eb-919f-57eb93c81806.html/ : 16 August 2021 report/interview with general manager Alexis Hofschneider and acting commission director Janina Maratita. Report says first lounge now open, bring-own/purchase next door, 21+ checks. Event explicitly dated to report, not a fabricated opening day. July licence date alone does not establish consumer access.
+- https://www.justice.gov/archive/ndic/pubs5/5047/5047p.pdf : NDIC October 2003 assessment, printed pp. 5–6 read. Describes 2000–2001 crop eradication reducing local supply and greater imports, resulting price increase, enforcement shifting to controlled purchases/interdiction. It expressly says survey data insufficient to quantify use. Event date is assessment publication, not a precise raid date. Historical prices not entered as current national price data or compared as equivalent to gram retail flower.
+
+## Score correction
+
+The current profile's gift score 3 (grey area) contradicted the original and current codified rule permitting capped noncommercial adult gifts. Corrected sharing to 5, matching the rubric. Updated the 2021 shop's `before.sharing` to 5 so the right attaches to the 2018 legalisation, not a fictional 2021 change. Current overall rounded score 53 → 55 is a factual correction, not a new 2026 reform.
+
+The old shop entry bundled access and consumption gains. Added a separate first-lounge event with `before.consumption: 3` and access already 6. Retail opening now moves only access 0 → 6; lounge report marks the evidenced subsequent consumption 3 → 4. The date is a latest verified operating date, not the precise start of lounge service. Other numerical components and the existing FREE and pre-2018 vectors are preserved, not newly certified. Intended chain: 100 → 11 → 48 → 54 → 55. Pre-2018 law/first-restriction reconstruction remains open.
+
+Categories: 2018, first shop and first lounge legalisation; 2003 practical enforcement; 2020 hemp specialised hemp category; mixed 2019 financial/registry amendment, rulemaking and business licences other. No premature score for an application, approval in principle, hemp remit transfer or business licence preceding actual consumer supply.
+
+## Earlier court history added
+
+Read the full original Commonwealth v. Atalig decision of 13 February 1987, https://www.cnmilaw.gov/pdf/cr/vol2/2-CR-1006.pdf , printed pp. 1006–1015; visually inspected PDF pages 4, 7 and 9. The case concerns a 12 September 1981 Rota–Saipan flight, boxes of deer meat and five pounds of cannabis, a fruit-fly quarantine and a no-contest possession conviction. Sentence one year suspended except thirty days and $1,000. A 1983 jury-rights reversal was itself reversed by the Ninth Circuit in 1984; the 1987 judgment addresses the separate search question. Do not call the 1983 outcome final or assume five pounds were for personal use. The search holding depends on a valid administrative quarantine, indiscriminate inspection of affected arrivals and no criminal-investigation pretext, not a general power to search any domestic cannabis traveller. Case category enforcement, with court/police-powers/sentencing tags; no numerical step. Article adds the named person and full outcome rather than a generic prohibition claim. Original Trust Territory drug law remains a retrieval lead.
+
+## Verification
+
+Scoped source verifier passed: four articles at 426/402/385/400 words, four sections each, all internal destinations, unique event IDs, categories/tags and country-source references. Eight new events bring the CNMI timeline from three to eleven entries. Whole repository at verification: 2,765 events and 649 articles. CNMI gift correction and separate retail/lounge score transitions verified; unchanged other profile segments/context and pre-2018 vectors checked against pre-edit baseline. Concurrent non-CNMI work was left intact.
+
+Isolated Astro build passed: 3,506 pages in 26.51 seconds. Generated history export, country timeline, tag routes, article headings, citations and internal links passed. Generated score export confirms sharing 5, overall 55 (54.5 exact); generated history confirms 11→48 for 2018, 48→54 for retail and 54→55 for lounge. Initial verifier assumed lowercase score-export IDs; corrected the verifier to the observed uppercase `MP` schema and reran successfully without rebuilding.
+
+Deleted `tmp/history-cnmi-gap-2026-10-21/site/` after successful verification. Final temporary build-directory and generated-history-page audits returned no matches. PDFs, research text/renders, pre-edit baselines, build log and verifier retained.
docs/research/history-congo-gap-2026-10-21.md +206 −113
@@ -1,113 +1,206 @@
-# DR Congo: consumption offences and the basis for medical licensing
-
-21 October 2026. This pass prioritises a country with a large population and
-only nine existing events. Its timeline jumped from a colonial 1903 restriction
-to recent medical regulations, with treaty accessions between. Added the
-1917 consumption amendment and 2018 statutory medical/scientific exception;
-wrote a 1917 article; corrected the 1903 article and the 2021 entry.
-
-Baseline: `tmp/history-congo-gap-2026-10-21/changes-before.yaml`.
-The prior 1903 article is also saved there. Source downloads, text and page
-images are in `tmp/pdfs/congo-gap-2026-10-21/`.
-
-## 1903 and 1917 must be separated
-
-Downloaded the complete *Les Codes Larcier, République démocratique du Congo,
-Tome II: Droit pénal* from the university library mirror. The file was saved
-locally with `code2004` in its name, but its title/copyright and page footer
-establish the **2003** edition, ISBN 2-8044-0968-6. The legal reproduction is
-on printed **p. 255, PDF p. 267**, read in full and visually inspected.
-
-Its article 1 and the second paragraph of article 3 are explicitly bracketed
-as amendments of **10 March 1917**. These provide the express consumption
-prohibition and confiscation of consumption equipment. The rest of the text
-contains the compensation window, penalties, village-chief liability with an
-exception for reporting offences, and destruction provisions. The amended
-text is reproduced without amendment dates on Leganet; its Belgian-domain
-page was read in full while the Congolese-domain URL timed out.
-
-Reread Duvall, *The African Roots of Marijuana* (2019), pp. 188–189, from the
-retained full book text. This independently attributes farming, sale, transport
-and possession restrictions and the compensation offer to 1903 and discusses
-the suppression of informal networks. It supports the narrower description of
-the original law and context for the rewritten article. Neither new prose nor
-the category claims consumption was previously free of every possession rule.
-
-The old 1903 article incorrectly placed the entire later consolidated text in
-1903 and used that attribution to explain the index score. Replaced it under
-the current writing guide, preserving its URL, removing the numeric scoring
-explanation and separating the later consumption/equipment clauses. Existing
-historical score vectors remain unchanged **without revalidation**: the 1903
-step still carries a consumption decrease which needs separate reconstruction.
-The new `tightening` event has an explicit `unscored` explanation. Its date is
-the amendment date in the legal collection; an independent 1917 publication
-or commencement date was not recovered.
-
-The League of Nations scan `unodc0586f.pdf` was discovered as an indexed lead,
-with a 1917 amendment on p. 7 and a 1933 pharmacy summary on p. 8. The UN file
-and record routes returned 403, inaccessibility or empty files; no claims are
-credited to having read that PDF. The 1917 entry instead cites the actual legal
-collection obtained. The 1933 pharmacy law remains a follow-up gap rather than
-an event made from snippets. A pharmacy-code search result on Manualzilla
-mixes the colonial text with later Burundian laws; it was not treated as an
-original Congolese enactment.
-
-## 2018 precedes the 2021 licensing conditions
-
-Downloaded and read the Droitcongolais reproduction of **Law 18/035 of
-13 December 2018**. Visually checked PDF pp. 17–19, especially articles
-118–122, 132, 143 and 144. The law allows cultivation, production, possession
-and commercialisation of narcotics/psychotropics only for medical and scientific
-purposes and requires permission and ministerial conditions. It also supplies
-record/inspection rules. The statutory instrument's date is **promulgation**;
-article 144 defers operation for three months. The description states this
-delay rather than claiming immediate commencement or guessing a counting rule.
-The 2018 event is `medical`, without an invented access vector or an assertion
-that patients received cannabis then.
-
-Downloaded the complete **2021 ministerial order**, including its cover
-letters. Read the preamble and relevant provisions; visually checked printed
-pp. **3–4, 8 and 27**, PDF pp. **5–6, 10 and 29**. Articles 1–5 reserve the
-channel to medical/scientific purposes, require Congolese legal entities and
-industrial cultivation, and specify medical cannabis with at most 0.2% of the
-substance the text calls THC and a high CBD content. Article 23 supplies the
-five-year cultivation/production authorisations. Article 101 makes the order
-effective on signature; the signature page visibly reads **27 February 2021**.
-The forwarding letters refer to 2 March, which was not substituted for the
-signed act's date. The order's preamble expressly cites the 2018 law.
-
-The old 2021 description conflated industrial **scale** with a permitted
-nonmedical industrial **purpose**. The original order's article 1 permits
-medical and scientific purposes only. Corrected that distinction and replaced
-the Wikipedia-only basis with the original order, retaining the existing date,
-category and stable ID. No current-country profile was changed, and no current
-sentencing conclusion is drawn from article 132's general drug offence.
-
-## Categories, tags and coverage limits
-
-1903 remains the existing `ban`, with colonial, eradication and sentencing
-tags. The 1917 extension is `tightening`, with colonial, sentencing and
-advertising/paraphernalia tags, the last for consumption equipment.
-The 2018 event is `medical`; the patient tag is not assigned to a general
-permission statute with no documented patient case, group or supply service.
-The 2021 event is `medical` and tagged CBD for the specified cannabis varieties.
-Earlier/later links connect 1903 → 1917 → 2018 → 2021 → 2022.
-
-The 1933 pharmacy system and most post-independence enforcement history remain
-substantive gaps. This pass improves the legal sequence without presenting
-the country as comprehensively covered.
-
-## Verification
-
-Preservation checks passed: all 2,650 baseline events remain, every prior
-`before` vector is unchanged, and only the existing 1903 and 2021 events were
-edited. The two additions bring the dataset to 2,652 events and 590 articles.
-Article metadata, controlled tags, related IDs and internal links passed;
-the rewritten 1903 article has 405 words and the new 1917 article 378 words,
-each with four sections.
-
-The isolated production build succeeded: 3,383 pages in 26.47 seconds.
-Checked all four touched events against the generated JSON export, both
-articles' rendered source and internal links, and the assigned tag routes and
-tag-page membership. The temporary `site/` build was deleted after verification;
-the baseline, prior article, source files and build log were retained.
+# Republic of the Congo: institutions, child protection and the 2025 law, 21 October 2026
+
+## Coverage and changes
+
+Added six events: judicial-police drug service (1992), interministerial committee (1994),
+three-city survey (2004), child-protection law (2010), Owando arrests (2024), and the Senate
+vote (April 2025). Added articles for 1994 and 2010 and rewrote the existing 2025 article.
+The country now has ten entries and three articles. The articles have 394, 385 and 393 words,
+four sections each, and links to earlier/later events and the country profile.
+
+Read the current `docs/WRITING.md`, category hierarchy and tag definitions. The 1994, 2010
+and 2025 laws are `other`: the complete immediate predecessor penalties were not recovered,
+so a consistent national tightening/easing has not been proved. The survey is `culture`
+with science tag; the Owando case is enforcement without a court tag; the Senate stage is
+`debate`. Every added/edited event has tags. Added colonial tags to the two older entries
+without changing their underlying facts or score vectors.
+
+Corrected the profile's omission of **fine-only alternatives** in possession, cultivation,
+sharing and consumption, supplied concrete pre-2025 enforcement evidence, and added foreigner
+expulsion and sentence-execution restrictions. Preserved six current scores, recreational/
+medical categories and all planting, club and visitor status values. These inherited scores
+were **not newly validated**. Unrelated staged/unstaged work, including chart/layout/styles
+and source-archive edits, was left untouched.
+
+## Primary government report, published in 2010
+
+https://www.sgg.cg/JO/2010/congo-jo-2010-03-sp.pdf
+
+Downloaded the full official **special edition 3 of 10 November 2010**; extracted/read the
+complete drug-policy section, printed pp. 75–76; visually inspected page 76. The same report
+was later circulated as CRC/C/COG/2-4, submitted 11 November 2010 and circulated 18 September
+2012. The local gazette is the retained source. An attempted UN PDF download returned an
+empty file; no successful PDF retrieval from that URL is claimed.
+
+The report provides retrospective institutional dates:
+
+- Judicial-police drug service created in **1992**, staffed by **two officers at the time of
+ the report**, not necessarily two at creation. It updated a register of drug users and
+ their addresses between **1998 and 2003** and lacked operational resources.
+- Interministerial technical committee created by **94-578 of 25 October 1994**. Objectives:
+ prevention, care, social integration, information and research; support government decisions.
+ In 2010 it faced major operating difficulties, the national anti-drug project was no longer
+ operational, and police/customs lacked training/detection equipment. The report calls for
+ reactivation and stronger capacity. The original 1994 decree was not recovered; event date
+ and remit rely on the government's full later report, not an asserted reading of the decree.
+- **2004 survey** in **Brazzaville, Dolisie and Ouesso**, **239 people** encountered through
… 161 more lines
docs/research/history-djibouti-gap-2026-10-21.md +235 −0
@@ -0,0 +1,235 @@
+# Djibouti: colonial controls, criminal law and national institutions, 21 October 2026
+
+## Coverage and corrections
+
+Country coverage grew from four events/no articles to eleven events/three articles. Replaced
+`djibouti-drug-law-1996` with `djibouti-penal-code-1995`, dated **16 April 1995**, and added
+seven events: 1932 colonial controls, the local 1971 publication of France's drug law, a July
+1971 cannabis conviction, the 1984 pardon exclusion, national treaty approval in 1992, the
+2000 coordination committee and the 2003 free-zone exclusion. No incoming repository links
+or article referred to the removed ID. The false law is not retained as a cannabis event.
+
+New articles cover 1932, 1971 and 1995, within 350–500 words, four sections each and links to
+country and earlier/later events. Re-read the current writing and category instructions.
+Every added/rewritten event has validated topic tags. The existing 2026 Balbala event now
+has enforcement/trafficking tags and an additional primary public-broadcaster source; its
+custody wording follows that source rather than asserting judicial pretrial detention.
+
+The profile now incorporates **general sentencing discretion**, separates statutory ceilings
+from mandatory sentences, supplies actual recent enforcement evidence and describes the
+foreign-exclusion clause's restricted scope. Scores and country/status fields are unchanged.
+Unrelated staged and unstaged work, including source-archive updates, was preserved.
+
+## The supposed 1996 drug law was a biodiversity ratification
+
+The old entry attributed drug offences to **113/AN/96**. The official text is instead a
+ratification of the Convention on Biological Diversity, dated **3 September 1996**:
+https://www.journalofficiel.dj/texte-juridique/loi-n113-an-96-3e-l-portant-ratification-de-la-convention-sur-la-diversite-biologique/
+
+Read the complete primary text and corroborating September 1996 journal contents. It has
+no drug offences or five-year personal-use provision. A commercial cannabis-law site repeats
+the same false identification; it is not independent evidence.
+
+## Colonial controls: full official 1932 text
+
+Read the complete official electronic reproduction, including the replacement table:
+https://www.journalofficiel.dj/texte-juridique/arrete-n-18-427-1932-commerce-detention-et-vente-des-substances-veneneuses-a-la-cote-francaise-des-somalis/
+
+The portal labels the page an arrêté, but the reproduced text is the **presidential decree
+of 25 May 1932**, signed Albert Lebrun and colonies minister de Chappedelaine. A separate
+local promulgation, dated **16 June 1932**, signed acting governor Antonin, identifies the
+same decree:
+https://www.journalofficiel.dj/arabe/texte-juridique/arrete-n-17-427-1932-promulquant-a-la-cote-francaise-des-somalis-le-decret-du-25-mai-1932-modifiant-les-dispositions-du-titre-ii-du-decret-du-26-fevrier-1923-reglementant-le-commerce-la-det/
+
+Both appear in local journal **427 of 30 June 1932**. The history entry uses the local
+promulgation date, without claiming an independently established commencement calculation.
+The local order has an isolated 1925 reference where its heading/preamble and the decree
+itself give 1923; do not silently treat that isolated typo as a different predecessor law.
+
+- Preamble cites **22 December 1916** extension of France's 12 July 1916 poisonous-substances
+ law and **26 February 1923** local regulations. Those original instruments were not
+ recovered in full. They are background evidence, not a verified first cannabis ban date.
+- New Articles 30–31 apply permit controls to manufacturing, extraction, preparation,
+ possession, offer, distribution, brokerage, buying, selling, imports/exports and industry.
+ Governor permits are personal, with hygiene-council advice; a trafficking conviction
+ prevents grant/continuation. Permits identify substances and industrial annual quantities.
+- Registration of a public pharmacist's diploma serves as permission for preparation and
+ dispensing in that pharmacy. Unauthorised purchasers need a therapeutic prescription;
+ hospitals and laboratories have special supply arrangements. No claim of actual cannabis
+ prescribing or patient numbers is made.
+- Article 32 requires per-operation import/export permissions; export certificates retained
+ three years. Article 33 requires labelling and locked storage except coca leaves, with
+ seizure of quantities outside storage; regulates postal shipments with professional
+ exceptions. Articles 34–36 require purchase/transfer records, including gifts; retain ten
+ years. Articles 38–39 regulate renewals and specified prescriptions exceeding seven days.
+- Article 2's replacement Table B explicitly lists **Indian hemp, resin, resin preparations,
+ extract and tincture**. This is direct local cannabis-classification evidence.
+- Transitional Article 4 grants six months from publication for certain new obligations
+ under Articles 31, 33 and 34. Do not generalise it into six months' freedom for all cannabis
+ activity. The text contains several typographical errors, including 1932 in a 1923 cross-reference.
+
+Category `other`: earlier restrictions demonstrably existed, but full 1923 terms/old table
+are missing. A new first ban or an across-the-board tightening/easing is not proved.
+The inherited 1900–1920 first-ban estimate remains an unverified legacy scoring anchor;
+replacing it requires the original 1916/1923 controls and their cannabis schedules.
+
+## French law locally published in February 1971
+
+Read complete official electronic reproduction:
+https://www.journalofficiel.dj/arabe/texte-juridique/loi-n-70-1320-relative-aux-mesures-sanitaires-de-lutte-contre-la-toxicomanie-et-a-la-repression-du-trafie-et-de-lusage-illicite-des-substances-veneneuses-j-o-r-f-du-3-1-1971-p-74/
+
+French Law **70-1320 of 31 December 1970**, national JORF 3 January 1971, appears in local
+journal **3 of 10 February 1971**. The event explicitly describes local publication, not
+signing the French law on 10 February or a separately proved day of local commencement.
+
+Article 4 expressly applies Article 2's criminal/therapeutic rules to overseas territories
+and leaves treatment arrangements in specified territories, including the French Territory
+of the Afars and Issas, to local assemblies. No evidence of a working local treatment
+service or a particular local treatment deliberation was recovered.
+
+- L627: ordinary trafficking **2–10 years OR fine OR both**; production/manufacture/import/
+ export prison range **10–20 years**; facilitation and false-prescription offences.
+- L628: illicit use **2 months–1 year OR fine OR both**. The local transcription is damaged
+ in the fine-only wording, but retains the alternative; later French primary case law also
+ quotes the same use/fine-only structure. No later French fine amounts are imported into
+ the 1971 local event. Monetary values are omitted because colonial currency application
+ was not independently reconstructed.
+- L628-1: prosecutorial treatment/medical supervision, successful completion preventing
+ prosecution under its conditions. First-offence provisions and discretion for repetition
+ matter; it is not a universal repeat-offender immunity.
+- L628-2 onwards: court-ordered care, sanctions for evasion, and other treatment rules.
+- Foreign-exclusion and doubled repeat penalties are described at their historical scope.
+
+Original French law landing page (scanned issue link):
+https://www.legifrance.gouv.fr/jorf/id/JORFTEXT000000321402/
+
+Parallel primary judicial quotation of L628's 2-month–1-year/fine/either structure:
+https://www.legifrance.gouv.fr/juri/id/JURITEXT000007063047
+(14 November 1988; later French fine wording is not used as a 1971 local amount).
+
+Category `other`: the full prior local criminal scheme was not recovered, so no invented
+whole-point direction is assigned from the later national ceiling alone.
+
+## A named cannabis conviction and later pardon exclusion
+
+https://www.journalofficiel.dj/arabe/?p=110055
+
+Read complete order **72-295 of 24 February 1972**, local journal 5 of 10 March. It identifies
+**Mohamed Aden Darar**, born around 1950 in Djibouti, convicted **29 July 1971** of cannabis
+possession and sale: **six months and a three-year residence ban**. Detained 10 July 1971,
+released 10 January 1972. The order bars residence in Djibouti district and the Obock and
+Tadjourah circles. No weight, personal-use intent or named sentencing statute is supplied;
+none is invented. The entry is a court/sentencing/enforcement event dated to conviction,
+not a new national cannabis ban or an assumption about all users.
+
+https://www.journalofficiel.dj/texte-juridique/decret-n84-123-pre-portant-mesure-de-graces-collectives-collectives/
+
+Read complete decree **84-123**, dated **13 November 1984**, journal of 15 December.
+Article 1 remits eligible firm sentences of eight months or less for offences before
+15 October 1984; Article 2(d) excludes convictions under public-health-code L626–L630-2
+as drafted by the French 1970 law. Article 4 marks the Islamic New Year and makes it
+immediately enforceable. No number of people excluded is stated. This supports continued
+reference to French legislation after independence; it does not prove every 1970 clause
+survived unchanged until 1995. Category `other`, tags amnesty/sentencing: a legal exclusion
+from a new pardon, without an adult-cannabis score change.
+
+## 1992 national treaty approval and 2000 coordination
+
+Full official texts read and retained locally:
+
+- https://www.journalofficiel.dj/texte-juridique/loi-n199-an-92-2el-portant-adhesion-de-la-republique-de-djibouti-aux-conventions-sur-les-stupefiants-et-substances-psychotropes-et-contre-le-trafic-illicite-des-stupefiants/
+ National approval dated **14 April 1992**, journal 15 April, signed **Hassan Gouled Aptidon**.
+ Article 1 covers 1961/1971 conventions, 1972 protocol and trafficking convention. Its
+ transcription gives a malformed 1989 date for the latter; no false international
+ convention date is repeated. National approval is distinct from the UN accessions in
+ the existing **22 February 2001** treaty entry. Category international, tag ratification.
+- https://www.journalofficiel.dj/texte-juridique/decret-n2000-0027-pr-mjslt-portant-creation-dun-comite-national-de-lutte-contre-les-drogues/
+ **3 February 2000**, journal 15 February, signed **Ismaïl Omar Guelleh**. Preamble cites
+ **9–11 February 1999 youth colloquium** and a 1992 national accession instrument.
+ Prime minister chairs; youth minister is vice-chair. Articles 2–5 cover prevention,
+ awareness, coordination, supply/demand monitoring, data collection/archive/dissemination;
+ justice, interior, health, education, defence, police, gendarmerie and anti-drug office
+ representation. No demonstrated programme outcomes are inferred. Category other.
+
+## 1995 Penal Code: read general sentencing rules with drug offences
+
+Complete 130-page copy downloaded; relevant sections read and PDF pages **17–18 and 79–80**
+visually inspected:
+https://www.vertic.org/media/National%20Legislation/Djibouti/DJ_Code_Penal.pdf
+
… 77 more lines
docs/research/history-gambia-gap-2026-10-21.md +197 −0
@@ -0,0 +1,197 @@
+# Gambia: enacted penalties and gaps in the modern timeline
+
+Research and edits: 21 October 2026. Current writing rules, maintenance
+rules, categories and tags were read. Baselines are retained in
+`tmp/history-gambia-gap-2026-10-21/changes-before.yaml` and
+`profile-before.yaml`. Preserve unrelated staged edits.
+
+## Important correction: the 2014 enacted scale differs from news reports
+
+Recovered the **complete four-page enacted amendment**, Act 9/2014, from
+the government's security-legislation archive. Read all four pages using
+local Vision OCR, then visually checked PDF pp. **2–3**, containing the
+complete scale and certification. This is the printed enacted text,
+not an August bill summary. Assent/bracket date **9 October 2014**;
+Gazette supplement **16 October**; parliamentary passage **25 August**.
+
+For first-time cannabis possession, section 5 inserts a new section 35(2):
+
+| Quantity, literally printed | Fine (GMD) | Prison |
+|---|---|---|
+| 0.1–150 g | 50,000–100,000 | **1–2 years** |
+| 151–500 g | 100,000–150,000 | **2–5 years** |
+| 501 g and above | 150,000–250,000 | **3–10 years** |
+
+**Each band allows a fine OR prison OR both.** Do not publish the former
+six-month–one-year / one–two-year / two–three-year scale as enacted law.
+Those figures occur in The Point and JollofNews's **27 August 2014** reports
+of passage. Both reports were read in full. They are retained as evidence
+of Ousman Sonko's reasons: reducing youth imprisonment, burdensome fines,
+prison overcrowding and public expense. No explanation for the tariff
+conflict was recovered; the enacted text takes priority. Do not speculate
+that a particular drafting stage or amendment caused the discrepancy.
+No fractional-gap interpretation is invented between the literally printed
+150/151 g and 500/501 g bands.
+
+Official text:
+https://ons.gov.gm/security-legislation/wp-content/uploads/2022/10/Drug-Control-Amendment-Act-2014.pdf
+Passage report:
+https://thepoint.gm/africa/gambia/article/penalty-reduced-for-first-time-cannabis-offenders
+Comparison report:
+https://jollofnews.gm/gambia-reduces-penalties-for-cannabis-possession/
+
+The Act also renames the agency, changes Board meeting frequency, extends
+sections 36–41 to “controlled or prohibited” drugs, and adds First Schedule
+references in sections 34, 36, 37, 40 and 41. Cannabis is in the First
+Schedule. Keep the article focused on the first-offender change while
+acknowledging the wider amendments. The event retains easing for its
+separate first-offender scale; do not treat every change in this mixed
+amendment as a lighter penalty.
+
+## Primary 2003/2005 consolidated law
+
+Recovered **90 scanned pages**, *Drug Control Act*, Chapter 13:05,
+**Issue 1/2009**, Act 15/2003 amended by Act 11/2005. Native extraction is
+empty; ran English Vision OCR. Read the commencement, definitions,
+agency-establishment provisions, sections 31–38, 41–44, 69, 139 and
+First Schedule as relevant. Visually checked PDF **29** / printed **31**
+(possession and shared premises) and PDF **35** / printed **37** (quantity
+presumption). This is **not an unamended 2003 original**. Footnoted 2005
+changes are not silently attributed to initial enactment.
+
+https://ons.gov.gm/security-legislation/wp-content/uploads/2022/06/DROG-CONTROL-ACT.pdf
+
+Commencement **3 October 2003**; section 139 expressly repeals Decree
+80/1996 and has transitional prosecution rules. The article dates the
+replacement law, then explicitly labels detailed tariffs as the published
+law incorporating the 2005 amendments. Category other replaces the vague
+unsupported tightening claim because the predecessor's precise penalty
+comparison was not recovered.
+
+Cannabis/resin are prohibited drugs in the First Schedule. Definitions
+cover plant, resin, extracts and tinctures. Section 33 broadly prohibits
+unauthorised production, growing, supply, transport, acquisition, use and
+possession, with tightly limited authorisation for approved persons in
+medical/scientific establishments. These general authorisations do not
… 123 more lines
docs/research/history-liberia-gap-2026-10-21.md +46 −0
Not shown: a picture, a generated file, or past the length shown per change.
docs/research/history-mauritania-gap-2026-10-21.md +160 −0
Not shown: a picture, a generated file, or past the length shown per change.
docs/research/history-niger-gap-2026-10-21.md +136 −0
Not shown: a picture, a generated file, or past the length shown per change.
docs/research/history-puerto-rico-gap-2026-10-21.md +50 −0
Not shown: a picture, a generated file, or past the length shown per change.
docs/research/history-seychelles-gap-2026-10-21.md +152 −0
Not shown: a picture, a generated file, or past the length shown per change.
docs/research/madagascar-prohibition-duration-2026-10-21.md +104 −0
Not shown: a picture, a generated file, or past the length shown per change.
scripts/extract-canada.py +53 −0
Not shown: a picture, a generated file, or past the length shown per change.
scripts/extract-cepii.py +38 −0
Not shown: a picture, a generated file, or past the length shown per change.
scripts/extract-wastewater.py +36 −0
Not shown: a picture, a generated file, or past the length shown per change.
source-archive.json +236 −4
Not shown: a picture, a generated file, or past the length shown per change.
src/components/AverageChart.astro +15 −7
Not shown: a picture, a generated file, or past the length shown per change.
src/components/HomePage.astro +9 −0
Not shown: a picture, a generated file, or past the length shown per change.
src/layouts/Base.astro +1 −0
Not shown: a picture, a generated file, or past the length shown per change.
src/lib/facts.js +1 −1
Not shown: a picture, a generated file, or past the length shown per change.
src/pages/charts.astro +1308 −0
Not shown: a picture, a generated file, or past the length shown per change.
src/pages/sitemap.xml.js +1 −0
Not shown: a picture, a generated file, or past the length shown per change.
src/pages/video.astro +1 −1
Not shown: a picture, a generated file, or past the length shown per change.
src/styles/global.css +294 −0
Not shown: a picture, a generated file, or past the length shown per change.