Skip to content

fix(cli): stop before any model call when a locale's persona dataset is missing - #60

Merged
3mei merged 2 commits into
mainfrom
yev/fix/locale-preflight
Oct 16, 2026
Merged

3mei merged 2 commits into
mainfrom
yev/fix/locale-preflight

Conversation

@3mei

@3mei 3mei commented Oct 16, 2026

Copy link
Copy Markdown
Contributor

What changed and why

Persona datasets are a one-time download per locale. When one was missing, simulate and panel failed inside Data Designer with a file-pattern traceback, and a live simulate got there only after its model health checks. They now stop before any model call and say what to do.

  • simulate, panel and simulate --materialize-inputs check each locale's dataset in the folder Data Designer's sampler reads, including when DATA_DESIGNER_MANAGED_ASSETS_PATH or DATA_DESIGNER_HOME moves it. A missing dataset raises a ConfigError (exit 2) that names the expected file and gives one data-designer download personas --locale … command for all of them, with the NGC steps. India language variants map to the en_IN dataset, and a locale Data Designer has no dataset for gets the list of locales it provides.
  • simulate --dry-run and panel --dry-run add a personas: line, ready or the same report, and still exit 0, since the offline check comes before the download.
  • usersim smoke adds the download step to its next-step hint when the en_US dataset is missing.
  • simulate --inputs replays stored personas and skips the check.
  • architecture/cli.md describes the check.

How it was verified

  • make check-all: lint clean, 333 files already formatted.
  • make test: 4083 passed. New: tests/test_cli_persona_datasets.py (12 tests) and one test in tests/test_smoke.py, on the suite's en_US-only persona fixture. Each fails without the change.
  • make smoke, make check-license-headers, make check-doc-links, make check-notebooks-clean and make check-dist pass.
  • From an empty home directory, usersim simulate --locale en_US --locale ta_Taml_IN --locale en_GB --num-rows 1 --out o exits 2 before any model call. It names en_US and en_IN with data-designer download personas --locale en_US --locale en_IN, and lists the locales Data Designer provides for en_GB. The same command with --dry-run reports this and exits 0.

3mei added 2 commits October 16, 2026 18:17
…is missing

simulate, panel and --materialize-inputs check each locale's Nemotron-Personas dataset where Data Designer reads it, and name the data-designer download personas command that fetches a missing one, or the locales Data Designer provides. Dry runs report the same and still succeed; --inputs replays stored personas and needs no dataset.

Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
…s missing

Signed-off-by: Yev Meyer <ymeyer@nvidia.com>
@3mei
3mei requested a review from a team as a code owner October 16, 2026 22:18
@3mei
3mei merged commit 6fd4ee3 into main Oct 16, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant