diff --git a/.github/workflows/benchmark-records.yml b/.github/workflows/benchmark-records.yml new file mode 100644 index 0000000..c3475f9 --- /dev/null +++ b/.github/workflows/benchmark-records.yml @@ -0,0 +1,14 @@ +name: Benchmark Records + +on: + push: + pull_request: + +jobs: + benchmark-records: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - run: test -d data/benchmark_records diff --git a/.github/workflows/notebooks.yml b/.github/workflows/notebooks.yml new file mode 100644 index 0000000..940cf03 --- /dev/null +++ b/.github/workflows/notebooks.yml @@ -0,0 +1,14 @@ +name: Notebook Validation + +on: + push: + pull_request: + +jobs: + notebooks: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - run: find notebooks -name "*.ipynb" diff --git a/.github/workflows/reproducibility.yml b/.github/workflows/reproducibility.yml new file mode 100644 index 0000000..fe1c330 --- /dev/null +++ b/.github/workflows/reproducibility.yml @@ -0,0 +1,20 @@ +name: Reproducibility Check + +on: + push: + pull_request: + +jobs: + verify: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - run: pip install -r requirements.txt + + - run: pytest -v diff --git a/README.md b/README.md index e31c9a6..caf9378 100644 --- a/README.md +++ b/README.md @@ -103,3 +103,18 @@ Experiment figures are available in `figures/`: ## Contributing See `CONTRIBUTING.md` and `CODE_OF_CONDUCT.md`. + +## QAB Integration + +IBM-Quantum-Experiments serves as a scientific evidence repository. + +Outputs produced here are intended for export into +QAB Benchmark Record V2 format. + +Relationship: + +IBM-Quantum-Experiments +→ Scientific evidence + +Quantum Algo Benchmark (QAB) +→ Benchmark infrastructure diff --git a/docs/DATA_AVAILABILITY.md b/docs/DATA_AVAILABILITY.md index e27b889..e254c48 100644 --- a/docs/DATA_AVAILABILITY.md +++ b/docs/DATA_AVAILABILITY.md @@ -64,3 +64,12 @@ data/checksums/release_sha256.txt ``` SHA-256 checksums of the tracked release files above, generated at release time. See `docs/CHECKSUMS.md`. + +## Planned Runtime Archive + +The repository is being extended with: + +- Runtime job metadata +- Runtime result exports +- Calibration snapshots +- QAB Benchmark Record exports diff --git a/docs/JOB_IDS.md b/docs/JOB_IDS.md index 006f116..6f97cfa 100644 --- a/docs/JOB_IDS.md +++ b/docs/JOB_IDS.md @@ -10,3 +10,11 @@ d5sd8vgubqnc73c4isu0 d5sd9mveglic739vatm0 d5se1sk9u8fs73bd9arg ``` + +## Verified Runtime Workloads + +Sampler: +da24ra2ein7c73be5250 + +Estimator: +da24rbug52gs73cmccng diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 1bdc8e9..7038d10 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -20,3 +20,14 @@ Planned: - Add additional validation tests. - Improve arXiv manuscript source. - Add example reproduction workflow. + +## Reproducibility Package + +1. Runtime workload archive +2. Calibration snapshots +3. Notebook reproduction workflows +4. Benchmark Record V2 exports + +## QAB Integration + +IBM-Quantum-Experiments becomes a dataset and evidence repository feeding QAB. diff --git a/requirements-lock.txt b/requirements-lock.txt index 705dd61..2105162 100644 --- a/requirements-lock.txt +++ b/requirements-lock.txt @@ -1,6 +1,107 @@ -qiskit==2.5.1 +Cython==3.2.9 +PubChemPy==1.0.5 +PyJWT==2.13.0 +Pygments==2.20.0 +annotated-types==0.8.0 +antlr4-python3-runtime==4.13.2 +appdirs==1.4.4 +asteval==1.0.9 +attrs==26.1.0 +autograd==1.8.0 +autoray==0.8.4 +cachetools==7.1.7 +certifi==2026.7.22 +cffi==2.1.1 +charset-normalizer==3.4.9 +cirq-aqt==1.7.0 +cirq-core==1.7.0 +cirq-google==1.7.0 +cirq-ionq==1.7.0 +cirq-pasqal==1.7.0 +cirq-web==1.7.0 +cirq==1.7.0 +cmake==4.4.2 +contourpy==1.3.3 +cryptography==50.0.0 +cycler==0.12.1 +deprecation==2.1.0 +diastatic-malt==2.15.3 +dill==0.4.1 +distro==1.9.0 +duet==0.2.9 +fonttools==4.63.0 +gast==0.7.0 +google-api-core==2.33.0 +google-auth==2.56.2 +googleapis-common-protos==1.75.0 +grpcio-status==1.83.0 +grpcio==1.83.0 +h5py==3.16.0 +ibm-cloud-sdk-core==3.26.0 +ibm-platform-services==0.77.0 +ibm-quantum-schemas==0.10.20260723 +idna==3.18 +iniconfig==2.3.0 +joblib==1.5.3 +kiwisolver==1.5.0 +lmfit==1.3.4 +matplotlib==3.11.1 +mpmath==1.3.0 +mthree==3.0.0 +narwhals==2.24.0 +networkx==3.6.1 +ninja==1.13.0 +numpy==2.5.1 +openfermion==1.8.1 +openfermionpyscf==0.5 +openqasm3==1.0.1 +orjson==3.11.9 +packaging==26.3 +pandas==3.0.5 +pennylane==0.45.1 +pennylane_lightning==0.45.0 +pillow==12.3.0 +pluggy==1.6.0 +proto-plus==1.28.2 +protobuf==6.33.6 +psutil==7.2.2 +pyasn1==0.6.4 +pyasn1_modules==0.4.2 +pybase64==1.4.3 +pybind11==3.0.4 +pycparser==3.0 +pydantic==2.13.4 +pydantic_core==2.46.4 +pyparsing==3.3.2 +pyscf==2.14.0 +pyspnego==0.12.1 +pytest==9.1.1 +python-dateutil==2.9.0.post0 +qiskit-experiments==0.14.1 qiskit-ibm-runtime==0.48.0 -qiskit-aer==0.17.2 -qiskit-algorithms==0.4.0 -qiskit-nature==0.8.0 -qiskit-machine-learning==0.9.0 +qiskit-qasm3-import==0.6.0 +qiskit==2.5.1 +requests==2.34.2 +requests_ntlm==1.3.0 +runningman==2.3.0 +rustworkx==0.18.1 +samplomatic==0.20.0 +scikit-build==0.19.1 +scikit-learn==1.9.0 +scipy-openblas32==0.3.34.0.0 +scipy==1.18.0 +seaborn==0.13.2 +setuptools==83.0.0 +six==1.17.0 +stevedore==5.9.0 +sympy==1.14.0 +termcolor==3.3.0 +threadpoolctl==3.6.0 +tomlkit==0.15.1 +tqdm==4.70.0 +typedunits==0.0.2 +typing-inspection==0.4.2 +typing_extensions==4.16.0 +uncertainties==3.2.3 +urllib3==2.7.0 +wheel==0.47.0 diff --git a/requirements.txt b/requirements.txt index f350422..bf3b01f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1 @@ -numpy>=2.0,<3.0 -scipy>=1.14,<2.0 +-r requirements-lock.txt