NVIDIA / NVIDIA/OpenShell

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

Open
#1,955 2 comments 0 reactions 1 assignee View on GitHub

@pimlock is already working on this.

Since Jun 17, 2026.

area:gateway area:supervisor tech-debt topic:compatibility
Dominant language
Rust
Stars
8.7k
Forks
1.3k
Avg merge
2d 11h
Merged PRs (30d)
253

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.