Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Verification

- [ ] `pytest`: 112 passed, 2 xfailed, **0 skipped** (paste the summary line)
- [ ] `pytest`: 134 passed, 2 xfailed, **0 skipped** (paste the summary line)
- [ ] `pytest -m rust` run if the integrator/backends changed
- [ ] No certificate rule weakened, no check silenced, no `FAIL` converted to a skip
- [ ] Which oracles/certificates cover this change:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
python examples/demo_vacuum_covariance.py
python examples/demo_rectification.py
python examples/demo_hydrogen_coulomb.py
python examples/demo_hypothesis_tournament.py
- name: certificate bundles round-trip, and tampering is rejected
run: |
python - <<'PY'
Expand Down Expand Up @@ -61,7 +62,7 @@ jobs:
- run: pip install .
- run: |
cd /tmp
python -c "import blueberry_circus as bc; print(bc.__version__); from blueberry_circus import oracles, symplectic, certify"
python -c "import blueberry_circus as bc; assert bc.__version__ == '0.3.0'; from blueberry_circus import oracles, symplectic, certify, tournament"
# A directory named nanarch_certify on sys.path must not shadow the
# vendored, SHA-pinned certificate layer.
- run: |
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ __pycache__/
build/
dist/
examples/out/
tournament-*.json
tournament-*.npz
tournament-summary.json
rust/**/target/
src/*.egg-info/
target/
Expand Down
8 changes: 6 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ abstract: >-
provides an isotropic 3-D random-phase ZPF mode sampler, a non-runaway
Landau-Lifshitz radiation-reaction integrator, a Strawberry-Fields-style
Program/Engine API, physical Bohr normalization, independently integrated
near-ionization rectification, and re-checkable PASS/FAIL/NULL certificates
near-ionization rectification, a complete point-charge drift surface, and an
energy-audited four-arm hypothesis tournament with reproducible finite-mode
confidence intervals. Re-checkable PASS/FAIL/NULL certificates remain
anchored to the exactly-solvable oscillator oracle <x^2> = hbar/(2 m omega0).
type: software
authors:
Expand All @@ -24,7 +26,9 @@ keywords:
- "hydrogen ground state"
- "radiation reaction"
- "certified computation"
version: "0.2.0"
- "energy audit"
- "hypothesis tournament"
version: "0.3.0"
date-released: "2026-08-13"
license: "Apache-2.0"
repository-code: "https://github.com/NanarchTech/BlueberryCircus"
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ guarantee. This is a research prototype maintained alongside other work.
```bash
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest # core suite: must be 112 passed, 2 xfailed, 0 skipped
pytest # core suite: must be 134 passed, 2 xfailed, 0 skipped
sh scripts/build_rust.sh && pytest -m rust # if your change touches the integrator
pip install ".[jax]" && pytest -m jax # if your change touches backends
```
Expand Down
27 changes: 23 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

[![test](https://github.com/NanarchTech/BlueberryCircus/actions/workflows/test.yml/badge.svg)](https://github.com/NanarchTech/BlueberryCircus/actions/workflows/test.yml)
![status](https://img.shields.io/badge/status-simulation--first%20prototype-1f6feb)
![tests](https://img.shields.io/badge/tests-112%20core%20passed%20·%202%20xfail%20·%200%20skip-2ea043)
![tests](https://img.shields.io/badge/tests-134%20core%20passed%20·%202%20xfail%20·%200%20skip-2ea043)
![python](https://img.shields.io/badge/python-3.10%2B-1f6feb)
![backends](https://img.shields.io/badge/backends-numpy%20·%20rust%20·%20jax-d29922)
![deps](https://img.shields.io/badge/runtime%20deps-numpy%20only-2ea043)
Expand All @@ -18,6 +18,13 @@

BlueberryCircus is a Python laboratory for testing stochastic electrodynamics, not a proof that classical vacuum noise reproduces hydrogen. Its linear oscillator remains an exact benchmark, while its Coulomb sector evaluates three narrower claims: Puthoff’s circular-orbit absorption and radiation balance, Nieuwenhuizen’s near-ionization rectification threshold \(L_c=16/(5\pi\sqrt3)\), and Setterfield’s proposed static vacuum co-scaling, which leaves dimensionless hydrogen dynamics unchanged after time rescaling. The v0.1.0 escape run is retained only as an accelerated numerical stress test because its damping ratio is about 13,000 times the physical Bohr-unit value and it unbinds in less than one tenth of an orbit, so it cannot stand as a reproduction of physical hydrogen self-ionization; certificates verify numerical claims under explicit assumptions, not the truth of SED itself.

Version 0.3.0 adds an energy-audited hypothesis tournament. It computes the
complete point-charge `D(E,L)` surface before testing a driven Setterfield map,
a reciprocal finite shell, an inverse-square control, and a conservative
multipole-storage surrogate. Its finite-mode statistics validate the
perturbative response kernel, not a nonlinear long-time trajectory. See the
[tournament specification](docs/tournament.md).

Artifact label: simulation-repo

## Features
Expand All @@ -30,6 +37,10 @@ Artifact label: simulation-repo
- Analytic oracles: Bohr radius, ground-state energy, angular momentum, oscillator variance
- Physical Bohr units and an independently integrated near-ionization threshold
- Static Setterfield co-scaling map with a trajectory-conjugacy regression test
- Complete point-charge drift surface with perihelion-adapted quadrature
- Seven-channel energy ledgers and a closed five-state classification vocabulary
- Four preregistered hypothesis arms with exact zero-parameter recovery controls
- Chunkable 32-seed/2,048-mode research command with deterministic JSON/NPZ output
- Phase-space covariance with symplectic readout
- Seeded ensemble runs for power balance
- Cole–Zou moving spectral window
Expand Down Expand Up @@ -92,6 +103,9 @@ print(o.hydrogen_ground_state_energy(bc.SI) / bc.E_CHARGE) # -13.605693 (eV)
| **Rectification threshold** | $L_c=$ **0.5880841551** | independent improper quadrature vs $16/(5\pi\sqrt3)$ | `residual_le_tol` |
| Critical perihelion | $r_p=$ **0.172921 $a_0$** | $L_c^2/2$ near-ionization asymptote | — |
| Setterfield static co-scaling | trajectory conjugacy **<10⁻⁹** | $x_U(Ut)=x_1(t)$ and mapped velocities | regression |
| Point-charge drift surface | **18 preregistered cells** | full Eq. (2.34), both endpoint limits | regression |
| Inverse-square defining maximum | $H_{\max}=$ **7.327** at $\mu\approx0.590$ | printed kernel gives $d_c\approx-53.69$, not prose −35.8 | quadrature |
| Multipole closed Hamiltonian | relative total-energy error **<10⁻⁶** | no ZPF or damping | conservation |
| **Orbit conservation** (no radiation) | $\Delta E/E \sim 10^{-14}$ | exact | `residual_le_tol` |
| **numpy ↔ Rust agreement** | spring case **bit-identical**, orbit 7×10⁻¹⁴ | — | — |
| **Independent recheck** | Rust re-derives the verdicts | rejects tampered bundles | separate stack |
Expand Down Expand Up @@ -122,7 +136,6 @@ Operation (| apply) ─▶ Program.compile() ─▶ Backend ─▶ Result
| | check | passes if | tier |
|---|---|---|---|
| **O0** | field statistics | discrete → continuum, rel-err < 5% | A |
| **O1** | Puthoff circular-orbit power balance | $P_{\rm abs}=P_{\rm rad}$ and $m\omega_0r_0^2=\hbar$ | A |
| **O2** | **spring variance, the gate** | $\langle x^2\rangle=\hbar/2m\omega_0$ to ~1% | A |
| **O3** | hydrogen radial density | → $4r^2e^{-2r}$ (CPU-day ensembles) | B · `xfail` |
| **O4** | phase-space conjecture | N–L §3 (NULL where the dynamics don't reach) | B |
Expand All @@ -135,6 +148,9 @@ O2 remains the normalization gate: if the simulated field does not give $\hbar/2
- The published long-duration 3-D studies report self-ionization, including later relativistic and renormalized-noise attempts. BlueberryCircus does not claim to reproduce those physical timescales with its accelerated fixture.
- Nieuwenhuizen rectification is a conditional drift in energy space. It does not establish equilibrium vacuum-energy extraction, usable net work, or evasion of detailed balance; broken symmetry alone is insufficient.
- Setterfield co-scaling is represented as a speculative static hypothesis. Its invariants and trajectory conjugacy show that the static profile is dynamically inert after time reparameterization.
- A time-dependent Setterfield profile is an externally driven variable-mass Hamiltonian; any apparent suppression with nonzero parameter work is classified `ACTIVE_CONTROL`.
- The finite-shell and multipole arms are response/surrogate models. They are not validated electron or proton structure models. The stochastic tournament is perturbative and does not replace a physical-timescale nonlinear ensemble.
- Direct quadrature of Nieuwenhuizen's printed inverse-square kernel gives $d_c\approx-53.69$, while the paper's prose quotes −35.8 from its endpoint. Both are retained explicitly; neither establishes a physical inverse-square force.
- Matching the quantum 1s density remains a CPU-day frontier, marked strict-`xfail` rather than faked.
- **The orbit is chaotic.** The code is deterministic and byte-reproducible on a fixed machine, but quantities like `r_max` depend on floating-point summation order and shift across machines. The certified quantities, meaning the conservation laws and the tolerance-gated checks, are stable. Raw chaotic outputs are not, and shouldn't be quoted as if they were.
- Non-relativistic, with dipole and point-charge approximations and a finite, band-limited background field. Each run is faithful only out to bounded times.
Expand All @@ -151,25 +167,28 @@ Framework and code © Joe Pecoraro / Nanarch Technologies, Inc., Apache-2.0. The
- B. Setterfield, *ZPE and Atomic Constants’ Behavior*, [behaviorzpe3.html](https://www.barrysetterfield.org/behaviorzpe3.html) (speculative scaling proposal, tested here as a hypothesis only).
- T. M. Nieuwenhuizen, *Stochastic Electrodynamics: Renormalized Noise in the Hydrogen Ground-State Problem*, **Front. Phys. 8, 335 (2020)**, [doi:10.3389/fphy.2020.00335](https://doi.org/10.3389/fphy.2020.00335).
- G. Moddel & O. Dmitriyeva, *Extraction of Zero-Point Energy from the Vacuum*, [arXiv:0910.5893](https://arxiv.org/abs/0910.5893) (equilibrium/detailed-balance assessment).
- J. A. E. Rodríguez, extended-charge motivation, [arXiv:1201.6168](https://arxiv.org/abs/1201.6168) (the implemented multipole oscillator is a clearly labeled surrogate).

The certificate layer is vendored inside the package (`blueberry_circus/_vendor/nanarch_certify`, a near-verbatim mirror of Nanarch's canonical copy), so `import blueberry_circus` works from a fresh checkout. See [`PROVENANCE.md`](PROVENANCE.md) and [`NOTICE`](NOTICE).

## Run it

```bash
pytest # core suite: 112 passed, 2 xfailed, 0 skipped
pytest # core suite: 134 passed, 2 xfailed, 0 skipped
sh scripts/build_rust.sh && pytest -m rust # optional: Rust backend cross-language tests
pip install ".[jax]" && pytest -m jax # optional: JAX backend tests
pytest -m verify # optional: needs BLUEBERRY_VERIFY_BIN
python examples/demo_sho_ground_state.py # certified spring ground state
python examples/demo_vacuum_covariance.py # full vacuum covariance certificate
python examples/demo_rectification.py # certified Puthoff + O5 threshold
python examples/demo_hydrogen_coulomb.py # accelerated Coulomb stress fixture
python examples/demo_hypothesis_tournament.py # reduced schema/ledger smoke
blueberry-tournament --profile preregistered --arm all # manifest only
```

<div align="center">

**[docs/STATUS.md](docs/STATUS.md)** · **[docs/theory.md](docs/theory.md)** · **[docs/comparison.md](docs/comparison.md)**
**[docs/STATUS.md](docs/STATUS.md)** · **[docs/theory.md](docs/theory.md)** · **[docs/tournament.md](docs/tournament.md)** · **[docs/comparison.md](docs/comparison.md)**

*Nanarch Technologies — Photonic & Quantum Intelligence Systems*

Expand Down
15 changes: 14 additions & 1 deletion REPRODUCIBILITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ python3 examples/demo_sho_ground_state.py # -> out/sho_ground_state_certific
python3 examples/demo_vacuum_covariance.py # -> out/vacuum_covariance_certificate.json
python3 examples/demo_rectification.py # -> out/rectification_certificate.json
python3 examples/demo_hydrogen_coulomb.py # -> out/hydrogen_certificate.json, out/hydrogen_radial.npz
python3 examples/demo_hypothesis_tournament.py # -> out/hypothesis_tournament_smoke.json
blueberry-tournament --profile preregistered --arm all # manifest only; no computation
```

Tests set `pythonpath = ["src"]` via `pyproject.toml`; `conftest.py` and the
Expand All @@ -29,7 +31,7 @@ without installation.
## Verified result (2026-08-13, macOS workstation: CPython 3.14.2)

```
pytest 112 passed, 2 xfailed, 0 skipped (core, default)
pytest 134 passed, 2 xfailed, 0 skipped (core, default)
pytest -m rust 4 passed (Rust cdylib built)
pytest -m jax 4 passed (JAX installed)
pytest -m verify 3 skipped (no BLUEBERRY_VERIFY_BIN on this run)
Expand All @@ -53,6 +55,9 @@ pytest -m verify 3 skipped (no BLUEBERRY_VERIFY_BIN
| Puthoff circular `P_abs` vs `P_rad` | **<1×10⁻¹²** | analytic balance |
| Nieuwenhuizen improper quadrature vs `16/(5π√3)` | **9.5×10⁻¹³ absolute** | Eq. (2.30) vs Eq. (2.31) |
| Setterfield `U=1` vs `U=4` mapped trajectory | **<1×10⁻⁹** | static conjugacy |
| full point-charge surface | **18 finite cells** plus both analytic endpoints | Nieuwenhuizen Eq. (2.34) |
| inverse-square printed-kernel maximum | **`Hmax≈7.327`, `dc≈-53.69`** | transformed quadrature, orders 48/64 |
| tournament random-phase convergence | **32 stored seeds; 2,048→4,096 modes** | normalized change `<10%` or `NULL` |

## Caveats (house honesty policy)

Expand All @@ -66,3 +71,11 @@ pytest -m verify 3 skipped (no BLUEBERRY_VERIFY_BIN
ensemble averaging over seeds and longer integration. The *linear
ground state itself* is nonetheless certified exactly via the quadrature oracle
(C2), which needs no time integration.
- Tournament JSON is deterministic and authoritative: it stores the complete
config, seeds, resolutions, confidence intervals, and ledgers. Optional NPZ
arrays are redundant. A full run must be requested explicitly with
`blueberry-tournament --profile preregistered ... --execute`; ordinary CI
executes only the reduced schema/ledger smoke.
- The tournament's stochastic layer samples the perturbative quadratic response
kernel. It is not a long-time nonlinear trajectory and cannot be cited as a
reproduction of physical hydrogen self-ionization or stabilization.
27 changes: 25 additions & 2 deletions docs/STATUS.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# BlueberryCircus verification status

v0.2.0. Verified on a macOS workstation (CPython 3.14.2; exact dependency and
v0.3.0. Verified on a macOS workstation (CPython 3.14.2; exact dependency and
tool versions are printed by the release gate) on 2026-08-13. Pass counts are
environment-specific; reproduce locally before citing them.

## Suite

| Command | Result | Requires |
|---|---|---|
| `pytest` (default = core) | **112 passed · 2 xfailed (strict) · 0 skipped** | numpy only |
| `pytest` (default = core) | **134 passed · 2 xfailed (strict) · 0 skipped** | numpy only |
| `pytest -m rust` | 4 passed | `sh scripts/build_rust.sh` |
| `pytest -m jax` | 4 passed | `pip install ".[jax]"` |
| `pytest -m verify` | 3 passed with a verifier binary; skips without | `BLUEBERRY_VERIFY_BIN` |
Expand Down Expand Up @@ -51,6 +51,29 @@ inertness, not the empirical scaling proposal.
physical Bohr value and sustained positive energy begins at `0.06956` orbit.
It is retained only as an accelerated numerical stress test.

## Hypothesis tournament (`tournament.py`)

The baseline report evaluates Nieuwenhuizen's complete finite-energy
point-charge surface over 18 preregistered `(E,L)` cells. It recovers the
near-ionization sign change, agrees with the PR1 asymptote within one percent at
the independently evaluated `E=-0.001` probe, and recovers the exact circular
endpoint. The default stochastic
gate executes 32 stored seeds at 2,048 and 4,096 modes, halving the nominal
timestep and returning `NULL` when normalized drift changes by ten percent or
more.

All four zero-parameter arms recover the identical baseline cell. The driven
Setterfield Hamiltonian records `partial H/partial t` as external work; the
finite shell applies one reciprocal form factor to both powers; the
inverse-square arm integrates the printed source kernel; and the
Rodríguez-inspired multipole surrogate conserves its closed total Hamiltonian.
None can emit `STABLE_GROUND_STATE`.

The inverse-square audit is a new negative reproducibility result. Orders 48
and 64 give `H_max≈7.327` near `mu≈0.590`, hence the defining
`d_c=-H_max²≈-53.69`. The paper's prose `-35.8` squares only its quoted
`H(0)=5.99`, despite stating an all-`mu` criterion. Reports retain both values.

**Cross-language enclosure:** the Rust `cdylib` backend is **bit-identical** to
numpy on the SHO case (max|Δx| = 0.0) and agrees to ~7e-14 on the Kepler orbit;
the JAX backend agrees to ≤1e-6.
Expand Down
Loading
Loading