Skip to content

Replace the DCode Nemotron Ultra source patch with a managed profile plugin #6424

Description

@ericksoa

Context

PR #6416 moved the managed DCode image to deepagents-code[nvidia]==0.1.34 / deepagents==0.7.0a6 and consumes the released Nemotron 3 Ultra harness profile. NemoClaw currently modifies the installed Deep Agents bootstrap at image-build time so that profile also resolves for the two model keys used by our managed OpenAI-compatible route:

  • openai:nvidia/nemotron-3-ultra-550b-a55b
  • openai:nvidia/nvidia/nemotron-3-ultra

That source mutation is unnecessary on our side. Deep Agents already discovers harness-profile plugins through its deepagents.harness_profiles entry-point group. NemoClaw can install a first-party managed plugin that aliases the released canonical profile without modifying any third-party package file.

Scope

  • Add a NemoClaw-owned harness-profile entry-point plugin to the managed DCode image.
  • Register both managed keys against the released canonical nvidia:nvidia/nemotron-3-ultra-550b-a55b profile.
  • Keep exact DCode/Deep Agents version checks plus official native-profile and bootstrap source hashes.
  • Make registration atomic, idempotent, and fail closed on version, source, canonical-profile, or partial-state drift.
  • Delete patch-nemotron-ultra-profile.py, its Docker build wiring, and the patched-bootstrap digest.
  • Update dependency review and focused tests to prove the official Deep Agents bootstrap remains byte-for-byte unmodified.
  • Keep the existing managed model IDs and public CLI/configuration behavior unchanged.
  • Preserve the existing DCode hardening, TUI first-run behavior, progressive disclosure, MCP handling, and Relay observability integration.

Acceptance criteria

  • The image installs and discovers the NemoClaw-owned profile plugin through the supported harness-profile entry-point group.
  • Both managed keys resolve all 12 native Ultra middleware entries.
  • An unrelated OpenAI model receives no Ultra middleware.
  • A complete Deep Agents graph compiles.
  • Parser-repaired and native structured execute calls dispatch identical command arguments exactly once and produce the same managed shell approval/denial result.
  • The image no longer copies or executes patch-nemotron-ultra-profile.py.
  • The installed native profile and Deep Agents bootstrap match the reviewed official wheel byte-for-byte after the image build.
  • Plugin failure-state tests cover exact-version/hash rejection, missing canonical profile, partial state, rollback, and idempotence.
  • A DCode-only CI negative build strips both upstream distributions and proves the production image stops at the isolated import gate before the later dependency check.
  • Dependency review, image-contract tests, focused profile tests, and the ubuntu-repo-cloud-langchain-deepagents-code E2E target pass on the final SHA.
  • Direct/login-shell headless inference and interactive TUI acceptance remain green.
  • No CLI, configuration schema, managed model ID, or external repository change is introduced.

Evidence

Lifecycle

Keep #6431's localized NEMOCLAW_DCODE_PROFILE_IMPORT_GATE and stripped-base regression gate until the image installation path validates deepagents/deepagents-code dependency completeness atomically. Remove the marker, workflow gate, fixture, and focused tests when that condition is met.

Out of scope

  • Changing the managed model IDs.
  • Vendoring or copying the native Ultra profile.
  • Modifying or contributing to an external repository.
  • Floating to an unreleased dependency.

Related: #6416

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area: ciCI workflows, checks, release automation, or GitHub Actionsarea: e2eEnd-to-end tests, nightly failures, or validation infrastructurearea: inferenceInference routing, serving, model selection, or outputsarea: packagingPackages, images, registries, installers, or distributionintegration: dcodeLangChain Deep Code integration behavior

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions