content-agents · git:20260822.b51b699 · 2026-08-22 · sha256 bef08bce709532ac
content-agents git:20260822.b51b699A
Immutable. This exact content is served forever at /api/v1/blob/bef08bce709532ac.
--- name: content-agents description: Use when packaging, validating, or operating the NVIDIA Content Agents workflow that enriches a self-contained USD object with real Material Agent, Physics Agent, OVRTX, and Validation Agent stages and emits a narrow Isaac rigid-object handoff. --- # Content Agents Use the Tier 1 `content-agents-rigid-object.yaml` workflow. Do not add a first-class service or present upstream Docker Compose as orchestration. NPA's declarative workflow and SkyPilot own jobs; the restricted image runs upstream CLIs and a local isolated OVRTX subprocess. ## Boundary - Accept one customer-owned self-contained USD/USDZ object, or the generated rigid-cube fixture. - Produce a readable self-contained USDZ, upstream validation evidence, provenance, and `sim_asset_manifest.json` for one Isaac rigid object. - Do not claim arbitrary scenes, articulated robots, joints, generated textures, or Genesis direct-USD consumption. - Run Material Agent, Physics Agent, and Validation Agent through their real upstream entrypoints. An echo manifest or NPA reimplementation is invalid. ## Source and license gate Use NVIDIA Content Agents v0.5.2 at `36dbf3f274f8e256637230a05a085853f65cc175`. Antioch commit `9611fc17a899dee1a2fbf4837cce300019ad7210` was reviewed; do not port it unless a new failing test proves a current upstream gap. Content Agents is Apache-2.0, but hash-locked OVRTX 0.3.0.312915 is proprietary. The complete image is `restricted`, operator-built, and private-registry-only. Before build/use, confirm the operator accepted the current NVIDIA Software License Agreement and Product Specific Terms for NVIDIA AI Products (which incorporate the former Omniverse product-specific terms), then set only in the build shell. Official terms: - `https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-software-license-agreement/` - `https://www.nvidia.com/en-us/agreements/enterprise-software/product-specific-terms-for-ai-products/` Set only in the build shell: ```bash export NPA_CONTENT_AGENTS_ACCEPT_NVIDIA_OMNIVERSE_TERMS=YES npa/docker/workbench/content-agents/build.sh --push ``` Never commit acceptance, tokens, configuration, customer assets, or live infrastructure identifiers. Never push this image to GHCR or another public registry. Scene Optimizer Core, OvPhysX, material/sample libraries, weights, and caches must remain absent from the image. ## Operate 1. Run `npa workbench health preflight --output json`. Stop on any required S3, Token Factory, registry, or cluster failure. 2. Provision the single-GPU PCIe RTX cluster with `--gpu-driver-mode operator`. OVRTX requires the GPU Operator's host-mounted Vulkan/GLX userspace; the managed CUDA image exposes compute devices but not the required graphics libraries. This exception is specific to the RTX render recipe and must not be copied to NVSwitch clusters. 3. Resolve the active project's private registry and bucket through NPA config; never paste their identifiers into repository files. 4. Resolve the pushed image to `@sha256:` and verify labels, running pod image ID, and private-registry pull before workflow submission. 5. Validate and plan `npa/workflows/workbench/npa-workflows/content-agents-rigid-object.yaml` with the private bucket and digest-pinned image. 6. Submit through `npa workbench workflow submit ... --runtime`, forwarding `NEBIUS_TOKEN_FACTORY_KEY` and S3 credentials through `--secret-env`. 7. Require non-empty material/physics/validation renders, a passing upstream `validation_result.json`, a reopenable USD/USDZ, and all rigid/collision/ non-null authored mass-or-density/material-binding checks in the manifest. Friction requires at least one authored static or dynamic coefficient in the Isaac handoff range; restitution alone is not friction. All render-bearing states must use `RTXPRO6000:1`. B200/B300 lack RT cores and are invalid OVRTX targets. Hosted VLM inference is already zero-GPU from NPA's perspective; do not create a B200 job merely to exercise capacity. SkyPilot replaces image entrypoints during Kubernetes bootstrap. The workflow renderer therefore starts the image's reviewed Xvfb wrapper in each render stage and fails before upstream execution unless `libGLX_nvidia.so.0` is available from the GPU Operator mount. ## Failure and cleanup Follow `$debug-failed-run` from status to stage logs, S3 evidence, pod reason, image pullability, and scheduling. Resume only when prior immutable artifacts remain valid. Cancel before destroy. Remove transient jobs, services, controllers, and the dedicated cluster; retain only the private image digest and run-scoped S3 evidence needed for reproducibility. Apply `$protect-nebius-infra-details` before commits or collaboration text. Full contracts and commands: `docs/workbench/content-agents.md`.