Changelog 68e7a82tree, with Claude Opus 5.5
Words for cannabis in the expansion guide, skill and gap list
EXPAND-COUNTRY.md (step 6) and the expand-country skill now ask for a profile's `words`; country-gaps.cjs lists them, flags a country without any and counts the gap in its ranking. The rules stay in DATA-MAINTENANCE.md, "Words for cannabis".
3 files of code, design or docs +12 −2 lines
Code, design and documents 3 files
.claude/skills/expand-country/SKILL.md +2 −1
@@ -12,3 +12,4 @@ repository; this skill only points to it. the country in the arguments (a profile file name such as `ke`, `de` or `us/ca`). 3. Work through the guide's steps in order: current law and penalty tables, history, articles, - context sections, culture, sources, then build and commit only your own files. + context sections, culture and the country's words for cannabis, sources, then build and commit + only your own files.
docs/EXPAND-COUNTRY.md +6 −0
@@ -108,4 +108,10 @@ covers well need not be repeated. `node scripts/country-gaps.cjs us/ca` is a sta (CULTURE.md): 500–900 words, with images where an open-licence image of the subject exists. - New history about an atlas subject goes into that entry's text with a link; the build checks it. +- **Words for cannabis**: give the profile a `words` list, four to eight words people in the + country actually use, best known first, each with its spelling, language, pronunciation where + the source gives one, a few words on its meaning and register, a source, and `atlas:` when an + atlas entry covers the same word. Only words used there: an atlas entry that lists the country is + no reason to add its word. The rules and an example are in DATA-MAINTENANCE.md, "Words for + cannabis"; `country-gaps.cjs` flags a profile without them. ## 7. Sources
scripts/country-gaps.cjs +4 −1
@@ -79,4 +79,6 @@ function gapsOf(id) { atlas, unlinkedAtlas: ctx.culture ? atlas.filter((c) => !ctx.culture.text.includes(`/culture/${c}/`)) : [], atlasWithoutCulture: !ctx.culture && atlas.length > 0, + // the words people use for cannabis, shown in the profile's opening (DATA-MAINTENANCE.md, "Words for cannabis") + words: unit ? null : (p.words ?? []).map((w) => w.word), }; } @@ -86,5 +88,5 @@ const workOf = (g) => g.missingRequired.length * 4 + g.missingResearched.length + g.penalties.length * 2 + g.uncited.length * 0.3 + g.unsourced.length * 2 + g.wikiOnly.length + (g.deathWithoutSection ? 4 : 0) + g.empty.length * 1.5 + (g.stale ? 3 : 0) + (g.entries < 5 ? 5 - g.entries : 0) + g.unchecked.length + g.estimates.length * 2 - + g.noArticle.length * 1.5 + (g.atlasWithoutCulture ? 2 : 0) + g.unlinkedAtlas.length * 0.5; + + g.noArticle.length * 1.5 + (g.atlasWithoutCulture ? 2 : 0) + g.unlinkedAtlas.length * 0.5 + (g.words && !g.words.length ? 1 : 0); // files someone has uncommitted changes in: those countries are being worked on now @@ -136,4 +138,5 @@ function printOne(g) { if (g.unlinkedAtlas.length) list("atlas entries the culture section does not link", g.unlinkedAtlas); if (g.atlasWithoutCulture) out(" ! atlas entries exist but there is no culture section to connect them"); + if (g.words) out(g.words.length ? ` words for cannabis: ${g.words.join(", ")}` : " ! no words for cannabis yet: add `words` (DATA-MAINTENANCE.md, \"Words for cannabis\")"); }