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_service in ores.refdata.
  • Flag-image linkage in ores.assets via country_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

Emacs 29.1 (Org mode 9.6.6)