NVIDIA / NVIDIA/OpenShell

refactor(supervisor): remove legacy supervisor control RPCs after session migration

Offen
#1,955 2 Kommentare 0 Reaktionen 1 zugewiesene Person Auf GitHub ansehen

@pimlock arbeitet bereits daran.

Seit 17.6.2026.

area:gateway area:supervisor tech-debt topic:compatibility
Vorherrschende Sprache
Rust
Sterne
8.7k
Forks
1.3k
Ø Merge
2 T. 11 Std.
Gemergte PRs (30 T.)
253

Beschreibung

Problem Statement

#1731 should keep the existing supervisor control RPCs during the session-control migration so rollout is reversible and mixed-version gateways/supervisors remain safe. Once the session path is implemented, feature-flagged, and exercised, the redundant legacy RPCs should be deprecated or removed in a separate cleanup.

Proposed Design

After the session-control path is stable:

  • Migrate supervisor call sites away from legacy polling/report RPCs.
  • Remove or deprecate redundant RPCs where the session-control equivalent is adopted:
    • GetSandboxConfig
    • GetSandboxProviderEnvironment
    • PushSandboxLogs
    • ReportPolicyStatus
    • SubmitPolicyAnalysis
    • Inference.GetInferenceBundle
  • Remove compatibility fallback code only after the supported rollout window is clear.
  • Update generated clients, server handlers, tests, and docs together.
  • Keep user-facing read APIs, such as log retrieval or policy status reads, if they are still independently useful.

Alternatives Considered

  • Remove legacy RPCs inside #1731: rejected because it makes the first migration harder to review, harder to roll back, and riskier for mixed-version deployments.
  • Keep legacy RPCs indefinitely: acceptable during rollout, but it leaves duplicate control paths and makes future behavior harder to reason about.

Agent Investigation

Current code still uses separate RPCs for the control/reporting paths while ConnectSupervisor only carries session lifecycle, heartbeat, and relay lifecycle messages. The initial #1731 implementation should make legacy RPC handlers thin wrappers around shared helpers, then route session messages through the same helpers. This follow-up removes the wrappers and fallback paths after the new path is proven.

Definition of Done

  • Confirm the session-control path is enabled and covered by tests/e2e for supported deployments.
  • Remove or deprecate redundant proto RPCs and regenerate bindings.
  • Remove server handlers that no longer have supported callers.
  • Remove supervisor polling/reporting call sites that no longer need fallback.
  • Update docs that mention legacy polling/reporting behavior.
  • Add release/compatibility notes if this is a breaking protocol cleanup.

Related

  • Follow-up to #1731

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.