Skip to content

Managed Deep Agents provider resolver drops required Nemotron force_nonempty_content parameter #7441

Description

@joelrlh

Summary

NemoClaw's managed Deep Agents provider resolver appears to drop model-specific request parameters required by Nemotron coding-agent workloads. In particular, extra_body.chat_template_kwargs.force_nonempty_content = true is present in the sandbox model configuration but is absent from the resolved model constructor settings used by the managed dcode launcher.

This produces intermittent newline-only completions with finish_reason: stop. The managed process exits normally, so callers cannot distinguish the blank completion from a useful response without validating the persisted thread.

Environment

  • NemoClaw: 0.0.90, official lkg commit acfa2613c7a645ae1bff21914f25d824e5fbcf62
  • OpenShell: 0.0.85
  • Deep Agents Code: 0.1.34
  • Model: nvidia/nemotron-3-ultra-550b-a55b
  • Host: Apple Silicon macOS with Docker Desktop

No provider credential is included in this report or the linked reproduction.

Reproduction

  1. Onboard a managed NemoClaw sandbox with the Nemotron model above.
  2. Configure the model with extra_body.chat_template_kwargs.force_nonempty_content = true, as recommended by the NVIDIA model guidance for coding agents.
  3. Launch the supported managed Deep Agents Code path through dcode.
  4. Inspect the resolved provider/model constructor settings and the persisted response.
  5. Repeat a bounded research prompt several times.

Observed on the pinned tuple:

  • The sandbox configuration retains force_nonempty_content = true.
  • NemoClaw's hardened provider-argument resolver supplies the managed inference URL, synthetic credential, and use_responses_api = false, but not the configured extra_body parameters.
  • The managed launcher disables --model-params, so the missing setting cannot be restored through the supported CLI surface.
  • Multiple requests persisted content containing only a newline while reporting finish_reason: stop.
  • A separate attempt also surfaced provider capacity exhaustion; that condition is distinct from the blank successful completions.

A public, sanitized reproduction and compatibility record is available at:

joelrlh/open-agent-system@cf15848

Expected behavior

The managed provider resolver should preserve reviewed model-specific parameters from the sandbox configuration, or explicitly inject the required Nemotron parameter. The managed launcher can continue to reject arbitrary command-line model overrides.

Suggested acceptance criteria

  • The resolved constructor for this model contains extra_body.chat_template_kwargs.force_nonempty_content = true.
  • The fix does not expose the real provider credential to the sandbox or repository workspace.
  • Invalid or unsupported provider parameters still fail closed.
  • A regression test covers parameter preservation through the hardened managed resolver.
  • A bounded repeated managed dcode run produces non-empty content without relying on repository-side retries.

Metadata

Metadata

Assignees

Labels

area: providersInference provider integrations and provider behaviorarea: routingRequest routing, policy routing, model selection, or fallback logicintegration: dcodeLangChain Deep Code integration behaviorplatform: containerAffects Docker, containerd, Podman, or imagesplatform: macosAffects macOS, including Apple Silicon

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions