Priority Level
High (Major functionality broken)
Describe the bug
Summary
data-designer download personas --locale <code> shells out to ngc registry resource download-version ... --org nvidia .... On NGC CLI 3.164.0 (current release at the time of filing — likely earlier 3.x releases too), download-version does not accept --org, and --org is not a global flag either, so the subprocess exits non-zero and the persona download fails. The --org nvidia is also redundant: the resource path is already nvidia/nemotron-personas/<dataset> so NGC parses the org from the path prefix.
Environment
data-designer: main (since #604 — chore(cli): Add --org option to NGC download command)
- NGC CLI: 3.164.0 (and probably any NGC CLI 3.x release)
- OS: Linux (reproduced on Colab; not OS-specific)
Steps/Code to reproduce bug
# NGC CLI 3.164.0 installed and on PATH, NGC_API_KEY exported
$ data-designer download personas --locale en_US
────────── Download Nemotron-Persona Datasets ───────────
💡 Datasets will be saved to: /root/.data-designer/managed-assets/datasets
💡 NGC CLI 3.164.0
📦 Will download 1 Nemotron-Persona dataset(s):
• en_US (1.24 GB)
Proceed with download? [Y/n]: y
📦 Downloading Nemotron-Persona dataset for en_US...
usage: ngc [--debug] [--format_type <fmt>] [--version] [-h]
{cloud-function,config,diag,pym,registry,version}
...
ngc: error: unrecognized arguments: --org
❌ ✗ Failed to download Nemotron-Persona dataset for en_US
❌ NGC CLI error: Command '['ngc', 'registry', 'resource',
'download-version', 'nvidia/nemotron-personas/nemotron-personas-dataset-en_us',
'--org', 'nvidia', '--dest', '/tmp/tmpyxfejaug']' returned non-zero exit status 2.
Note that the usage: line in the NGC CLI error lists the top-level flags as --debug --format_type --version -h — --org is not among them, confirming it's not a global flag in 3.x.
Expected behavior
Root cause
packages/data-designer/src/data_designer/cli/services/download_service.py lines 50–60:
cmd = [
"ngc",
"registry",
"resource",
"download-version",
f"nvidia/nemotron-personas/{locale_obj.dataset_name}",
"--org",
"nvidia",
"--dest",
temp_dir,
]
subprocess.run(cmd, check=True)
The --org nvidia flag was added in #604. It's not accepted by ngc registry resource download-version in NGC CLI 3.x.
Proposed fix
Drop the --org args; the org is already specified in the resource path:
cmd = [
"ngc",
"registry",
"resource",
"download-version",
f"nvidia/nemotron-personas/{locale_obj.dataset_name}",
"--dest",
temp_dir,
]
Agent Diagnostic / Prior Investigation
No response
Additional context
This is a one-line fix. The existing unit test packages/data-designer/tests/cli/services/test_download_service.py (currently asserts the broken shape at lines 137–143) needs to be updated to drop the same args.
Why the unit test didn't catch this
The test mocks subprocess.run and asserts the exact cmd list, so it validates "we call ngc with this exact argv" rather than "the call succeeds against a real NGC CLI". Recommendation: add a CI smoke test that runs data-designer download personas --locale en_US --dry-run against a real NGC CLI install, or at least mocks the NGC CLI process to return a sample of its actual help/error output.
Checklist
Priority Level
High (Major functionality broken)
Describe the bug
Summary
data-designer download personas --locale <code>shells out tongc registry resource download-version ... --org nvidia .... On NGC CLI 3.164.0 (current release at the time of filing — likely earlier 3.x releases too),download-versiondoes not accept--org, and--orgis not a global flag either, so the subprocess exits non-zero and the persona download fails. The--org nvidiais also redundant: the resource path is alreadynvidia/nemotron-personas/<dataset>so NGC parses the org from the path prefix.Environment
data-designer:main(since #604 —chore(cli): Add --org option to NGC download command)Steps/Code to reproduce bug
Note that the
usage:line in the NGC CLI error lists the top-level flags as--debug --format_type --version -h—--orgis not among them, confirming it's not a global flag in 3.x.Expected behavior
Root cause
packages/data-designer/src/data_designer/cli/services/download_service.pylines 50–60:The
--org nvidiaflag was added in #604. It's not accepted byngc registry resource download-versionin NGC CLI 3.x.Proposed fix
Drop the
--orgargs; the org is already specified in the resource path:Agent Diagnostic / Prior Investigation
No response
Additional context
This is a one-line fix. The existing unit test
packages/data-designer/tests/cli/services/test_download_service.py(currently asserts the broken shape at lines 137–143) needs to be updated to drop the same args.Why the unit test didn't catch this
The test mocks
subprocess.runand asserts the exactcmdlist, so it validates "we callngcwith this exact argv" rather than "the call succeeds against a real NGC CLI". Recommendation: add a CI smoke test that runsdata-designer download personas --locale en_US --dry-runagainst a real NGC CLI install, or at least mocks the NGC CLI process to return a sample of its actual help/error output.Checklist