Release record and checklist#

Current production beta: 0.3.0b5, published on 2026-10-26. All five engineering objectives are included; stable qualification remains pending.

Previous production release: 0.3.0a5 on 2026-10-24, correcting the author metadata and documentation. Version 0.3.0a4 addressed the six nonblocking review findings. Numerical algorithms are unchanged from the reviewed 0.3.0a2 source. See Scientific review packet for the review scope, original report and dispositions.

The 0.3.0a3 restoration passed full validation, TestPyPI upload, hash verification and installation outside the checkout. It remains available; the earlier a1/a2 files were deleted.

The replacement TestPyPI publisher authorizes publish.yml, environment pypi. Production PyPI separately accepted that identity in the authentication preflight. The frozen ca31a681ccd60e03883dcf16fbc13ba3dbe2bfee candidate passed the final TestPyPI rehearsal and the production release workflow, including validation, uploads and fresh index installations outside the checkout. Published wheel/sdist hashes were checked against each workflow’s validated artifacts. The release assets retain the verification records, source archive, review report and dispositions.

Metadata correction for 0.3.0a5#

Version 0.3.0a5 corrects the author credit to Reet and updates documentation. The numerical algorithms are unchanged. The frozen candidate 8163607ea7cd7aa14f95480efc41da321a69e785 passed the TestPyPI rehearsal and production workflow, including fresh installations outside the checkout. The first install on each index ran before the new version appeared in its package listing; rerunning those install jobs succeeded. Both published artifacts have the corrected author field and README, and their hashes match the validated production artifacts. The 0.3.0a5 release assets retain the verification records and fresh numerical audit. The original review, benchmark evidence and completed checklist below refer to 0.3.0a4.

Local preparation#

  • [x] Document the RMT and Taylor derivations, convergence domains and errors.

  • [x] Run the fixed-seed numerical audit and record source hashes.

  • [x] Prepare a runnable research notebook and contribution instructions.

  • [x] Keep pyproject.toml, __version__ and CITATION.cff consistent.

  • [x] Complete the final candidate artifact checks and record their outcomes.

Local evidence for 0.3.0a4: 455 tests and 19 doctests passed; all 34 fixed-seed audit cases, the 18-point default-budget grid, six notebook code cells and all 67 documentation examples passed. Sphinx, actionlint, strict Twine checks, and fresh-environment wheel/sdist installs passed. The full tests emitted one existing SciPy reference-quadrature roundoff warning. These local results do not substitute for the hosted and external steps below.

