Shared RLlib research library for reproducible experiment composition.
- Rapid, reviewable contribution from coding agents (package-level
AGENTS.mdfiles keep generic code generic). - Provenance for every run (experiment-repo commit, library commit, seed, hardware, lockfile).
- Optional vast.ai tooling for cheap parallel GPU runs.
Personal experiment recipes do not live here. Entry point for
researchers: fork
rl-experiments, clone your fork,
run ./scripts/bootstrap_local.sh (clones this library beside it). See
docs/multi_repo.md.
Requires uv and Python 3.13 or newer.
uv sync --group dev
source .venv/bin/activateFrom your personal experiment repo (after uv sync there):
uv run rl-harness \
experiments.mess3_belief_geometry_2026_07.reward_only.experiment \
--smokeThe CLI imports a dotted module path; the experiment package must be installed
in that environment (the personal repo packages experiments*).
Runtime-only options include --seed, --smoke, --resume-from,
--hardware-profile, and output-directory overrides. Scientific
hyperparameters live in the recipe.
Each run writes compact records under the experiment leaf's
results/<run-id>/ and large data under ignored artifacts/<run-id>/.
Optional Backblaze B2 upload can mirror artifacts/ and record URIs in
results/; see docs/artifact_storage.md.
harness/— immutable runtime context, provenance, artifacts, hardware, direct-RLlib and Tune runners, and the CLI.learners/— reusable RLModules and on-device PyTorch components.losses/— reusable objective primitives and cooperative Learner mixins.analysis/— generic checkpoint, rollout, probe, metric, and plot tools.envs/— reusable Gymnasium environments and domain logic.devops/— remote execution and infrastructure mechanics.
Dependencies point from experiment repos into this library. Generic packages never import named experiments.
See the harness overview for design guidance and the refactor specification for detailed boundaries.
git checkout -b alex/my-change
# edit learners/, losses/, harness/, …
uv run pytest -q -m "not slow"
git push -u origin HEAD
gh pr createIdiosyncratic science stays in the experiment repo until reuse proves an abstraction worth promoting here.
Reusable finite-HMM mechanics and the Gymnasium environment live under
envs/hmm/. MESS3 supplies probability models and wrappers under envs/mess3/.
Concrete MESS3 study recipes live in alex-rl-experiments.