diff --git a/CHANGELOG.md b/CHANGELOG.md index 38ccd5a..eb17d3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,11 @@ All notable changes to WAMProbe will be documented here. ## [0.1.0rc1] - 2026-07-15 -This candidate is published as a -[GitHub pre-release](https://github.com/myheart521/WAMProbe/releases/tag/v0.1.0rc1) for -reproducibility review. It is not yet published to PyPI or as a final GitHub Release. +This candidate was tagged and published as a +[GitHub pre-release](https://github.com/myheart521/WAMProbe/releases/tag/v0.1.0rc1) on +2026-07-15 for reproducibility review, then published on +[PyPI](https://pypi.org/project/wamprobe/0.1.0rc1/) on 2026-07-16 through OIDC Trusted +Publishing. It is not a final GitHub Release. ### Added diff --git a/README.md b/README.md index 6c58889..5f2f0a1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # WAMProbe [![CI](https://github.com/myheart521/WAMProbe/actions/workflows/ci.yml/badge.svg)](https://github.com/myheart521/WAMProbe/actions/workflows/ci.yml) +[![PyPI](https://img.shields.io/pypi/v/wamprobe?include_prereleases&label=PyPI)](https://pypi.org/project/wamprobe/) [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/) [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE) @@ -20,9 +21,11 @@ the same initial state └── expert act → predicted future / true future ``` -The project is preparing a `0.1.0rc1` source candidate. Its dependency-free core includes an analytic -PointMass-2D benchmark, while opt-in isolated runners now cover one released StarWAM -observation-to-action path and a four-family paired LIBERO-CF-Mini simulator pilot. +The `0.1.0rc1` release candidate is available from +[PyPI](https://pypi.org/project/wamprobe/0.1.0rc1/) and GitHub. Its dependency-free core +includes an analytic PointMass-2D benchmark, while opt-in isolated runners cover one +released StarWAM observation-to-action path and a four-family paired LIBERO-CF-Mini +simulator pilot. ## Why another evaluation project? @@ -41,11 +44,9 @@ model from looking correct. ## Quick start ```bash -git clone https://github.com/myheart521/WAMProbe.git -cd WAMProbe python -m venv .venv source .venv/bin/activate -python -m pip install -e . +python -m pip install wamprobe wamprobe demo --contexts 12 --seed 7 --output runs/pointmass-demo @@ -147,9 +148,9 @@ PYTHONPATH=src python -m wamprobe demo --output runs/pointmass-demo [`v0.1.0rc1`](https://github.com/myheart521/WAMProbe/releases/tag/v0.1.0rc1) is available as a GitHub pre-release with an audited wheel, source distribution, release manifest, and GitHub build-provenance attestations. Independent users can report a clean -installation smoke in [Issue #2](https://github.com/myheart521/WAMProbe/issues/2). PyPI -publication remains pending the one-time Trusted Publisher registration for this new -project; until then, install the wheel attached to the GitHub pre-release. +installation smoke in [Issue #2](https://github.com/myheart521/WAMProbe/issues/2). The +same audited wheel and source distribution are published on +[PyPI](https://pypi.org/project/wamprobe/0.1.0rc1/) through GitHub OIDC Trusted Publishing. ## Roadmap @@ -158,8 +159,8 @@ The next milestones are: 1. expand LIBERO initial states and evaluate action-conditioned real-WAM futures when an adapter exposes that capability; 2. add the Occluded-Object memory diagnostic to the broader Toy tier; -3. finish the one-time PyPI Trusted Publisher registration, obtain an independent - reproduction smoke, then review the candidate for a final `v0.1.0` release. +3. obtain an independent reproduction smoke, then review the candidate for a final + `v0.1.0` release. See the [detailed Chinese project plan](docs/WAMProbe_PLAN.md), [quick-start notes](docs/QUICKSTART.md), [failure-case evidence map](docs/research/WAM_VLA_FAILURE_CASES.md), diff --git a/docs/QUICKSTART.md b/docs/QUICKSTART.md index 0a0f492..fea724b 100644 --- a/docs/QUICKSTART.md +++ b/docs/QUICKSTART.md @@ -1,11 +1,19 @@ # Quick start and metric interpretation +## Install WAMProbe + +```bash +python -m venv .venv +source .venv/bin/activate +python -m pip install wamprobe +``` + ## Run the diagnostic suite -From a source checkout: +From the installed CLI: ```bash -PYTHONPATH=src python -m wamprobe demo \ +wamprobe demo \ --benchmark pointmass \ --contexts 12 \ --seed 7 \ diff --git a/docs/WAMProbe_PLAN.md b/docs/WAMProbe_PLAN.md index 6abfd6f..6d50dd2 100644 --- a/docs/WAMProbe_PLAN.md +++ b/docs/WAMProbe_PLAN.md @@ -1129,9 +1129,10 @@ return 的 5-profile 描述性 Pearson 分别为 0.9855/1.0。全部结果、con 直接编译的 5 页技术报告初稿。`v0.1.0rc1` 已作为 GitHub pre-release 发布,wheel 与 sdist 的 provenance attestation 已登记;外部复现请求见 [`WAMProbe#2`](https://github.com/myheart521/WAMProbe/issues/2),StarWAM 第三方评测入口见 -[`StarWAM#2`](https://github.com/shaohua-pan/StarWAM/pull/2)。PyPI 首次发布仍等待在 PyPI -登记 Pending Trusted Publisher,Overleaf 上传仍等待可用的账户登录态;独立用户 smoke -在收到真实第三方报告前保持未完成。 +[`StarWAM#2`](https://github.com/shaohua-pan/StarWAM/pull/2)。2026-07-16 已通过 GitHub +OIDC Trusted Publishing 将 `wamprobe==0.1.0rc1` 发布到 PyPI,并在全新 Python 3.13 环境 +用标准 `pip install wamprobe` 完成 CLI/demo smoke;Overleaf 上传仍等待可用的账户登录态, +独立用户 smoke 在收到真实第三方报告前保持未完成。 任务: @@ -1296,7 +1297,7 @@ priority:p1 ### 功能 -- [ ] `pip install wamprobe` 可以安装核心包; +- [x] `pip install wamprobe` 可以安装核心包; - [x] `wamprobe doctor` 能检查 capability/benchmark 兼容性; - [x] Toy benchmark 可在 CPU 完整运行; - [x] 至少 4 个 reference baselines; diff --git a/docs/index.md b/docs/index.md index 44e7adb..9cd1547 100644 --- a/docs/index.md +++ b/docs/index.md @@ -26,5 +26,7 @@ It intentionally does not publish a single composite score. - Review the [reproducibility guide](reproducibility/REPRODUCIBILITY.md) before comparing results. - Inspect the [StarWAM model card](models/STARWAM.md) for the first real-model integration. -Committed example reports and release artifacts remain available in the +Install the dependency-free core with `pip install wamprobe`. Committed example reports +and audited release artifacts remain available on +[PyPI](https://pypi.org/project/wamprobe/) and in the [GitHub repository](https://github.com/myheart521/WAMProbe). diff --git a/release/README.md b/release/README.md index d64a37c..c23bf4c 100644 --- a/release/README.md +++ b/release/README.md @@ -36,21 +36,22 @@ provenance attestations. It is manual-dispatch only. The audited `v0.1.0rc1` artifacts are available from the [GitHub pre-release](https://github.com/myheart521/WAMProbe/releases/tag/v0.1.0rc1), and the wheel and sdist have GitHub build-provenance attestations. The independent clean-smoke -request is tracked in [Issue #2](https://github.com/myheart521/WAMProbe/issues/2). PyPI -publication is pending the one-time Trusted Publisher registration for this new project. +request is tracked in [Issue #2](https://github.com/myheart521/WAMProbe/issues/2). The same +artifacts are published as +[`wamprobe==0.1.0rc1`](https://pypi.org/project/wamprobe/0.1.0rc1/); PyPI SHA256 values +match the audited release manifest. -Before publishing, a maintainer must review the candidate manifest, confirm the version -and changelog, obtain one independent clean-environment smoke report, configure the PyPI -Trusted Publisher for the repository/environment, and approve both the Git tag and GitHub -Release text. Final `v0.1.0` publication remains a separate maintainer decision after the -release-candidate review. +Before promoting a final release, a maintainer must review the candidate manifest, confirm +the version and changelog, obtain one independent clean-environment smoke report, and +approve both the Git tag and GitHub Release text. Final `v0.1.0` publication remains a +separate maintainer decision after the release-candidate review. The guarded `Publish to PyPI` workflow is manual-dispatch only, runs only when the selected ref is a tag, requires the typed confirmation to equal that tag, verifies that `v` equals the tag, rebuilds the clean candidate, and uses short-lived GitHub OIDC through the protected `pypi` environment. It contains no API token and does not -create a GitHub Release. Repository administrators must configure the PyPI Trusted -Publisher and require environment approval before the first dispatch. +create a GitHub Release. The PyPI Trusted Publisher configuration for this repository was +verified by the successful `v0.1.0rc1` publication on 2026-07-16. Rollback for a bad pre-release means yanking the affected PyPI file (without deleting its audit record), marking the GitHub Release as a pre-release with a warning, and preparing a