Skip to content

Move the distributed bandit out of this repository - #12

Merged
sshaplygin merged 1 commit into
mainfrom
v04/a3-cut-fleet
Aug 27, 2026
Merged

Move the distributed bandit out of this repository#12
sshaplygin merged 1 commit into
mainfrom
v04/a3-cut-fleet

Conversation

@sshaplygin

@sshaplygin sshaplygin commented Aug 27, 2026

Copy link
Copy Markdown
Owner

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 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 · 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

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 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. The bandit/redis module is withdrawn.

Verification

make all   -> Release checks passed, nine modules
git ls-files | xargs grep -lni 'fleet|valkey|go-redis'
           -> CHANGELOG.md (history, untouched) and docs/policies.md
              ("the whole fleet of measurements", a figure of speech)

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
sshaplygin merged commit 78fba40 into main Aug 27, 2026
24 of 25 checks passed
@sshaplygin
sshaplygin deleted the v04/a3-cut-fleet branch August 27, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant