Skip to content

build: floor autonerves at 2026.8.23.1 for the SMALLDAT regime stamp - #481

Open
Jammy2211 wants to merge 1 commit into
mainfrom
claude/autonerves-floor-regime-stamp
Open

build: floor autonerves at 2026.8.23.1 for the SMALLDAT regime stamp#481
Jammy2211 wants to merge 1 commit into
mainfrom
claude/autonerves-floor-regime-stamp

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Bumps autoarray's floor from autonerves>=2026.8.22.1 to >=2026.8.23.1.

Why

2026.8.22.1 was the newest release on PyPI but predates the SMALLDAT regime stamp (PyAutoNerves#153/#154). A PyPI-installed autoarray resolved an autonerves whose FITS writer emits no card at all, so should_simulate read the regime as "unknown" and fell back to the shape heuristic — which cannot see capped interferometer datasets, the case the stamp exists for.

Nothing was broken by that; it is the designed degradation. But the stamp was inert for anyone installing rather than running from a checkout. 2026.8.23.1 (nerves 0ecefa0) is the first release carrying it.

Verification

Checked against the published wheel in a clean venv with PYTHONPATH stripped, not the source tree:

autonerves 2026.8.23.1 (site-packages, no source leak)
PYAUTO_SMALL_DATASETS=1 -> SMALLDAT = True   (type: bool)
PYAUTO_SMALL_DATASETS=0 -> SMALLDAT = False  (type: bool)
keyword length <= 8: True

A genuine FITS boolean, not a string — bool("F") is True in Python, so a coerced string card would invert the regime.

Deliberately unchanged

  • The shape fallback in should_simulate, and _is_capped_at_the_current_cap on the capped branch. The floor governs what a fresh install writes; it says nothing about datasets already on disk, every one of which is unstamped. Those fallbacks protect them.
  • The PyAutoLens#687/#702 comment. That explains a different historical reason for this floor (JAX moving into autonerves' base deps). Both reasons are load-bearing, so the stamp reason was added, not substituted — and the comment now says so explicitly.
  • The duplicated "SMALLDAT" literal in dataset_util. Importing it from autonerves becomes safe now the floor names a stamped release, but the duplication is documented and a stale reader degrades to the fallback, which is the safe direction. Converting it is optional and low value.

Closes the follow-up filed as PyAutoMind/draft/maintenance/libraries/bump_autoarray_autonerves_floor_after_stamp_release.md.

The previous floor, autonerves>=2026.8.22.1, was the newest release on PyPI but
predates the SMALLDAT regime stamp (PyAutoNerves#153/#154). A PyPI-installed
autoarray therefore resolved an autonerves whose FITS writer emits no card at
all: should_simulate read the regime as "unknown" and fell back to the shape
heuristic, which provably cannot see capped interferometer datasets -- the case
the stamp exists for. The stamp was inert for anyone installing rather than
running from a checkout.

2026.8.23.1 is the first release carrying it (nerves 0ecefa0). Verified against
the published wheel in a clean venv, not the source tree: the card is written as
a genuine FITS boolean in both regimes.

The existing PyAutoLens#687/#702 reason for this floor is kept -- both reasons
are load-bearing and the comment now says so.

Deliberately unchanged:
- the shape fallback in should_simulate and _is_capped_at_the_current_cap on the
  capped branch. This floor governs what a fresh install WRITES; it says nothing
  about datasets already on disk, every one of which is unstamped. Those
  fallbacks are what protect them.
- the duplicated "SMALLDAT" literal in dataset_util. Importing it from autonerves
  becomes safe now the floor names a stamped release, but the duplication is
  documented and a stale reader degrades to the fallback, which is the safe
  direction.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QqMr6QKGALYhcxpQAHZtry
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant