Story: Reference data: countries
Table of Contents
This page documents a story in Sprint 08. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
Introduce countries as a first-class reference-data entity end-to-end. The implementation sets the template the rest of refdata will follow.
Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 08 |
| Now | Completed 2026-01-11. |
| Waiting on | None. |
| Next | None. |
| Last touched | 2026-01-11 |
Acceptance
- ISO 3166-1 countries with bitemporal repository and
country_serviceinores.refdata. - Flag-image linkage in
ores.assetsviacountry_images. - Wt CRUD UI present.
- Shell commands (
countries get,countries add) cover read and write. - SQL populate seeds all 249 countries idempotently.
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Add country support (ISO 3166-1) | DONE | 2026-05-19 | 2026-01-08 | Domain model, bitemporal repository, country_service in ores.refdata; country_images linkage in ores.assets; Wt list/dialog UI; SQL populate for all 249 ISO countries. |
| Finish country features in shell | DONE | 2026-05-19 | 2026-01-11 | Add 'countries get' and 'countries add' commands to ores.comms.shell with formatted table output. |
Decisions
- Bitemporal storage
- countries change rarely but they do change (new countries, renames); audit-grade history matters.
- Flag artwork via images table
- keeps countries decoupled from the asset bundle; same pattern applies to other reference data.
Out of scope
- Non-ISO geographies (regions, sub-divisions). Tracked separately.
See also
- Entity-creator skills suite — countries was the first real exerciser of these skills.