refactor(queue): split queue reader capabilities (#4743)
## Description - replace the broad `JobQueueReader` with focused `RunQueueReader`, `QueueStatusReader`, `QueuePartitionReader`, `QueueBacklogReader`, and `QueueItemReader` interfaces - allow queue processors to override each reader independently, alongside the existing producer, consumer, and attempt-resetter overrides - narrow App API to the two reader capabilities it actually uses: run reads and individual item reads - keep App API shard routing on `queue.ShardRegistry` - make per-shard key-queue backlog reads an optional `BacklogOperations` capability so non-key-queue shards do not have to implement them - narrow shard-backed reader and attempt-resetter constructors to the read-only `ShardRegistry` - update devserver and finalization integration wiring to provide only the queue capabilities they consume ## Testing - `go test -count=1 ./pkg/execution/queue ./pkg/execution/checkpoint ./pkg/api/apiv1 ./pkg/debugapi ./pkg/coreapi ./pkg/execution/executor` - `go test -count=1 -run '^$' ./pkg/execution/state/redis_state` - `go test -count=1 ./tests/execution/executor -run '^TestFinalize'` ## Release note None ## Migration note None
B
Bruno Scheufler committed
f7ae7bdaeb56bb98df1407b3694e9ea192a86501
Parent: a81dc79
Committed by GitHub <noreply@github.com>
on 8/14/2026, 10:47:32 PM