python -m pip install ".[test]" build twine
python -m pytest -q
python tools/audit_sunset.py --output benchmarks/data/sunset_audit.json
python tools/check_notebook.py notebooks/research_alpha.ipynb
python tools/check_doc_snippets.py docs
python tools/check_release_metadata.py --tag v0.3.0a5
python -m build --outdir dist .
python -m twine check --strict dist/*
python tools/smoke_release.py --dist dist --format wheel
python tools/smoke_release.py --dist dist --format sdist

Use a clean output directory containing one wheel and one source distribution. The artifact checks create fresh virtual environments outside the checkout and verify the series APIs without SciPy. The source distribution includes tests, reference data, audit tooling, documentation and the research notebook.

Completed release gates for 0.3.0a4#

  • [x] Record the supplementary review and its limitations in Scientific review packet.

  • [x] Address the six nonblocking review corrections. Human peer review remains welcome.

  • [x] Run hosted CI on the frozen ca31a68 candidate.

  • [x] Verify its Linux, Windows and macOS artifacts and supported Python jobs.

  • [x] Freeze the final candidate/version and rerun validation on that exact commit.

  • [x] Review the generated documentation and notebook from the candidate.

  • [x] Confirm the candidate version is unused on each target index; if needed, increment it consistently before rebuilding. Never replace a published artifact.

  • [x] Configure the separate TestPyPI publisher (publish.yml, environment pypi) and run the manual TestPyPI rehearsal on the candidate ref.

  • [x] Verify the rehearsed install-from-TestPyPI job succeeds outside the checkout.

  • [x] Rehearse the final candidate on TestPyPI if its artifacts have changed.

  • [x] Pass real-browser startup, example, numerical-reference and reset checks on the final candidate in the documentation run.

  • [x] Verify the production pypi trusted publisher/environment through authentication.

  • [x] Approve the concrete candidate, tag its matching version, and publish a prerelease with the reviewed notes. This triggers PyPI publication only after validation.

The TestPyPI and PyPI services require separate configuration. Trusted Publishing setup follows PyPI’s documentation. The rehearsal installs dependencies from PyPI and this package with --no-deps from TestPyPI, following the TestPyPI guide.

The reusable .github/workflows/validate.yml runs tests, the numerical audit, notebook and documentation checks, builds the artifacts once, and tests those artifacts on three operating systems. publish.yml depends on all these jobs and publishes the same artifact bundle. Release tags must match the metadata. JavaScript actions use Node.js 24 runtimes, including the nested artifact upload in the Pages composite action. When updating action versions, inspect their action.yml runtime and nested actions as well as their release notes. Hosted jobs, account configuration, independent review and uploads cannot be verified by a local build alone.

Authentication and TestPyPI upload#

Dispatch publish.yml on a frozen v* tag. The default operation is authenticate, with index=pypi or index=testpypi. Authentication uploads no files. PyPI can activate a pending publisher and create its empty project during token exchange. Credentials remain in memory and are not logged or archived.

For each new release, use an unused version and freeze its matching tag. TestPyPI upload requires a refs/tags/v* ref, and validation checks that the ref and tag both match package metadata. A branch named like a version is still rejected before upload. For the 0.3.0a5 correction:

gh workflow run publish.yml --ref v0.3.0a5 -f operation=testpypi-release -f index=testpypi

testpypi-release always uploads to https://test.pypi.org/legacy/, regardless of the authentication-only index input. It uses the protected pypi environment because that is the name in the configured replacement TestPyPI publisher. The workflow builds once, validates the resulting artifacts and installs the uploaded version outside the checkout. The separate production upload job runs only when a GitHub release is published, after full validation.

For a new project, the account owner must configure a pending publisher on production PyPI with these exact values:

Field

Value

Project

ramanujan-qft

Owner

reetanshuh1998

Repository

Ramanujan_master_theorem

Workflow

publish.yml

Environment

pypi

GitHub environment configuration and TestPyPI authentication do not establish production PyPI trust. The preflight uses the documented OIDC exchange, an implementation-specific interface; actual uploads still use the supported PyPA publishing action. After publication, the production workflow installs that exact version from PyPI and runs the smoke check outside the checkout.

Trust and first-use checks#

  • An independent reviewer should examine normalization, convergence regions, collision limits and error estimates, with findings tied to a source commit. Automated tests do not substitute for this review.

  • Keep the method visible in examples: RACE for Mellin products, RMT scale plus numerical sectors for general graph input, and the specific sunset RMT/Taylor series. Do not describe statistical or arithmetic estimates as interval proofs.

  • Demonstrate graph input, a justified method, the result/error diagnostics and an independent reference. Exercise both successful calculations and useful domain/budget refusals in the notebook and browser console.

  • Keep installation and scope documentation consistent with the released version. The production pip install --pre ramanujan-qft command should be advertised as available only after the production upload and a fresh install succeed.

  • Publish the candidate’s audit, known limitations, change log and instructions for reporting a numerical error, including graph, conventions and precision.

Released scope#

Version 0.3.0a4 includes exact graph-polynomial and Schwinger bracket compilation, a hybrid numerical graph evaluator, and justified multivariate Gamma series for two massive D=2 sunset charts. A separately named equal-mass Taylor backend adds vacuum and finite Euclidean momentum coverage with an analytic tail bound.

Both series backends return explicit method and error diagnostics and refuse unmet work budgets. The source includes independent references, a reproducible audit grid and a notebook demonstrating the overlap between methods.

The mathematical methods are established in the cited literature. The software contribution is their implementation, graph interface, validation and error controls. This release does not claim general multiloop RMT evaluation, epsilon expansions, massless or physical-region series coverage, or rigorous interval certification. Unequal-mass continuation between the RMT charts remains open. The supplementary review and its limitations are recorded in the review packet.

Development checks for the first stable release#

The rc2 candidate was rehearsed successfully; beta 0.3.0b5 packages that implementation. Stable qualification remains pending. The rc1 rehearsal was stopped before upload after the source-archive review support files were found to be incomplete. Its frozen tag is unchanged. The stable milestones and remaining external gates are in Plan for the first stable release. Do not upload a changed artifact under the already published 0.3.0a5 name.

The validation workflow adds these combinations:

Check

Interpreter / dependencies

Supported-version suite

CPython 3.9, 3.11 and 3.13 with currently resolvable dependencies

Minimum declared dependencies

CPython 3.9; mpmath 1.3.0, SymPy 1.12, NumPy 1.24.0, SciPy 1.10.0, pytest 7.0.0, jsonschema 4.18.0

Installed wheel and source archive

CPython 3.12 on Linux, macOS and Windows; base numerical APIs with SciPy imports blocked

Upgrade from published 0.3.0a5

CPython 3.12 on Linux; base install and separate optional-SciPy install

Browser

Pyodide 0.26.4 with its bundled compiled dependencies; all visible examples, reference assertions, reset and custom dependency wheels

Minimum pins live in tests/constraints-minimum.txt. This checks a compatible combination, not every cross-product of interpreter and dependency versions. The explanation schema is shipped in both distributions and exercised after installation, outside the checkout. Upgrade tests verify the old version first, then the artifact’s actual version, retained imports and numerical references.

python tools/audit_stability.py --output /tmp/stability-audit.json
python tools/check_notebook.py notebooks/stable_walkthrough.ipynb
python examples/08_first_calculations.py
python tools/check_release_metadata.py
python -m build --outdir /tmp/stable-dist .
python -m twine check --strict /tmp/stable-dist/*
python tools/smoke_release.py --dist /tmp/stable-dist --format wheel --upgrade-from 0.3.0a5
python tools/smoke_release.py --dist /tmp/stable-dist --format wheel --upgrade-from 0.3.0a5 --with-multiloop

After an upload, tools/install_from_index.py permits at most six installation attempts, 15 seconds apart. Only pip’s exact missing-version response for the requested package/version is retried. Connection warnings, incompatible-Python errors, other dependency/build failures and timeouts fail immediately. Smoke checks run once after installation. No retry uploads or rebuilds a package. The selected index is fixed to PyPI or TestPyPI, and dependencies are installed separately from production PyPI.

Before qualifying the candidate, bind a fresh audit and review packet to the final source, replace the development notebook’s branch reference with the candidate tag, collect review findings and user feedback, and resolve their blockers. Rehearse that frozen candidate on TestPyPI and verify artifact hashes. Those external steps and final production publication are not completed by these development checks.

Corrected candidate 0.3.0rc2: TestPyPI rehearsal#

On 2026-10-25, tag v0.3.0rc2 at commit e44085bd363248a46223ddb4afd9e28aada49278 passed the complete TestPyPI workflow, including scientific tests, minimum dependencies, six platform/artifact jobs, both upgrades, numerical audits, upload and installation outside the checkout. The candidate documentation/browser run also passed. The candidate is available on TestPyPI.

The wheel’s 20 package source/schema files match the frozen reviewer packet. Both published file digests and independently downloaded bytes match the validated workflow artifacts:

Artifact

SHA-256

ramanujan_qft-0.3.0rc2-py3-none-any.whl

63bc1e0461313164d29983252211557cfc8c4797c5ec4198d60ff8ada318126b

ramanujan_qft-0.3.0rc2.tar.gz

d72270b5b0b6b282867d26630eb679f13cada907bdb30d458dbd746ba57554ed

Evidence, workflow logs, audits and hash verification are retained at /home/reet/ramanujan-qft-0.3.0rc2-release-evidence. The corrected human-review packet is /home/reet/ramanujan-qft-0.3.0rc2-review.

The preceding rc1 rehearsal was cancelled before upload after discovering missing source-archive review-support files. Its frozen tag is unchanged; rc2 includes those files and validates archive contents in CI.

At the rc2 rehearsal, production remained 0.3.0a5. The maintainer explicitly retained the human scientific-review and outside-user/interactive-Colab gates on 2026-10-25. The successful rehearsal does not mark them complete or authorize stable publication. See Stable-development review findings and disposition and Plan for the first stable release.

Beta 0.3.0b5#

The maintainer authorized production publication as a beta prerelease, including all five implemented engineering objectives and the rc2 review corrections. Human scientific review and outside-user/hosted-Colab feedback remain gates for stable 0.3.0, not completed claims for this beta.

On 2026-10-26, frozen tag v0.3.0b5, commit a519de91038f77d001c930a4547365a394bc6f51, passed the TestPyPI rehearsal and production workflow. Both workflows passed all 14 validation jobs, uploaded the validated artifacts, and installed the exact published version outside the checkout. Validation covered 538 tests (513 fast and 25 slow), dependency minima, Linux/macOS/Windows wheel and source installs, upgrades from a5, audits, notebooks and documentation. The frozen commit’s documentation/browser run also passed.

Both indexes’ published hashes and independently downloaded bytes matched their respective validated builds. All 20 wheel source/schema files matched the frozen source. Production artifacts:

Artifact

SHA-256

ramanujan_qft-0.3.0b5-py3-none-any.whl

69813200d187cdbfa8ac3fdaa7acc9674840f4d69dc75c69365fa1ddfe2316da

ramanujan_qft-0.3.0b5.tar.gz

3583ccac62974aed27eae3854f0c9051b41798abe6a12c0036cadf5bcb48aa8e

The GitHub prerelease assets retain the production distributions, per-index verification records, automated review and dispositions, audits and source-bound review packet. Local evidence is retained at /home/reet/ramanujan-qft-0.3.0b5-release-evidence and the human-review packet at /home/reet/ramanujan-qft-0.3.0b5-review.

The extended audit met all 128 hybrid accuracy targets, with 125/128 reported error estimates covering the reference difference. Three coverage alerts remain explicit; the hybrid evaluator remains experimental. Scientific algorithms and supported domains are unchanged from rc2.

Install this production beta explicitly:

python -m pip install --upgrade "ramanujan-qft==0.3.0b5"

Stable 0.3.0 still requires qualified human scientific review, outside-user and hosted-Colab feedback, and validation of its own final frozen artifacts. The beta publication does not mark these gates complete.