@@ -16,7 +16,7 @@
PyPI ·
Stable docs ·
Development docs ·
- 中文
+ 中文
**miniVERL runs a validated subset of verl experiment semantics on one NVIDIA
@@ -53,7 +53,7 @@ load the pinned Qwen3-0.6B actor and execute the two-iteration example.
The `[train,cuda]` extra installs the ML and quantization stack; select PyTorch's
CUDA build separately with the [PyTorch installer](https://pytorch.org/get-started/locally/).
-The [single-GPU guide](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/single-gpu-guide.md) covers memory planning and the
+The [single-GPU guide](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/single-gpu-guide.md) covers memory planning and the
maintainer-measured RTX 4080 environment.
## What a run gives you
@@ -72,8 +72,8 @@ maintainer-measured RTX 4080 environment.
## How it works
-
-
+
+
One GPU is treated as a temporal scheduler for logical roles. RL generates
@@ -87,10 +87,10 @@ the learning signal.
| Goal | First command | Primary artifact | Next step |
| --- | --- | --- | --- |
-| **Run local RL** | `miniverl import-verl --profile verl-rl-v0.9-single-gpu-v2 --config verl-ppo.yaml --out local.yaml` | native recipe + compatibility report | [RL quickstart](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/verl-rl-runtime.md) |
-| **Run local OPD** | `miniverl plan --profile verl-opd-v0.8-single-gpu-v1 --config verl-opd.yaml --out plan.json` | immutable execution plan | [OPD quickstart](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/opd-quickstart.md) |
-| **Fit your GPU** | `miniverl plan --config verl-opd.yaml --probe` | measured placement plan | [Hardware planning](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/hardware-planning.md) |
-| **Hand off artifacts** | `miniverl export-verl --run runs/my-run --target-verl v0.9.0 --out scaleout` | actor, critic, Parquet + config bundle | [Compatibility contract](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/compatibility.md) |
+| **Run local RL** | `miniverl import-verl --profile verl-rl-v0.9-single-gpu-v2 --config verl-ppo.yaml --out local.yaml` | native recipe + compatibility report | [RL quickstart](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/verl-rl-runtime.md) |
+| **Run local OPD** | `miniverl plan --profile verl-opd-v0.8-single-gpu-v1 --config verl-opd.yaml --out plan.json` | immutable execution plan | [OPD quickstart](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/opd-quickstart.md) |
+| **Fit your GPU** | `miniverl plan --config verl-opd.yaml --probe` | measured placement plan | [Hardware planning](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/hardware-planning.md) |
+| **Hand off artifacts** | `miniverl export-verl --run runs/my-run --target-verl v0.9.0 --out scaleout` | actor, critic, Parquet + config bundle | [Compatibility contract](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/compatibility.md) |
Native recipes also support SFT, DPO and offline KD, plus calculator, JSON
navigation, read-only SQLite and custom tool environments.
@@ -108,7 +108,7 @@ navigation, read-only SQLite and custom tool environments.
| Direct GKD / sampled-k1 OPD | supported | pinned verl v0.8 profiles with teacher targets |
| Ray, FSDP/FSDP2, Megatron, TP/PP/DP > 1 | distributed-only | these change physical scale, not the local objective |
-The generated [v0.9 PPO compatibility record](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/generated/verl-rl-v0.9-ppo-compatibility.json)
+The generated [v0.9 PPO compatibility record](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/generated/verl-rl-v0.9-ppo-compatibility.json)
binds every example field to its source value, local target, classification and
compiler-rule digest. `miniverl import-verl` accepts a resolved documented
subset, rejects unknown algorithm-changing fields, and never substitutes a
@@ -120,22 +120,22 @@ The published Qwen3-0.6B/1.7B OPD workload consumed 32 distinct prompts and
completed eight current-policy updates at 3.1914 GiB peak reserved VRAM on an
RTX 4080. A matched interruption after update four reproduced byte-identical
trajectories, adapter and optimizer tensors. The SmolLM2-360M/1.7B workload
-completed the same shape at 1.4961 GiB. [System records](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/verl-opd-reference-workload.md)
+completed the same shape at 1.4961 GiB. [System records](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/verl-opd-reference-workload.md)
contain configs, hashes and phase timings.
Rollout Runtime v2 measured `hf_cached` and managed vLLM across 24 RTX 4080
cells spanning response length, sampling mode and `n=1/4`. See the
-[runtime report](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/benchmarks/rollout-runtime-v2.md). Evidence for the new
+[runtime report](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/benchmarks/rollout-runtime-v2.md). Evidence for the new
RL family is published through the exact-wheel release qualification rather
than presented as a task-quality comparison.
## Research record
The scientific reports preserve their original outcomes and frozen inputs:
-[calculator protocol](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/benchmarking.md),
-[RecoveryBench](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/recoverybench/recoverybench-v1.md),
-[Alignment Lab](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/alignment-lab/alignment-lab-v1.md), and the
-[External Alignment Gate](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/alignment-external/alignment-external-v1.md).
+[calculator protocol](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/benchmarking.md),
+[RecoveryBench](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/recoverybench/recoverybench-v1.md),
+[Alignment Lab](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/alignment-lab/alignment-lab-v1.md), and the
+[External Alignment Gate](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/alignment-external/alignment-external-v1.md).
They are scoped studies, separate from runtime qualification.
## Compatibility boundary
@@ -143,8 +143,8 @@ They are scoped studies, separate from runtime qualification.
miniVERL targets one local process and one NVIDIA CUDA GPU. The compiler
distinguishes exact or conformant semantics, local physical lowering,
distributed-only settings, feasible work not yet implemented, and technically
-unsupported inputs. The [compatibility policy](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/compatibility.md) is the
-complete matrix; [limitations](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/limitations.md) collects architecture,
+unsupported inputs. The [compatibility policy](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/compatibility.md) is the
+complete matrix; [limitations](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/limitations.md) collects architecture,
measurement, security and generalization boundaries in one place. miniVERL is
an independent Apache-2.0 project.
@@ -157,7 +157,7 @@ python -m pip install -e ".[dev,train]"
pytest -q -m "not gpu and not network"
```
-See [CONTRIBUTING.md](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/CONTRIBUTING.md), [CHANGELOG.md](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/CHANGELOG.md),
-[CITATION.cff](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/CITATION.cff), the [guide for verl users](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/docs/for-verl-users.md),
-[SECURITY.md](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/SECURITY.md) and the
-[Apache-2.0 license](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.13.0/LICENSE).
+See [CONTRIBUTING.md](https://github.com/DaoyuanLi2816/mini-verl/blob/main/CONTRIBUTING.md), [CHANGELOG.md](https://github.com/DaoyuanLi2816/mini-verl/blob/main/CHANGELOG.md),
+[CITATION.cff](https://github.com/DaoyuanLi2816/mini-verl/blob/main/CITATION.cff), the [guide for verl users](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/for-verl-users.md),
+[SECURITY.md](https://github.com/DaoyuanLi2816/mini-verl/blob/main/SECURITY.md) and the
+[Apache-2.0 license](https://github.com/DaoyuanLi2816/mini-verl/blob/main/LICENSE).
diff --git a/docs/generated/quality.json b/docs/generated/quality.json
index c6ce327..75e451b 100644
--- a/docs/generated/quality.json
+++ b/docs/generated/quality.json
@@ -1,7 +1,7 @@
{
"schema_version": 2,
"release": "0.13.0",
- "status": "candidate",
+ "status": "released",
"quality_floor": "2,000+ tests and 80%+ branch coverage at v0.13.0",
"local_validation": {
"scope": "the maintainer's workstation, including Windows CUDA and network paths plus the exact official verl v0.9 checkout",
@@ -28,25 +28,25 @@
},
"release_validation": {
"scope": "the exact v0.13.0 release commit",
- "commit": "pending",
+ "commit": "8e7bc3b5ff1145ae502cca893b7fffca3e12b6a8",
"workflows": {
- "ci": "pending",
- "build": "pending",
- "docs": "pending",
- "pinned_verl_bridge": "pending",
- "gpu_full_qualification": "pending",
- "release_dry_run": "pending",
- "release": "pending"
+ "ci": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34224400200",
+ "build": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34224400239",
+ "docs": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34231102850",
+ "pinned_verl_bridge": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34231102799",
+ "gpu_full_qualification": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34224643106",
+ "release_dry_run": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34230187298",
+ "release": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34231102925"
},
- "conclusion": "pending",
- "gpu_coverage": "pending exact-SHA attempt-1 full qualification on the WSL2 RTX 4080 runner",
+ "conclusion": "passed",
+ "gpu_coverage": "attempt-1 full qualification of the exact release wheel on one WSL2 RTX 4080; eight PPO trajectories, two actor updates, two critic updates, exact actor/critic resume and the pinned trained reward-model role passed alongside the historical regression matrix",
"publication": {
- "pypi": "pending",
- "github_release": "pending",
- "documentation": "pending",
- "immutable_documentation_build": "pending",
- "wheel_sha256": "pending",
- "sdist_sha256": "pending"
+ "pypi": "https://pypi.org/project/miniverl/0.13.0/",
+ "github_release": "https://github.com/DaoyuanLi2816/mini-verl/releases/tag/v0.13.0",
+ "documentation": "https://daoyuanli2816.github.io/mini-verl/",
+ "immutable_documentation_build": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34231102850",
+ "wheel_sha256": "1284d47c3b981ce1c74bc431254ca49e123ae144b2b49a728d42ff4efdff3a9e",
+ "sdist_sha256": "886c2813a31fd58e84370bdf68bab765b8e92f8800cf54cc7f19ad84d9f32c91"
}
}
}
diff --git a/docs/overrides/main.html b/docs/overrides/main.html
index ac00288..4672b52 100644
--- a/docs/overrides/main.html
+++ b/docs/overrides/main.html
@@ -1,12 +1,12 @@
{% extends "base.html" %}
{% block announce %}
-
+
Stable documentation
{% endblock %}
diff --git a/docs/release-checklist.md b/docs/release-checklist.md
index 3556863..7f4600b 100644
--- a/docs/release-checklist.md
+++ b/docs/release-checklist.md
@@ -4,6 +4,11 @@ This is the release gate and publication record for miniVERL. A checked item
names an invariant exercised on the stated source. Publication begins only
after the exact release commit and its remote checks are green.
+## v0.13.1 development
+
+- [x] Begin from the verified v0.13.0 release and advance only the canonical
+ development state to `0.13.1.dev0`.
+
## v0.12.1 development
- [x] Begin from the verified v0.12.0 release and advance only the canonical
@@ -80,6 +85,27 @@ after the exact release commit and its remote checks are green.
## Publication record
+### v0.13.0
+
+- [x] Exact-release-SHA WSL2 full qualification run
+ [`34224643106`](https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34224643106)
+ passed on attempt 1 for commit
+ `8e7bc3b5ff1145ae502cca893b7fffca3e12b6a8`.
+- [x] Non-publishing release dry run
+ [`34230187298`](https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34230187298)
+ accepted the same candidate and full qualification without rebuilding.
+- [x] Tag workflow
+ [`34231102925`](https://github.com/DaoyuanLi2816/mini-verl/actions/runs/34231102925)
+ verified PyPI hashes, trusted-publisher attestations and a clean public
+ install before creating the
+ [v0.13.0 GitHub Release](https://github.com/DaoyuanLi2816/mini-verl/releases/tag/v0.13.0).
+- [x] PyPI and the GitHub Release expose the identical wheel at SHA-256
+ `1284d47c3b981ce1c74bc431254ca49e123ae144b2b49a728d42ff4efdff3a9e`
+ and sdist at SHA-256
+ `886c2813a31fd58e84370bdf68bab765b8e92f8800cf54cc7f19ad84d9f32c91`.
+- [x] This state-sync PR advances main to `0.13.1.dev0`; merge only after its
+ required checks pass.
+
### v0.12.0
- [x] Exact-release-SHA WSL2 full qualification run
@@ -101,6 +127,8 @@ after the exact release commit and its remote checks are green.
- [x] This state-sync PR advances main to `0.12.1.dev0`; merge only after its
required checks pass.
+### v0.11.0
+
- [x] Exact-release-SHA WSL2 full qualification run
[`33288192471`](https://github.com/DaoyuanLi2816/mini-verl/actions/runs/33288192471)
passed on attempt 1 for commit
diff --git a/release-state.yaml b/release-state.yaml
index 6813533..8d21fd7 100644
--- a/release-state.yaml
+++ b/release-state.yaml
@@ -17,13 +17,13 @@
# such distinction, which is how its tag shipped a docs selector still
# advertising "Stable 0.6.1 / Development 0.6.2.dev0".
schema_version: 1
-phase: release
+phase: development
stable:
version: "0.13.0"
tag: "v0.13.0"
- release_commit: pending
+ release_commit: "8e7bc3b5ff1145ae502cca893b7fffca3e12b6a8"
released_at: "2026-09-08"
development:
- version: "0.13.0"
+ version: "0.13.1.dev0"
diff --git a/src/miniverl/__init__.py b/src/miniverl/__init__.py
index 0b2c7ba..3a975be 100644
--- a/src/miniverl/__init__.py
+++ b/src/miniverl/__init__.py
@@ -14,6 +14,6 @@
from __future__ import annotations
-__version__ = "0.13.0"
+__version__ = "0.13.1.dev0"
__all__ = ["__version__"]