add offline country catalog

This commit is contained in:
pj committed 2026-09-09 23:45:11 +05:30
1 parent b0b57b8535
commit e21a2f39e0
395 files changed
+21044 -2

No files matched your search

+29
View File
@@ -0,0 +1,29 @@
# Catalog sources and asset licensing
The bundled catalog is the single human-editable content source. It records a stable ID, publisher, URL, retrieval date, and pinned revision or snapshot description for each source. Country names, codes, regions, capitals, and facts currently remain draft pending human comparison with those sources.
## Flag artwork
The 195 SVG flags under `composeApp/src/commonMain/composeResources/files/flags` come from hampusborgos/country-flags at commit `c09927e63705529bbf59ca6684cd9b23225dddad`. That repository describes the flag images as public domain. The catalog records each file's SHA-256 digest, source, license, modification status, and audit state.
Files were copied without modification and retain their original proportions. A checksum proves which bytes were reviewed; it does not replace visual inspection. Every flag is currently `unreviewed`, so the release gate intentionally fails. A human audit must compare identity, orientation, colours, emblem placement, aspect ratio, current official status, and sensitive variants before changing an asset to `approved`.
Source repository: https://github.com/hampusborgos/country-flags
## Metadata provenance
The initial draft was normalized from datasets/country-codes at commit `6a595f1a6f10b3d00175fe67375da88f64f7f76b`; this aggregate incorporates UN, CLDR, Wikidata, and other public identifiers. The catalog records direct UN M49, UN membership, CLDR, and Wikidata source entries so an editor can verify claims against the owning sources rather than treating the aggregate as authority.
The aggregate commit is a reproducibility aid, not an editorial signoff. Capital arrangements with ambiguity or recent change are explicitly marked and removed from one-answer question eligibility.
Primary review locations:
- United Nations member states: https://www.un.org/en/about-us/member-states
- United Nations M49: https://unstats.un.org/unsd/methodology/m49/
- Unicode CLDR: https://github.com/unicode-org/cldr
- Wikidata: https://www.wikidata.org/
- Pinned aggregate: https://github.com/datasets/country-codes/tree/6a595f1a6f10b3d00175fe67375da88f64f7f76b
## Release report
Run `./gradlew :catalogTool:validateCatalog` for structural validation and a human-readable inventory. Run `./gradlew :catalogTool:validateCatalogForRelease` for the release gate. Both write `catalogTool/build/reports/catalog-review.txt`; the release task returns a distinct non-zero status for editorial gaps.
+32
View File
@@ -0,0 +1,32 @@
# Bert's Atlas content policy
Version 1.0.0
## Canon and names
V1 uses the 193 United Nations member states plus Palestine and Vatican City. Territories, dependencies, constituent countries, and other recognition cases are outside the main answer pool. English display names follow familiar CLDR usage where practical. Stable lower-case ISO alpha-2 identifiers connect catalog content to local progress. Aliases support explicit alternative names but do not create separate countries.
Taiwan is not in the V1 main answer pool because this release follows the stated 195-country convention. This is a product-scope rule, not a statement about sovereignty. Kosovo and Western Sahara are likewise outside the main pool. Questions must not ask players to endorse a position on sovereignty or disputed borders.
## Regions and transcontinental countries
Regional classification follows UN M49 so selection remains deterministic. Russia is assigned to Europe. Türkiye, Kazakhstan, Armenia, Azerbaijan, Georgia, and Cyprus are assigned to Asia. Egypt is assigned to Africa. Catalog notes expose these choices where they may surprise players. Region wording describes this catalog classification, not an exclusive cultural or geographic identity.
## Capitals
Every country has a capital arrangement record. A single-answer capital question is eligible only where the catalog records one stable, unambiguous capital. Records with constitutional capitals, seats of government, multiple functional capitals, disputed claims, or a transition carry an explanatory note and are excluded from generated one-answer capital questions until separately reviewed.
In particular, neutral notes are required for Benin, Bolivia, Côte d’Ivoire, Eswatini, Malaysia, the Netherlands, South Africa, and Sri Lanka. Israel and Palestine must not be used for one-answer capital questions. Indonesia's capital transition is time-sensitive and remains ineligible until reviewed against current official material for the release.
## Facts, explanations, and questions
Every factual statement cites at least one source record. V1 favors durable geography and excludes live population, office-holder, economic, and ranking claims. An `asOf` date is required for any allowed time-sensitive statement. Distractors must be distinct, plausible, and leave exactly one valid answer under the prompt wording.
Copy must remain neutral and avoid stereotypes, conflict jokes, cultural caricatures, and treating a country or people as exotic. Confusion explanations should give an observable distinction or a memory hook without implying that places are interchangeable.
## Review workflow
Review state advances in order: `draft`, `fact_checked`, `copy_checked`, `approved`. Approval requires a named reviewer and review date. Tooling may create draft records, but must never infer or manufacture approval. A release is blocked while any editorial record or flag audit is not approved.
Fact review checks the cited source and ambiguity. Copy review checks clarity, accessibility, international English, repetition, localization readiness, and cultural sensitivity. Final approval confirms both reviews and any noted exception. Changes to approved factual text return the record to `draft`.