Validate data¶
Run after any change under data/ — before committing and in CI:
uv run poe validate
Or in the backend image (no local Python setup needed):
docker compose run --rm --no-deps backend poe validate
# or any soju subcommand:
uv run poe container-cli validate-schemas
uv run poe container-cli align
uv run poe container-cli registry
poe validate runs three checks in sequence, each also runnable on its own:
Check |
Command |
What it catches |
|---|---|---|
JSON Schema |
|
Malformed/missing fields against |
Verb alignment |
|
Verb forms out of sync with the registry ( |
Registry |
|
UUID/ref integrity and sense uniqueness — hangul + English meaning; homonyms are
allowed ( |
uv run poe pre-commit (alias: lint) runs these plus the rest of the pre-commit
hooks on all files.
See CLI reference for the individual CLI tools and Import vocabulary for how new data gets written in the first place.