SIGN IN SIGN UP

feat(queue): let custom scanners declare roles (#4723)

## Description

Allow queue scanners to declare leased roles through
`QueueScannerRoleProvider`. The queue processor registers those roles
after shard selection and continues to own acquisition, renewal,
metrics, and active-role reporting. Duplicate names between configured
and scanner-declared roles fail startup rather than silently choosing an
owner. The built-in partition scanner now declares the sequential role
instead of receiving it as a processor default.

`QueueScannerRuntime.IsRoleActive` gives scanners a dynamic ownership
check for each scan pass. This avoids treating static run-mode
eligibility as active ownership and supports future scanner-specific
roles without adding dedicated runtime flags.

## Release note

None

## Migration note

None

## Validation

- `go test -count=1 ./pkg/execution/queue`
B
Bruno Scheufler committed
ce19803e185b791121352a77601216abc25ee7be
Parent: 9388b85
Committed by GitHub <noreply@github.com> on 8/7/2026, 6:41:18 PM