NVIDIA / NVIDIA/OpenShell

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

オープン
#1,955 コメント 2 件 リアクション 0 件 担当者 1 名 GitHub で見る

@pimlock がすでに取り組んでいます。

2026年6月17日 から。

area:gateway area:supervisor tech-debt topic:compatibility
主要言語
Rust
スター
8.7k
フォーク
1.3k
平均マージ
2日 7時間
マージ済み PR(30日)
243

説明

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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。