Cannabis Freedom Index

Changelog d43b23dtree

Expand enforcement glossary with reviewed definitions and aliases

1 atlas entry edited4 files of code, design or docs +191 −4 lines

Articles and atlas entries 1

Hashish culture/language/hashish.md

also

hash, haschisch, hachisch, hasch, hashish, hachís, jachís, cannabis resin

Code, design and documents 4 files

astro.config.mjs +7 −2
@@ -4,5 +4,6 @@ import icon from "astro-icon";
 import { markTerms } from "./src/lib/terms.js";
 import { buildLock } from "./scripts/build-lock.mjs";
-import { readFileSync } from "node:fs";
+import { readFileSync, readdirSync } from "node:fs";
+import { createHash } from "node:crypto";
 
 // History entries that moved to the Cannabis Enforcement Tracker (raids, seizures, arrests, sentences;
@@ -17,4 +18,8 @@ const movedToTracker = Object.fromEntries(JSON.parse(readFileSync("./src/data/tr
 // "/cannabis-freedom-index" on the default github.io address. Locally both are unset.
 // The base always ends with a slash because links are built as `${base}country/…`.
+// A glossary/atlas update changes rendered words even when an article itself is unchanged.
+const termsHash = createHash("sha256").update(readFileSync(new URL("./glossary.yaml", import.meta.url)));
+for (const file of readdirSync(new URL("./culture/language/", import.meta.url)).filter(file => file.endsWith(".md")).sort()) termsHash.update(readFileSync(new URL(`./culture/language/${file}`, import.meta.url)));
+const termsRevision = termsHash.digest("hex");
 const base = (process.env.BASE_PATH || "").replace(/\/+$/, "") + "/";
 
@@ -148,5 +153,5 @@ export default defineConfig({
   integrations: [buildLock(), icon()],
   markdown: {
-    processor: unified({ remarkPlugins: [markdownFigures, markdownCitations], rehypePlugins: [markdownLinks, markdownTerms] }),
+    processor: unified({ remarkPlugins: [markdownFigures, markdownCitations], rehypePlugins: [markdownLinks, [markdownTerms, { revision: termsRevision }]] }),
   },
   // pictures in Markdown get a set of widths, so a phone does not download the 1280-pixel file

docs/GLOSSARY-SOURCES.md +65 −0
@@ -0,0 +1,65 @@
+# Glossary review: 29 October 2026
+
+Reviewed the titles, summaries and bodies of 622 Cannabis Enforcement Tracker reports. Added 38 glossary entries in glossary.yaml, plus the existing Hashish atlas entry's alias “cannabis resin” and verb forms for eradication. 561 reports contain at least one newly explained entry. Counts below are report occurrences, with a term counted once per report; they are not a promise to annotate links or headings.
+
+Definitions are brief, original explanations. Legal entries describe concepts rather than exporting a single country's procedures to every jurisdiction. A charge is distinguished from a conviction, seizure from forfeiture, and “remand” acknowledges its two court meanings. The aliases avoid ordinary baggage “charges” and do not equate ambiguous “tons” with metric tonnes.
+
+## Editorial references
+
+- Arrest/court process, defendants, prosecution, conviction and acquittal: [Australian CDPP legal vocabulary](https://www.cdpp.gov.au/legal-speak-explained), [PPS Northern Ireland](https://www.ppsni.gov.uk/legal-terms-explained), [US Department of Justice glossary](https://www.justice.gov/usao/justice-101/glossary).
+- Bail and custody: [US Ninth Circuit glossary](https://www.ca9.uscourts.gov/guides-resources/glossary/), the CDPP and PPS glossaries above.
+- Remand and the context-dependent use of the word: [GOV.UK remand](https://www.gov.uk/charged-crime/remand), [US Sentencing Commission glossary](https://www.ussc.gov/education/glossary).
+- Concurrent/consecutive sentences and parole: [GOV.UK sentence types](https://www.gov.uk/types-of-prison-sentence/concurrent-and-consecutive-sentences), [US Sentencing Commission](https://www.ussc.gov/education/glossary). Life-sentence wording deliberately states that release rules vary.
+- Seizure, forfeiture and reporting's broader “confiscation”: [US DOJ forfeiture policy manual](https://www.justice.gov/usdoj-media/criminal-mlars/media/1140236/dl), [US Treasury overview](https://home.treasury.gov/policy-issues/terrorism-and-illicit-finance/asset-forfeiture/forfeiture-overview).
+- Extradition: [US DOJ international extradition FAQ](https://www.justice.gov/criminal/criminal-oia/frequently-asked-questions-regarding-extradition).
+- Controlled delivery, precursors and enforcement terminology: [1988 UN convention](https://www.unodc.org/pdf/convention_1988_en.pdf), [UNODC drug law enforcement curriculum](https://www.unodc.org/documents/southasia/reports/Curriculum_on_Drug_Law_Enforcement.pdf).
+- Street value: [UNODC technical assessment of drug statistics](https://www.unodc.org/documents/data-and-analysis/statistics/Drugs/Background_paper_session_II_ARQ_Technical_assessment.pdf). This is an estimate, not transaction proceeds.
+- Psychotropic effects and treaty vocabulary: [WHO psychoactive drugs overview](https://www.who.int/health-topics/drugs-psychoactive).
+- Hydroponics: [USDA National Agricultural Library](https://www.nal.usda.gov/farms-and-agricultural-production-systems/hydroponics). Grow-house wording describes a building's use, not its legal status.
+- Hectares and metric tonnes: [IPCC conversion appendix](https://www.ipcc.ch/site/assets/uploads/2018/03/srl-en-1.pdf).
+- Lakh/crore: [Government of India's Office of the Principal Scientific Adviser, hosted report, endnote 1](https://psa.gov.in/CMS/web/sites/default/files/publication/WEF_Transforming_Small_Businesses_2025.pdf).
+- Rai: [FAO, The Vegetable Sector in Thailand, conversion table](https://www.fao.org/4/ac145e/ac145e00.htm).
+- Wet weight: [California Department of Cannabis Control data glossary](https://testing.cannabis.ca.gov/resources/data-dashboard/data-dashboard-glossary/).
+
+## New terms in the reports
+
+| Term | Reports | Example |
+|---|---:|---|
+| arrest | 316 | `reports/2001/08/hong-kong-two-cannabis-cigarettes-2001.md` |
+| criminal charge | 20 | `reports/2016/05/czech-ujezdecek-cannabis-grow-raid.md` |
+| custody | 46 | `reports/2011/11/malta-holmes-sentence-2011.md` |
+| suspect | 94 | `reports/2013/05/kaeng-krachan-cannabis-clearings-2013.md` |
+| defendant | 18 | `reports/2001/08/hong-kong-two-cannabis-cigarettes-2001.md` |
+| prosecution | 41 | `reports/2000/02/hong-kong-personal-cannabis-sentence-2000.md` |
+| prosecutor | 61 | `reports/2017/01/timor-leste-cannabis-plants-pretrial-2017.md` |
+| indictment | 5 | `reports/2025/12/serbia-zemun-cannabis-indictment-2025.md` |
+| guilty plea | 12 | `reports/2001/08/hong-kong-two-cannabis-cigarettes-2001.md` |
+| conviction | 61 | `reports/2000/02/hong-kong-personal-cannabis-sentence-2000.md` |
+| acquittal | 7 | `reports/2017/10/timor-leste-cannabis-plants-conviction-2017.md` |
+| appeal | 29 | `reports/2000/02/hong-kong-personal-cannabis-sentence-2000.md` |
+| remand | 20 | `reports/2021/04/transnistria-homegrow-harvest-charges-2021.md` |
+| bail | 10 | `reports/2017/11/sao-tome-port-cannabis-seizure-2017.md` |
+| concurrent sentence | 4 | `reports/2016/06/kiribati-prescription-marijuana-sailor-2016.md` |
+| consecutive sentence | 1 | `reports/2026/10/birmingham-460kg-couriers-sentenced.md` |
+| parole | 5 | `reports/2014/07/us-brooker-life-sentence-2014.md` |
+| life imprisonment | 21 | `reports/2011/11/malta-holmes-sentence-2011.md` |
+| search warrant | 5 | `reports/2026/07/california-ucetf-q2-2026.md` |
+| extradition | 3 | `reports/2025/09/austria-vienna-liesing-cannabis-hall.md` |
+| seizure | 293 | `reports/2000/07/senegal-dakar-resin-seizure-2000.md` |
+| forfeiture | 5 | `reports/2016/06/kiribati-prescription-marijuana-sailor-2016.md` |
+| confiscation | 17 | `reports/2015/10/kiribati-yacht-cannabis-sentence-2015.md` |
+| controlled delivery | 5 | `reports/2024/07/maldives-airport-cannabis-seizure-2024.md` |
+| interdiction | 2 | `reports/2025/11/morocco-bcij-seizure-2025.md` |
+| consignment | 34 | `reports/2020/09/togo-cannabis-bus-seizure-2020.md` |
+| street value | 16 | `reports/2019/10/solomon-islands-mbarande-raid-2019.md` |
+| narcotic | 125 | `reports/2002/07/syria-bekaa-eradication-2002.md` |
+| psychotropic | 38 | `reports/2012/04/libya-anti-narcotics-agency-abolished-2012.md` |
+| precursor | 4 | `reports/2024/12/czech-vivaldi-hashish-grow-six-charged.md` |
+| grow house | 5 | `reports/2025/09/new-zealand-operation-beryl-2025.md` |
+| hydroponics | 7 | `reports/2026/06/india-ncb-annual-report-2025.md` |
+| hectare | 33 | `reports/2000/02/kampot-thlan-muroi-3-hectares-2000.md` |
+| tonne | 85 | `reports/2005/07/burkina-faso-herb-seizures-2000-2005.md` |
+| lakh | 17 | `reports/2023/10/kullu-manikaran-cannabis-raid-2023.md` |
+| crore | 18 | `reports/2022/09/sri-lanka-kudiramalai-434kg-kerala-cannabis-2022.md` |
+| rai | 1 | `reports/2013/05/kaeng-krachan-cannabis-clearings-2013.md` |
+| wet weight | 5 | `reports/2022/09/sri-lanka-kudiramalai-434kg-kerala-cannabis-2022.md` |

glossary.yaml +117 −1
@@ -185,4 +185,120 @@
   text: A tax on a particular product, such as alcohol, tobacco or legal cannabis, charged on top of ordinary sales tax.
 - id: eradication
-  also: [eradication campaign, eradication campaigns]
+  also: [eradication campaign, eradication campaigns, eradicate, eradicated]
   text: Destroying cannabis crops, by hand, by burning or by spraying from the air, usually by police or soldiers.
+
+# Court and enforcement vocabulary found in the tracker review of 29 October 2026.
+# Editorial references and report examples: docs/GLOSSARY-SOURCES.md.
+- id: arrest
+  also: [arrested, arrests]
+  text: Taking a person into official custody over a suspected offence. An arrest does not itself mean that the person has been charged or found guilty.
+- id: criminal charge
+  also: [criminal charges, charged with, charge sheet, charge sheets]
+  text: A formal accusation that someone committed an offence. A charge still has to be proved; it is not a conviction.
+- id: custody
+  also: [police custody, judicial custody]
+  text: Being held under the control of the authorities, for example in a police station or prison. Custody can come before trial as well as after conviction.
+- id: suspect
+  also: [suspects]
+  text: A person the authorities believe may have been involved in an offence. This describes a stage of an investigation, not a finding of guilt.
+- id: defendant
+  also: [defendants, co-defendant, co-defendants]
+  text: The person or other party a legal case is brought against. In a criminal report, calling someone a defendant does not itself mean the court has found them guilty.
+- id: prosecution
+  also: [prosecutions, prosecute, prosecuted, prosecuting]
+  text: Bringing and pursuing a criminal case against someone. The word can also mean the side presenting the case against the accused.
+- id: prosecutor
+  also: [prosecutors, public prosecutor, public prosecutors]
+  text: The lawyer or official who presents the criminal case against the accused on behalf of the prosecuting authority.
+- id: indictment
+  also: [indictments, indicted]
+  text: A formal written accusation used in some criminal proceedings. Who issues it and how it is approved vary between legal systems; it does not establish guilt.
+- id: guilty plea
+  also: [guilty pleas, pleaded guilty, pled guilty, pleads guilty]
+  text: A person's formal admission in court that they committed the offence charged. It is different from being found guilty after a contested trial.
+- id: conviction
+  also: [convictions, convicted]
+  text: A court's formal finding that a person is guilty of an offence, following a guilty plea or a trial. It is a later stage than arrest or charge.
+- id: acquittal
+  also: [acquittals, acquitted, acquit]
+  text: A court's finding that the accused is not guilty of the charge. It is different from releasing someone while the case continues.
+- id: appeal
+  also: [appeals, appealed]
+  text: Asking a higher court to review a decision, such as a conviction or sentence. The higher court may uphold or change that decision.
+- id: remand
+  also: [remanded, remanded in custody, pre-trial detention, pretrial detention]
+  text: In custody reports, holding an accused person while they await trial or sentencing. In other court contexts, remand can instead mean sending a case back to a lower court.
+- id: bail
+  also: [released on bail, granted bail, bail conditions]
+  text: Release from custody while a case continues, usually with conditions such as returning to court. Some systems require money or a guarantee, but bail does not always involve a payment.
+- id: concurrent sentence
+  also: [concurrent sentences, concurrent prison terms, concurrent terms, concurrently, concurrent]
+  text: Sentences served at the same time rather than added together. Two fully concurrent terms of five years and three years take five years to serve, before any release rules apply.
+- id: consecutive sentence
+  also: [consecutive sentences, consecutive prison terms, consecutive terms, consecutively, consecutive]
+  text: Sentences served one after another. Terms of five years and three years served consecutively add up to eight years, before any release rules apply.
+- id: parole
+  text: Conditional release from prison before the full sentence has been served. The person remains subject to conditions and may be returned to prison if they break them.
+- id: life imprisonment
+  also: [life sentence, life sentences, life term, life terms]
+  text: A prison sentence expressed as life rather than a fixed number of years. Whether release is possible depends on the law and the particular sentence.
+- id: search warrant
+  also: [search warrants]
+  text: An order authorising officials to search a specified place for evidence. It is an investigative power, not a finding that an offence has been proved.
+- id: extradition
+  also: [extradited, extradite]
+  text: A legal process in which one country surrenders a person to another for prosecution or to serve a criminal sentence. It is different from deporting someone under immigration law.
+- id: seizure
+  also: [seizures, seized]
+  text: Authorities taking control of drugs, money or other property under legal powers. A seizure does not by itself establish guilt or permanently transfer ownership to the state.
+- id: forfeiture
+  also: [forfeited, asset forfeiture]
+  text: Loss of property to the state through a legal process, for example because it was linked to an offence. It is different from a temporary seizure during an investigation.
+- id: confiscation
+  also: [confiscated, confiscate]
+  text: Authorities taking property away under legal powers. Reports may use the word for either a seizure or permanent forfeiture, so the exact legal order matters.
+- id: controlled delivery
+  also: [controlled deliveries]
+  text: An investigation in which authorities allow a suspect shipment to continue under supervision so they can identify the people involved. It does not mean that the shipment has become legal.
+- id: interdiction
+  text: Intercepting drugs or other prohibited goods before they reach their destination, for example at a border or along a transport route.
+- id: consignment
+  also: [consignments]
+  text: A batch of goods sent together as one shipment. In these reports it usually means a load of cannabis being transported.
+- id: street value
+  also: [estimated street value]
+  text: An estimate of what drugs might sell for in the retail market. It is not a record of money actually paid, and figures based on different prices or assumptions are not directly comparable.
+- id: narcotic
+  also: [narcotics, narcotic drugs]
+  text: In drug laws and agency names, a label for controlled drugs that can include cannabis. The label is not a precise description of a substance's effects.
+- id: psychotropic
+  also: [psychotropic substance, psychotropic substances]
+  text: Affecting mental processes such as perception, thinking or mood. In a law or treaty, psychotropic substances refers to the substances covered by that particular legal list.
+- id: precursor
+  also: [precursors, precursor chemical, precursor chemicals]
+  text: A chemical used in making a drug. Many precursor chemicals also have ordinary legal uses, so controls often concern preventing their diversion into illegal production.
+
+# Growing and quantities: explanations, not instructions for cultivation.
+- id: grow house
+  also: [grow houses, grow-house, grow-houses]
+  text: A house or other building used to grow cannabis indoors, often with artificial lighting and climate-control equipment. The name does not establish whether it is licensed or illegal.
+- id: hydroponics
+  also: [hydroponic, hydroponically]
+  text: Growing plants without soil, with nutrients supplied in water. The word describes a growing method, not a cannabis variety or a guaranteed level of THC.
+- id: hectare
+  also: [hectares]
+  text: An area of 10,000 square metres, or about 2.47 acres. Crop area alone does not tell us how much dried cannabis it would produce.
+- id: tonne
+  also: [tonnes, metric tonne, metric tonnes]
+  text: A metric unit of 1,000 kilograms, about 2,205 pounds. It is different from the US short ton, which is about 907 kilograms.
+- id: lakh
+  also: [lakhs]
+  text: One hundred thousand in the South Asian numbering system. A lakh is a number, not a currency; one lakh rupees means 100,000 rupees.
+- id: crore
+  also: [crores]
+  text: Ten million in the South Asian numbering system, equal to one hundred lakh. The currency still matters; a crore of Indian rupees is not a crore of Sri Lankan rupees.
+- id: rai
+  text: A Thai unit of land area equal to 1,600 square metres, or 0.16 hectares. It measures land, not the amount of cannabis harvested.
+- id: wet weight
+  also: [fresh weight]
+  text: The weight of plant material before drying, including its moisture. It is not directly comparable with the weight of dried cannabis.

scripts/answers.test.mjs +1 −0
@@ -148,3 +148,4 @@ test("glossary API exports sourced multilingual cannabis vocabulary and inflecti
   assert.ok(data.recognition.prefixes.includes("marihuan"));
   assert.ok(!data.recognition.words.includes("decriminalised"));
+  for (const id of ["remand", "controlled delivery", "street value", "crore", "hydroponics"]) assert.ok(data.entries.some(entry => entry.kind === "glossary" && entry.id === id && entry.text.length > 20), id);
 });

    ↑↓ to move, ↵ to open.