refactor(supervisor): remove legacy supervisor control RPCs after session migration
@pimlock arbeitet bereits daran.
Seit 17.6.2026.
- 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:
GetSandboxConfigGetSandboxProviderEnvironmentPushSandboxLogsReportPolicyStatusSubmitPolicyAnalysisInference.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
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Bewertung
Dieses Issue wurde noch nicht bewertet.