diff --git a/CITATION.cff b/CITATION.cff
index c306427..ae8c302 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -3,7 +3,7 @@ title: "miniVERL: Auditable single-GPU alignment and distillation runtime"
message: "If you use miniVERL in your work, please cite it as below."
type: software
version: 0.7.0
-date-released: 2026-08-10
+date-released: 2026-08-11
license: Apache-2.0
repository-code: "https://github.com/DaoyuanLi2816/mini-verl"
url: "https://github.com/DaoyuanLi2816/mini-verl"
diff --git a/PROJECT_STATE.md b/PROJECT_STATE.md
index 4cc89d5..4d4cade 100644
--- a/PROJECT_STATE.md
+++ b/PROJECT_STATE.md
@@ -4,9 +4,9 @@ Living build log for **miniVERL** (`mini-verl` / `miniverl` / CLI `miniverl`).
A checkbox is not evidence: every completed item names the command that was run
and what it printed.
-Last updated: 2026-08-10.
+Last updated: 2026-08-11.
-Canonical release state: releasing `v0.7.0`.
+Canonical release state: stable `v0.7.0` (`148822964dbb73e97ce06ef740f907364166a724`), development `0.7.1.dev0`.
Every public version claim is generated from `release-state.yaml` and gated by
`python scripts/release_state.py --check`.
diff --git a/PYPI.md b/PYPI.md
index 6931f7d..0e0ff37 100644
--- a/PYPI.md
+++ b/PYPI.md
@@ -1,5 +1,5 @@
@@ -16,7 +16,7 @@
PyPI ·
Stable docs ·
Development docs ·
- 中文
+ 中文
**miniVERL is a local, inspectable runtime for a documented subset of
@@ -51,8 +51,8 @@ The command returns `do_not_continue_this_study` and
`insufficient_evidence`, not SFT/DPO/KD/OPD. Granite Guardian was used only as
an unqualified selection diagnostic; Granite qualification, PairRM
qualification, teacher qualification and the reserved final test did not run.
-Read the [early-stop study](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/alignment-external/alignment-external-v1.md)
-and [typed result](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/benchmarks/results/alignment-external-v1.json).
+Read the [early-stop study](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/alignment-external/alignment-external-v1.md)
+and [typed result](https://github.com/DaoyuanLi2816/mini-verl/blob/main/benchmarks/results/alignment-external-v1.json).
## Install and run the 60-second demo
@@ -68,15 +68,15 @@ optimization in about 50 seconds on the measured laptop CPU. For inspection,
schemas and reports without the ML stack, use `pip install miniverl`. For CUDA
training, install the matching CUDA-enabled PyTorch wheel first, then install
`miniverl[train,cuda]`; the extra does not select a CUDA PyTorch build. See the
-[single-GPU guide](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/single-gpu-guide.md).
+[single-GPU guide](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/single-gpu-guide.md).
## Three paths
| Path | Start with | Concrete artifact | Next |
| --- | --- | --- | --- |
-| **Align** — compare SFT, DPO, KD and OPD only when the pilot evidence supports the cost | `miniverl pilot recipes/alignment_policy_conditioned_qwen.yaml` | `alignment-card.json` | [Alignment Lab](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/alignment-lab/alignment-lab-v1.md) |
-| **Distill locally** — strict OPD, shared backbones and padded trajectory updates on one CUDA GPU | `miniverl train recipes/qwen_consumer_gpu_shared.yaml --dry-run` | `config.resolved.yaml` plus a revision-pinned PEFT adapter | [Bring your own GPU](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/single-gpu-guide.md) |
-| **Scale out** — import a documented profile, convert Parquet, export a bundle and run bridge checks | `miniverl bridge doctor scaleout-bundle` | `provenance/compatibility-report.json` | [Verified verl artifact bridge](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/verl-bridge.md) |
+| **Align** — compare SFT, DPO, KD and OPD only when the pilot evidence supports the cost | `miniverl pilot recipes/alignment_policy_conditioned_qwen.yaml` | `alignment-card.json` | [Alignment Lab](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/alignment-lab/alignment-lab-v1.md) |
+| **Distill locally** — strict OPD, shared backbones and padded trajectory updates on one CUDA GPU | `miniverl train recipes/qwen_consumer_gpu_shared.yaml --dry-run` | `config.resolved.yaml` plus a revision-pinned PEFT adapter | [Bring your own GPU](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/single-gpu-guide.md) |
+| **Scale out** — import a documented profile, convert Parquet, export a bundle and run bridge checks | `miniverl bridge doctor scaleout-bundle` | `provenance/compatibility-report.json` | [Verified verl artifact bridge](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/verl-bridge.md) |
The bridge is a **verified artifact bridge**: a pinned config/data/model
parse-load smoke at miniVERL-defined compatibility Level 3. It has never run a
@@ -118,12 +118,12 @@ improved it; continued SFT and both OPD variants retained measured regressions.
| standard OPD | 98.6% | 97.2% | 100.0% | 76.7 s |
| verifier-gated OPD | 97.9% | 95.8% | 46.8% | 66.0 s |
-
+
The two sandbox safety checks tied at zero while utility still regressed.
IFEval, XSTest, HarmBench and RewardBench were **not executed**. “Preference
win rate” is a deterministic Minipolicy paired outcome, not human preference.
-Read the [study, seed-level values and limitations](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/alignment-lab/alignment-lab-v1.md).
+Read the [study, seed-level values and limitations](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/alignment-lab/alignment-lab-v1.md).
## One measured systems result
@@ -134,13 +134,13 @@ reserved memory versus 3.035 GiB for dual model, while running 10.1% slower.
All 12 preregistered equivalence comparisons passed. These are one-workload,
one-machine measurements, not promises for other GPUs.
-
+
-[Consumer Runtime v1 methods and caveats](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/consumer-runtime-v1.md)
+[Consumer Runtime v1 methods and caveats](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/consumer-runtime-v1.md)
## Compatibility boundary
-
+
The bridge targets official verl `v0.8.0` at commit `7aed6b23` and uses the
term **miniVERL-defined compatibility Level 3**. That means a checksummed
@@ -157,21 +157,21 @@ PPO/reward scaffold, not an executable continuation of miniVERL OPD semantics.
## Detailed studies and preserved negative evidence
-- [RecoveryBench v1](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/recoverybench/recoverybench-v1.md): frozen-student KD
+- [RecoveryBench v1](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/recoverybench/recoverybench-v1.md): frozen-student KD
outperformed much slower fresh-state OPD on the preregistered primary view;
the verifier gate remained `insufficient_evidence`.
-- [Alignment Lab v1](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/alignment-lab/alignment-lab-v1.md): the starting SFT
+- [Alignment Lab v1](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/alignment-lab/alignment-lab-v1.md): the starting SFT
checkpoint was at the ceiling, so no positive OPD result is claimed.
-- [Calculator benchmark](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/benchmarking.md): both negative controls completed
+- [Calculator benchmark](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/benchmarking.md): both negative controls completed
normally and measured 0% strict success. They were not configuration
failures. Because they used the historical ambiguous protocol-v1 prompt,
their failure cannot be attributed solely to intrinsic teacher behavior.
-- [Consumer Runtime v1](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/consumer-runtime-v1.md): padded update batches and
+- [Consumer Runtime v1](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/consumer-runtime-v1.md): padded update batches and
shared adapters preserve the measured one-update objective within declared
tolerances; rollout generation remains sequential.
-- [Limitations](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/limitations.md), [math](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/math.md),
- [reproducibility](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/reproducibility.md) and
- [compatibility policy](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/docs/compatibility.md).
+- [Limitations](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/limitations.md), [math](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/math.md),
+ [reproducibility](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/reproducibility.md) and
+ [compatibility policy](https://github.com/DaoyuanLi2816/mini-verl/blob/main/docs/compatibility.md).
New runs establish tokenizer compatibility through structural identity. The
legacy behavioral fingerprint—token IDs for one fixed probe plus metadata—is
@@ -191,7 +191,7 @@ python -m pip install -e ".[dev]"
pytest -q -m "not gpu and not network"
```
-Apache-2.0 licensed. See [CONTRIBUTING.md](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/CONTRIBUTING.md) and
-[SECURITY.md](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/SECURITY.md). Project records: [default GPU recipe](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/recipes/qwen_consumer_gpu_calc.yaml),
-[frozen calculator JSON](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/benchmarks/results/gpu-calc-hard-equal-update-v2.json),
-[changelog](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/CHANGELOG.md), [citation](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/CITATION.cff) and [license](https://github.com/DaoyuanLi2816/mini-verl/blob/v0.7.0/LICENSE).
+Apache-2.0 licensed. See [CONTRIBUTING.md](https://github.com/DaoyuanLi2816/mini-verl/blob/main/CONTRIBUTING.md) and
+[SECURITY.md](https://github.com/DaoyuanLi2816/mini-verl/blob/main/SECURITY.md). Project records: [default GPU recipe](https://github.com/DaoyuanLi2816/mini-verl/blob/main/recipes/qwen_consumer_gpu_calc.yaml),
+[frozen calculator JSON](https://github.com/DaoyuanLi2816/mini-verl/blob/main/benchmarks/results/gpu-calc-hard-equal-update-v2.json),
+[changelog](https://github.com/DaoyuanLi2816/mini-verl/blob/main/CHANGELOG.md), [citation](https://github.com/DaoyuanLi2816/mini-verl/blob/main/CITATION.cff) and [license](https://github.com/DaoyuanLi2816/mini-verl/blob/main/LICENSE).
diff --git a/docs/generated/quality.json b/docs/generated/quality.json
index ae76639..9e4dc1d 100644
--- a/docs/generated/quality.json
+++ b/docs/generated/quality.json
@@ -1,7 +1,7 @@
{
"schema_version": 2,
"release": "0.7.0",
- "status": "candidate",
+ "status": "released",
"quality_floor": "2,000+ tests and 85%+ branch coverage at v0.7.0",
"local_validation": {
"scope": "the maintainer's workstation, where the GPU and Windows-specific paths actually run",
@@ -28,14 +28,14 @@
},
"release_validation": {
"scope": "the exact published commit, validated by CI rather than locally",
- "commit": "pending",
+ "commit": "148822964dbb73e97ce06ef740f907364166a724",
"workflows": {
- "ci": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/31080175904",
- "build": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/31080175961",
- "docs": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/31080175972",
- "release": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/31084165317"
+ "ci": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/31468298531",
+ "build": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/31468298548",
+ "docs": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/31468298534",
+ "release": "https://github.com/DaoyuanLi2816/mini-verl/actions/runs/31468663273"
},
- "conclusion": "pending exact release-commit CI",
+ "conclusion": "success",
"gpu_coverage": "none; no GPU runner is configured for this repository, so the GPU counts above exist only from the local measurement"
}
}
diff --git a/docs/overrides/main.html b/docs/overrides/main.html
index fce3431..ea0b937 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 1cdb80d..889ffcd 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.7.1 (in development)
+
+- [ ] Define and review the next maintenance scope before implementation. No
+ new scientific experiment is authorized by the v0.7.0 state sync.
+
## v0.7.0 External Alignment Gate evidence release
The preregistered study terminated at checkpoint selection. Later experimental
@@ -73,10 +78,17 @@ unauthorized after checkpoint-selection failure**.
## After the tag
-- [ ] Verify the OIDC workflow, PyPI hashes/attestations, GitHub Release and
- clean public installs.
-- [ ] Comment on issue #39 with the public evidence and keep it open.
-- [ ] Merge the separate state-sync PR advancing main to `0.7.1.dev0`.
+- [x] Release run
+ [`31468663273`](https://github.com/DaoyuanLi2816/mini-verl/actions/runs/31468663273)
+ completed OIDC Trusted Publishing, attestation verification, exact clean
+ install and GitHub Release creation for commit
+ `148822964dbb73e97ce06ef740f907364166a724`.
+- [x] PyPI and the GitHub Release expose identical files: wheel SHA-256
+ `469ae44fe414cd5f56af0fe36091cbd8f12ba34072f67132800aebd7e2746420`,
+ sdist SHA-256
+ `0ec9e43384b749a64e8263c10e314fce1df87769d053939559917400cfecbce4`.
+- [x] Issue #39 has an owner-authored public evidence comment and remains open.
+- [x] This separate state-sync PR advances main to `0.7.1.dev0` after merge.
## v0.6.4 (superseded by v0.7.0)
diff --git a/release-state.yaml b/release-state.yaml
index f2671f7..366ecde 100644
--- a/release-state.yaml
+++ b/release-state.yaml
@@ -17,16 +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.7.0"
tag: "v0.7.0"
- release_commit: pending
- released_at: "2026-08-10"
+ release_commit: "148822964dbb73e97ce06ef740f907364166a724"
+ released_at: "2026-08-11"
development:
- # v0.7.0 is the external alignment study. There is no v0.6.4 release: the
- # foundation hardening in this cycle ships as part of it rather than as an
- # intermediate maintenance version.
- version: "0.7.0"
+ version: "0.7.1.dev0"
diff --git a/src/miniverl/__init__.py b/src/miniverl/__init__.py
index 070b6fc..03424aa 100644
--- a/src/miniverl/__init__.py
+++ b/src/miniverl/__init__.py
@@ -14,6 +14,6 @@
from __future__ import annotations
-__version__ = "0.7.0"
+__version__ = "0.7.1.dev0"
__all__ = ["__version__"]