Skip to content

runtime: consider per-provider sweep tuning for shared-venue blast radius #17

Description

@mfw78

From nullislabs/shepherd#445 review (comment). Confirmed still valid at HEAD. Follow-up, not blocking. Target: L1 nexum-runtime (src/supervisor.rs).

sweep_providers (supervisor.rs:1583) uses the engine-wide poison_policy (:95 / :1585) and restart_policy::backoff_for (:1593) - byte-identical to sweep_modules. But a dead provider has a strictly larger blast radius than a dead module: one down venue stalls every module routing through it, not just its own workflow. A popular shared adapter (a CoW adapter serving many modules) traps under load and gets the same 1s-then-doubling curve and poison threshold as a niche single-module adapter, with nothing reflecting how many callers are blocked on it.

Options

  • Add a per-provider policy override (a faster-detect / wider-tolerance curve keyed on caller count or provider identity).
  • Or document why uniform tuning is acceptable at current scale.

Acceptance criteria

  • Either a per-provider sweep-policy override, or a stated rationale for uniform tuning at the sweep site.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:runtimeSupervisor, builder, event loop, restart/poison lifecycle, addonsenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions