Skip to content

feat(client): add platform NemoClient provider#799

Closed
maxdubrinsky wants to merge 3 commits into
mainfrom
aircore-883-nemoclient-provider-foundation/md
Closed

feat(client): add platform NemoClient provider#799
maxdubrinsky wants to merge 3 commits into
mainfrom
aircore-883-nemoclient-provider-foundation/md

Conversation

@maxdubrinsky

Copy link
Copy Markdown
Contributor

Summary

  • Add a plugin-side NemoClientProvider protocol with explicit override, entry-point discovery, and standalone environment fallback.
  • Add the platform provider backed by service URL routing, shared HTTP transports, request principal headers, and OTEL propagation.
  • Register provider entry points in nmp-common and the bundled nemo-platform package.
  • Fail closed for broken or conflicting installed providers and prevent OTEL context from replacing authoritative identity headers.

Validation

  • 81 focused provider and client-factory tests passed after rebasing onto current main.
  • Ruff, formatting, focused ty, wheel entry-point inspection, and git diff --check passed.
  • Independent adversarial review found no blocker.

Follow-up

Directly owned NemoClient transport teardown is pre-existing and intentionally outside this PR. AIRCORE-933 tracks ownership-aware close and context-manager support.

Linear: https://linear.app/nvidia/issue/AIRCORE-883

Signed-off-by: Max Dubrinsky <mdubrinsky@nvidia.com>
Signed-off-by: Max Dubrinsky <mdubrinsky@nvidia.com>
@github-actions github-actions Bot added the feat label Jul 20, 2026
Signed-off-by: Max Dubrinsky <mdubrinsky@nvidia.com>
@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor
Suite Lines Covered Line Rate Branch Rate
Unit Tests 26502/34123 77.7% 62.0%
Integration Tests 15214/32748 46.5% 18.7%

@maxdubrinsky

Copy link
Copy Markdown
Contributor Author

Folded into #800, which is now retargeted to main and carries the full NemoClient foundation (provider AIRCORE-883 + request-scoped DI AIRCORE-904). Closing to consolidate the two stacked drafts into one reviewable PR. No content lost: #800's branch already contained every commit from this branch.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant