Skip to content

fix(runners): InMemoryRunnerRegistry has no unregister/deregister method #4526

@OneStepAt4time

Description

@OneStepAt4time

Problem

InMemoryRunnerRegistry (src/runners/registry.ts) has register() but no unregister() method. When #3180 adds dynamic runner registration (hot-pluggable agents), there is no way to remove a runner at runtime.

Current behavior

  • First registered runner becomes defaultRunner — permanently
  • No way to deregister a crashed/unavailable runner
  • If the default runner goes down, getDefault() returns a dead reference

Missing capabilities

  1. unregister(name: string): boolean — remove a runner
  2. setDefault(name: string): void — explicit default override
  3. has(name: string): boolean — existence check without get()

Impact

Discovered during

Code quality sweep on src/runners/ (pre-#3180 audit).

Metadata

Metadata

Labels

P2cienhancementNew feature or requestreleasedIncluded in a published release

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions