Skip to content

feat(audio): agent-ready stages + the audio curation agent (full branch, draft) - #2343

Draft
shubhamNvidia wants to merge 1 commit into
NVIDIA-NeMo:mainfrom
shubhamNvidia:agent/adv
Draft

feat(audio): agent-ready stages + the audio curation agent (full branch, draft)#2343
shubhamNvidia wants to merge 1 commit into
NVIDIA-NeMo:mainfrom
shubhamNvidia:agent/adv

Conversation

@shubhamNvidia

Copy link
Copy Markdown
Contributor

Draft — for anyone who wants to try the audio agent end to end. Not intended to merge as-is.

This is the complete audio-agent work in one branch: the same stage-side contracts that are up
for review as #2332#2342, plus the agent that consumes them. It exists so the agent can be
run and evaluated without waiting for eleven PRs to land — review and merge should still happen
through those, starting with #2332 (Foundation).

What's here

Stages (nemo_curator/stages/audio/) — identical content to the 11 PRs:

  • the _agent/ contract layer: AgentReady, StageContract, semantic roles, input residency,
    discovery, planning and the conformance harness, behind the public agent.py entry point
  • describe() contracts and *_key params across common, preprocessing, io, filtering, metrics,
    segmentation, tagging, inference, alm, datasets and advanced_pipelines
  • new stages: ChannelCount, SampleRateFilter, CreateInitialManifestAudioFolder,
    PreserveByValueConditions, ManifestCheckpoint, ManifestGroupExport,
    DocumentBatchJsonlWriter

The agent (nemo_curator/audio_agent/) — the part not in any of the 11 PRs:

  • deterministic verbs: discover / describe / context / validate / smoke / run /
    report / verify / reuse-scan / delta-run / plan-checkpoint / doctor
  • knowledge cards describing what each stage's output means, so a host can judge whether a
    pipeline serves the user's intent, not just whether it runs
  • recipes, host skills (Claude Code / Cursor / Codex), an MCP server, and the test suite

Supporting: resource telemetry for smoke calibration (utils/performance_utils.py, opt-in via
RESOURCE_PROBE in backends/base.py) and a nemo-curator-audio console script.

Trying it

uv sync --extra audio_cuda12          # or --extra audio_cpu
python -m nemo_curator.audio_agent discover
python -m nemo_curator.audio_agent context --data /path/to/audio

Notes

  • Outside nemo_curator/stages/audio/ and nemo_curator/audio_agent/ this touches five files:
    pyproject.toml (console script + a check-manifest ignore for .agents/), .gitignore,
    AGENTS.md, utils/performance_utils.py and backends/base.py. It makes no change to CI
    configuration
    .
  • tests/audio_agent/ has no CI matrix entry on this branch, so those tests do not run here. The
    stage-side tests under tests/stages/audio/ do run via the existing stages-audio entry.
  • Verified locally: 51/51 stages pass static conformance, the stage-compatibility baseline hash is
    unchanged, and whole-repo ruff check is clean.

@copy-pr-bot

copy-pr-bot Bot commented Aug 25, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

The complete audio agent work as one branch: the same stage-side contracts split
across PRs NVIDIA-NeMo#2332-NVIDIA-NeMo#2342, plus the agent that consumes them.

Stages (nemo_curator/stages/audio/):
  - the _agent/ contract layer (AgentReady, StageContract, roles, input residency,
    discovery, planning, conformance) and the public agent.py entry point
  - describe() contracts and *_key params across common, preprocessing, io,
    filtering, metrics, segmentation, tagging, inference, alm, datasets and
    advanced_pipelines
  - new stages: ChannelCount, SampleRateFilter, CreateInitialManifestAudioFolder,
    PreserveByValueConditions, ManifestCheckpoint, ManifestGroupExport,
    DocumentBatchJsonlWriter

Agent (nemo_curator/audio_agent/):
  - deterministic verbs (discover/describe/validate/smoke/run/report/reuse/delta),
    knowledge cards, recipes, and the host skills

Supporting: resource telemetry used by smoke calibration
(utils/performance_utils.py, opt-in via RESOURCE_PROBE in backends/base.py), the
nemo-curator-audio console script, and the audio_agent CI matrix entry.

Verified: 51/51 stages pass static conformance, the stage-compatibility baseline
hash is unchanged, and whole-repo `ruff check` is clean.

Signed-off-by: Shubham Bhawsar <shbhawsar@nvidia.com>
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