From e2db51f9e42b8d2de13302074f5c78566a05e29f Mon Sep 17 00:00:00 2001 From: Alex Kurkar Date: Tue, 6 Oct 2026 07:07:51 +0000 Subject: [PATCH 1/2] M7-Release: Prepare the v1.0.0 release metadata (#72) Co-Authored-By: Devin AI --- .github/workflows/v1-acceptance.yml | 2 -- CHANGELOG.md | 11 +++++++---- CITATION.cff | 3 ++- docs/releasing.md | 2 +- docs/v1-acceptance.md | 4 ++-- pyproject.toml | 2 +- 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/workflows/v1-acceptance.yml b/.github/workflows/v1-acceptance.yml index fe61e29..98c3787 100644 --- a/.github/workflows/v1-acceptance.yml +++ b/.github/workflows/v1-acceptance.yml @@ -12,10 +12,8 @@ concurrency: cancel-in-progress: true jobs: - #69: V1-AC1 (#63) and V1-AC2 (#64) have no marked tests yet, so the gate is expected to fail; remove continue-on-error before the v1.0.0 release PR (#72). v1-acceptance: runs-on: ubuntu-latest - continue-on-error: true steps: - uses: actions/checkout@v4 - uses: astral-sh/setup-uv@v10.2.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 00a10c1..f34b72e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,9 @@ from git tags via hatch-vcs; see [docs/releasing.md](docs/releasing.md). ## [Unreleased] -First release candidate (V1). Nothing has been tagged yet. Numbers are pull requests on +## [1.0.0] - 2026-10-06 + +First release (V1). Numbers are pull requests on . ### Added @@ -77,9 +79,10 @@ First release candidate (V1). Nothing has been tagged yet. Numbers are pull requ ### Known limitations See [docs/limitations.md](docs/limitations.md). In short: V1 runs from a source checkout, the -Docker sandbox is single-machine, the repair-study harness evaluates the oscillator only until -[#120](https://github.com/akurkar07/InvariantLab/issues/120), and the Study 1/2 results are not +Docker sandbox is single-machine, the legacy oscillator `update-order` / `sign-error` study +mutants are still graded by the oscillator study harness, and the Study 1/2 results are not yet reproducible from the repository ([#100](https://github.com/akurkar07/InvariantLab/issues/100)). -[Unreleased]: https://github.com/akurkar07/InvariantLab/commits/main +[Unreleased]: https://github.com/akurkar07/InvariantLab/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/akurkar07/InvariantLab/releases/tag/v1.0.0 diff --git a/CITATION.cff b/CITATION.cff index 33cedbc..e5d689d 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -7,7 +7,8 @@ authors: affiliation: University of Nottingham repository-code: "https://github.com/akurkar07/InvariantLab" license: MIT -# version and date-released are added when the first release is tagged. +version: 1.0.0 +date-released: 2026-10-06 url: "https://github.com/akurkar07/InvariantLab" keywords: - AI evaluation diff --git a/docs/releasing.md b/docs/releasing.md index be1ecba..e2d3f4c 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -39,7 +39,7 @@ through a normal PR (all required checks green) before tagging. `## [X.Y.Z] - YYYY-MM-DD`, add a fresh empty `## [Unreleased]` above it, and update the compare links at the bottom of the file. 4. **Set the classifier.** Update the `Development Status :: ...` classifier in - `pyproject.toml` (currently `3 - Alpha`) to the maturity of this release. + `pyproject.toml` (`5 - Production/Stable` since 1.0.0) to the maturity of this release. 5. **Tag.** After the release PR has merged, the maintainer pushes an annotated tag on `main`: `git tag -a vX.Y.Z -m "InvariantLab X.Y.Z" ` then `git push origin vX.Y.Z`. Only the maintainer creates tags; agents and contributors do not. diff --git a/docs/v1-acceptance.md b/docs/v1-acceptance.md index 48b4038..c0511a7 100644 --- a/docs/v1-acceptance.md +++ b/docs/v1-acceptance.md @@ -16,8 +16,8 @@ when all eight criteria are `passed`; skipped, xfailed, failed and missing criteria — as well as tests marked with unknown acceptance ids — all fail the gate. The `V1 Acceptance` workflow (`.github/workflows/v1-acceptance.yml`, job `v1-acceptance`) runs the checker on every pull request to and push to `main` -(plus manual dispatch) and uploads `v1-acceptance.json` as an artifact. Until -V1-AC1..AC8 all pass, the job is `continue-on-error` (remove before #72); the +(plus manual dispatch) and uploads `v1-acceptance.json` as an artifact. The job +fails when any criterion is not `passed` (no `continue-on-error`); the maintainer should make the `v1-acceptance` check required in branch protection — agents cannot change repository settings. diff --git a/pyproject.toml b/pyproject.toml index 7ab83a8..a599f7d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ keywords = [ "coding-agents", ] classifiers = [ - "Development Status :: 3 - Alpha", + "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", From 07cf387917bfaefa15fc03bc8c2dab58ea0e1f93 Mon Sep 17 00:00:00 2001 From: Alex Kurkar Date: Tue, 6 Oct 2026 07:38:41 +0000 Subject: [PATCH 2/2] CHANGELOG: cite PR #183 for the mutant catalogue entry Co-Authored-By: Devin AI --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd3838c..add3faa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,7 +69,7 @@ First release (V1). Numbers are pull requests on status-first README (#151), docs index (#161), research-track roadmap (#162), Study 2 corrections (#124, #128) and the documented evaluation protocol (#132). - Mutant catalogue and validation documentation, plus an acceptance test requiring package - mutant coverage for all ten mutation families or a documented infeasibility issue (issue #93). + mutant coverage for all ten mutation families or a documented infeasibility issue (#183). - This changelog and the [release procedure](docs/releasing.md). ### Changed