Skip to content

chore(devstack): remove rust/kona/tests/supervisor and the sysgo op-supervisor path#20849

Open
ajsutton wants to merge 3 commits into
developfrom
aj/chore/remove-kona-supervisor-tests
Open

chore(devstack): remove rust/kona/tests/supervisor and the sysgo op-supervisor path#20849
ajsutton wants to merge 3 commits into
developfrom
aj/chore/remove-kona-supervisor-tests

Conversation

@ajsutton
Copy link
Copy Markdown
Contributor

@ajsutton ajsutton commented May 18, 2026

The Go packages under rust/kona/tests/supervisor/ aren't invoked by any CI job (the kona test-e2e-sysgo matrix only runs node/common, node/reorgs, and node/restart). They were also the last consumer of the supervisor-backed NewSimpleInterop / NewSingleChainInterop presets, which in turn were the last code path that booted op-supervisor as a service in devstack.

With those tests gone:

  • Delete the supervisor-backed NewSimpleInterop / NewSingleChainInterop factories and the singleChainInteropFromRuntime / simpleInteropFromRuntime adapters.
  • Delete NewSimpleInteropRuntime{,WithConfig} / NewSingleChainInteropRuntime{,WithConfig} plus the startSupervisor / startOPSupervisor / startKonaSupervisor / OpSupervisor / KonaSupervisor / Supervisor-interface chain in op-devstack/sysgo.
  • Drop MultiChainRuntime.PrimarySupervisor and SingleChainInteropSupport.Supervisor (no setters/readers left).
  • Drop SingleChainInterop.Supervisor, the dsl.Supervisor wrapper, supervisorFrontend, newSupervisorFrontend, newPresetSupervisor, and the stack.Supervisor interface.
  • Move readJWTSecretFromPath and validateSimpleInteropPresetConfig into a small interop_helpers.go since they are still needed by the supernode runtime.
  • Rename NewSimpleInteropSupernodeProofsNewSimpleInterop and NewSingleChainInteropSupernodeProofsNewSingleChainInterop. The SingleChainInterop / SimpleInterop struct types stay alive (still used by supernode-proof presets and op-acceptance-tests/tests/superfaultproofs/), and "interop" now implies supernode-backed, so the redundant suffix goes. Isthmus and SuperRootAtGenesis variants keep their distinguishing suffixes.

After this lands, nothing in devstack boots an op-supervisor service.

@ajsutton ajsutton requested a review from a team as a code owner May 18, 2026 23:39
Base automatically changed from aj/chore/remove-multisupervisor-preset to develop May 19, 2026 01:49
ajsutton added 3 commits May 19, 2026 12:12
…path

The rust/kona/tests/supervisor packages are not invoked by any CI job
(the kona test-e2e-sysgo matrix only runs node/common, node/reorgs and
node/restart). They were the last consumer of the
NewSimpleInterop/NewSingleChainInterop presets, which in turn were the
last code path that booted op-supervisor as a service in devstack.

With those tests gone:
- Delete NewSimpleInterop / NewSingleChainInterop factories and the
  singleChainInteropFromRuntime / simpleInteropFromRuntime adapters.
- Delete NewSimpleInteropRuntime{,WithConfig} /
  NewSingleChainInteropRuntime{,WithConfig} plus the startSupervisor,
  startOPSupervisor, startKonaSupervisor, OpSupervisor, KonaSupervisor,
  and Supervisor-interface chain.
- Drop MultiChainRuntime.PrimarySupervisor and
  SingleChainInteropSupport.Supervisor (no setters/readers left).
- Drop SingleChainInterop.Supervisor, the dsl.Supervisor wrapper,
  supervisorFrontend, newSupervisorFrontend, newPresetSupervisor, and
  the stack.Supervisor interface.
- Move readJWTSecretFromPath and validateSimpleInteropPresetConfig to
  a small interop_helpers.go since they are still needed by the
  supernode runtime.
Now that 'interop' implies supernode-backed by default, the
NewSimpleInteropSupernodeProofs / NewSingleChainInteropSupernodeProofs
names carried redundant suffixes. Rename them to NewSimpleInterop and
NewSingleChainInterop, matching the surviving struct names.

The Isthmus and SuperRootAtGenesis variants keep their distinguishing
suffixes since they configure non-default fork activations.
@ajsutton ajsutton force-pushed the aj/chore/remove-kona-supervisor-tests branch from 923501d to b7ad11f Compare May 19, 2026 02:13
ajsutton added a commit that referenced this pull request May 19, 2026
Removes the supervisor-managed code paths from op-node:

- Deletes op-node/rollup/interop/ (indexing subsystem + Config/Setup
  abstraction that only existed to feed it).
- Drops the supervisorEnabled toggles from EngineController, Finalizer,
  AltDAFinalizer and the indexingMode toggle from DerivationPipeline and
  Driver. ManagedBySupervisor goes too.
- Removes InteropConfig from op-node config and the interop.rpc.addr /
  interop.rpc.port / interop.jwt-secret CLI flags, plus the
  NewSupervisorEndpointConfig helper.
- Removes OpNode.InteropRPC / InteropRPCPort and the interopSys
  start/stop hooks.
- Deletes the supervisor-driven e2e harnesses (op-e2e/interop/supersystem*,
  op-e2e/actions/interop/dsl/dsl.go, op-e2e/faultproofs/super_test.go and
  helpers, op-e2e/e2eutils/disputegame/super_dispute_system.go) and the
  L1TraversalManaged derivation stage that only existed for indexing mode.
- Updates remaining op-e2e/op-devstack call sites to drop the zero-value
  InteropConfig and SupervisorEnabled fields.

The shared depset and supervisortypes packages stay (DependencySet,
node/api.go, derive/attributes_test.go etc still consume them). The
superAuthority (supernode) path is untouched.

This depends on #20849 (kona supervisor + sysgo runtime cleanup) and
#20850 (op-challenger supervisor removal); both are currently merged
into this branch and will be rebased away once they land.
Copy link
Copy Markdown
Contributor

@wwared wwared left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔥

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants