Move the distributed bandit out of this repository - #12
Merged
Conversation
Pooling per-epoch statistics across replicas through Valkey or Redis is a networked coordination subsystem. This library is for measuring adaptive policy selection, and that subsystem served none of its declared readers: it added a Redis client, a Lua script, a docker-compose file, a two-engine CI job and roughly 2,500 lines to a repository whose point is that you can read it in an evening. Removed: bandit/redis (whole module), the fleet half of the bandit module (distributed, coordinate, store, memstore, fingerprint, window, snapshot, config, errors and their tests), bench/fleet.go and its test, docs/fleet.md, docker-compose.yml, the Makefile redis targets, the CI redis job, and the pooling section of docs/evidence.md, which measured the code being removed. The bandit module keeps what a single process needs: Thompson, Greedy and the Beta sampling behind them. Its go.mod is now as-cache plus testify. No forwarding pointer is left in the documentation. The code is not published anywhere, and a link to a repository that does not exist is worse than no link. It remains reachable in this repository's history at the commit before this one, which is where anyone reviving it should start. API-BREAK: the bandit module loses NewDistributed, NewMemStore, Distributed, MemStore, Store, Config, Mode, EvidenceMode, Snapshot, Role, Bucket, ArmCounts, ArmEvidence, ArmKey, SyncRequest, SyncResult, WindowCounts, the ModeLeader/ModeSharedPosterior and EvidenceAll/EvidenceShadowOnly constants, and the seven sentinel errors that validated a Config (ErrNilStore, ErrInvalidCoordinationEpoch, ErrInvalidWindow, ErrInvalidDecay, ErrInvalidJitter, ErrEmptyNamespace, ErrShadowOnlyUnderLeader). The bandit/redis module is withdrawn. make all passes across the nine remaining modules.
sshaplygin
force-pushed
the
v04/a3-cut-fleet
branch
from
August 27, 2026 20:43
b208c57 to
379d960
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pooling per-epoch statistics across replicas through Valkey or Redis is a
networked coordination subsystem. This library is for measuring adaptive policy
selection, and that subsystem served none of its declared readers: it added a
Redis client, a Lua script, a docker-compose file, a two-engine CI job and
roughly 2,500 lines to a repository whose point is that you can read it in an
evening.
38 files changed, 13 insertions(+), 6015 deletions(-)
Removed
bandit/redis(whole module) · the fleet half of thebanditmodule(
distributed,coordinate,store,memstore,fingerprint,window,snapshot,config,errorsand their tests) ·bench/fleet.goand its test·
docs/fleet.md·docker-compose.yml· the Makefile redis targets · the CIredis job · the pooling section of
docs/evidence.md, which measured the codebeing removed.
The
banditmodule keeps what a single process needs —Thompson,Greedy,and the Beta sampling behind them. Its
go.modis now as-cache plus testify.No forwarding pointer
The code is not published anywhere, so the documentation links to nothing: a
link to a repository that does not exist is worse than no link. It stays
reachable in this repository's history at the commit before this one, which is
where anyone reviving it should start.
API-BREAK
The
banditmodule losesNewDistributed,NewMemStore,Distributed,MemStore,Store,Config,Mode,EvidenceMode,Snapshot,Role,Bucket,ArmCounts,ArmEvidence,ArmKey,SyncRequest,SyncResult,WindowCounts, theModeLeader/ModeSharedPosteriorandEvidenceAll/EvidenceShadowOnlyconstants, and the seven sentinel errorsthat validated a
Config. Thebandit/redismodule is withdrawn.Verification