Australia countries/au/index.yaml
limited
Depends on jurisdiction
ACT adults have a local small-possession exemption; elsewhere charges remain possible, and Commonwealth law also applies
Changelog d76f3c0
4 country profiles edited4 files of code, design or docs +137 −8 lines
limited
Depends on jurisdiction
ACT adults have a local small-possession exemption; elsewhere charges remain possible, and Commonwealth law also applies
limited
Up to four plants per household under federal law; Quebec bans personal growing and other provinces add conditions
China — Public Security Administration Punishments Law as revised on 27 June 2025, in force 1 January 2026, Articles 83 and 84 (State Administration for Market Regulation)
China — Public Security Administration Punishments Law as revised on 27 June 2025, in force 1 January 2026, Articles 83 and 84 (Wikisource)
10 unchanged
no
Small amounts bring an administrative offence with detention or a fine; larger amounts can be criminal
no
Small-scale drug cultivation can bring administrative penalties; larger cultivation can be a crime
no
Use can bring administrative detention and a fine, including use in private
no
Administrative detention
Small possession can bring 10–15 days of administrative detention and a fine; larger amounts can bring criminal charges
norml, ncsl, possession844
US Code — 21 USC 844(a), penalties for simple possession 23 unchanged
limited
Depends on jurisdiction
State rules vary; possession can be a crime under state and federal law, even where a state permits it
limited
State rules vary; some allow home growing, while others treat even one plant as a crime
docs/DATA-MAINTENANCE.md +7 @@ -451,4 +451,11 @@ is a pharmacy, a club, a state shop or a coffeeshop. So: Questions: `carry` (possession), `grow` (cultivation), `buy` (access), `public` (consumption), `caught` (enforcement). When the law changes, update the answer with the segment. +- **National estimates do not describe a single jurisdiction.** Where state/provincial rules + or federal and local laws diverge, provide an explicit answer naming that distinction. The US + possession score must never imply that criminal charges are generally unavailable. Audit + Canada and Australia alongside it; Canada’s federal growing permission still has a Quebec + exception. Check administrative detention separately from criminal punishment, as in China. + The same overrides feed the profile, `/can-i/` and search-engine FAQs. Federation profiles + link from the quick answers to their state/province picker. - **`npm run answers:test`** checks every answer against its profile: prescription without a medical programme, "legal" where recreational cannabis is not, "use itself is a crime" where the
docs/research/issue-31-quick-answers-2026-10-25.md +44 @@ -0,0 +1,44 @@ +# Issue 31: national quick answers and administrative detention + +Reviewed 25 October 2026 against DATA-MAINTENANCE.md's quick-answer rules and WRITING.md. +The recent `0b03109` rewrite removed the old “Not a crime” answer and added explicit +profile overrides. It did not give the United States its own possession answer: the +national possession score of four still produced “Usually no criminal charge”. + +This fix uses those existing overrides, shared by country pages, `/can-i/` and FAQ +structured data. No numeric scores or historical score chains change. + +- **US:** explicitly name possible state and federal criminal liability, including where + state law permits possession. Also make home-growing depend on state law. Add the + official [21 USC 844(a)](https://uscode.house.gov/us/usc/119-118/t21/s844/) source to the + possession explanation. Its first-offence provision permits up to a year in prison. + The [DEA rescheduling page](https://www.dea.gov/marijuana-rescheduling-regulatory-actions) + was opened as context; this fix does not reinterpret the profile's rescheduling history. +- **Australia:** explicitly name the ACT's local adult exemption, possible charges + elsewhere and continuing Commonwealth law. [ACT Policing's current guidance](https://police.act.gov.au/community-safety/alcohol-and-drugs/drugs-and-the-law) + was read: the cannabis rules and final Commonwealth-law paragraph support this wording. +- **Canada:** the generic adult possession permission remains appropriate. The cultivation + answer did hide Quebec's ban; now explicitly name that exception and provincial conditions, + using the existing sourced cultivation account. The profile cites LégisQuébec section 10; + its direct endpoint returned 502 during this pass. Health Canada's laws/regulations landing + page was opened; no new Canadian legal claim or score change is introduced. +- **China (issue comment):** make small possession's administrative offence and detention + explicit, with criminal liability distinguished for larger amounts. Also align cultivation, + consumption and the “caught” label with the same distinction in the detailed profile. + Read the official [2025 Public Security Administration Punishments Law](https://www.samr.gov.cn/zw/zfxxgk/fdzdgknr/bgt/art/2025/art_8a1c722747214869b28c0ad7a0f8bb7a.html), + especially articles 3, 10, 83, 84 and 144. Replace the Wikisource URL with that official + reproduction. This does not imply that administrative detention is a harmless warning. + +Federation quick-answer sections now link directly to the existing state/province selector. +Regression tests cover the US national distinction, Australia, Canada's Quebec growing +exception and China's administrative penalties. Browser checks cover profile answers, +`/can-i/`, FAQ data and the picker links at desktop and mobile widths. + +The initial shared-checkout build was blocked by invalid source types in an unrelated +uncommitted Singapore history edit. Verify a snapshot of HEAD plus only this issue's files, +leaving that history edit and the background source archive outside this commit. + +Validation: 13 answer/profile regression tests passed. The clean-snapshot build and +Chrome checks at 1280 px and 390 px verified all four country pages, FAQ data and +`/can-i/`; federation picker links work and no horizontal overflow was found. The four +numeric score objects were also compared directly with HEAD and are unchanged.
scripts/answers.test.mjs +31 @@ -96,2 +96,33 @@ test("Italy: use is not called an offence, and being caught does not mean a fine assert.doesNotMatch(said(it.caught), /\bfine\b/i); }); + +// Issue #31: a national estimate is not a single jurisdiction's legal rule. +test("US national possession names both state and federal criminal exposure", () => { + const us = placeOf('us').result; + assert.equal(us.carry.own, true); + assert.equal(us.carry.answer, 'limited'); + assert.match(us.carry.text, /state and federal law/i); + assert.match(us.carry.text, /can be a crime/); + assert.doesNotMatch(us.carry.text, /not a crime|usually no criminal charge/i); + assert.match(us.grow.text, /one plant.*crime/); +}); + +test("the federation audit keeps Australia conditional and Canada's Quebec growing exception visible", () => { + const au = placeOf('au').result, ca = placeOf('ca').result; + assert.match(au.carry.text, /ACT.*exemption/); + assert.match(au.carry.text, /charges.*Commonwealth/); + assert.equal(ca.carry.answer, 'yes'); // the national adult quantity permission is real + assert.equal(ca.grow.answer, 'limited'); + assert.match(ca.grow.text, /Quebec bans/); +}); + +test("China's small-possession answer describes administrative detention rather than a criminal conviction", () => { + const cn = placeOf('cn').result; + assert.equal(cn.carry.answer, 'no'); + assert.match(cn.carry.text, /administrative offence.*detention/); + assert.match(cn.carry.text, /larger amounts can be criminal/); + assert.doesNotMatch(cn.carry.text, /It is a crime|not a crime, but you can be fined/); + assert.equal(cn.caught.label, 'Administrative detention'); + assert.match(cn.grow.text, /administrative penalties/); + assert.match(cn.public.text, /administrative detention/); +});
src/components/CountryArticle.astro +2 @@ -119,5 +119,5 @@ const culture = cultureOf(c); <label class="field sub-select"> <span>{group.label}</span> - <select data-subunit-select aria-label={`Choose a ${group.label.toLowerCase()} of ${c.name}`}> + <select id="subunit-choice" data-subunit-select aria-label={`Choose a ${group.label.toLowerCase()} of ${c.name}`}> <option value={countryUrl} selected={!sub}>All of {c.name} (national estimate)</option> {byName.map((x) => <option value={unitUrl(x)} selected={sub?.id === x.id}>{x.name} · {x.score}</option>)} @@ -170,4 +170,5 @@ const culture = cultureOf(c); ))} </ul> + {group && !sub && <p class="d-hint"><a href="#subunit-choice">Choose a {group.label.toLowerCase()} for its local rules ↑</a></p>} <p class="d-hint">A rough guide read from the scores and the rules below, not legal advice. The details and the exceptions are in each segment: select an answer to jump to it.</p> </div>