Skip to content

Bump Tools to 0.3.0a1, add feature id shm_order_v1 (for pre-release v0.3.0-alpha.1) - #128

Merged
guijacquemet merged 1 commit into
mainfrom
claude/bump-0.3.0a1
Oct 13, 2026
Merged

guijacquemet merged 1 commit into
mainfrom
claude/bump-0.3.0a1

Conversation

@guijacquemet

@guijacquemet guijacquemet commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

What changes

rc.1, rc.2 and main all reported __version__ 0.2.0rc1 and the same features, so hosts could not tell them apart. This PR makes this build recognisable, for the pre-release v0.3.0-alpha.1 (tag and release are created by the maintainer after merge; nothing here touches tags or releases).

  1. _version.py -> 0.3.0a1 (pyproject, schema tools_version, doctor read it from there; nothing else hard-codes it).
  2. New feature id shm_order_v1 (shared-memory descriptor order honoured for C/F, anything else unreadable_image; behaviour from Worker: honour or refuse shared-memory order; memory-map big TIFF inputs #125, which already exists - PROTOCOL.md says so explicitly, this is the one id added after the change). No id for the TIFF memory map; PROTOCOL.md states "Tools >= 0.3.0a1 maps big TIFF files".
  3. PROTOCOL.md: retention_prune is in rc.1 (the "not in 0.2.0rc1" claim is removed); runs.build_record/record_json/done_status arrive in 0.3.0a1 (also in rc.2 code, which still reports 0.2.0rc1); hosts check min_tools_version 0.3.0a1 or hasattr.
  4. OPERATIONS.md: pre-release tag may be pinned for a human-test round; name rule (-rc.N <-> rcN, -alpha.N <-> aN); rc.2 did not bump and there is no rc.3; Windows file-lock caveat of the TIFF map; install/pin snippets say alpha.1. README gets the pre-release install line. CI compat job tag selection uses git -c versionsort.suffix=-alpha -c versionsort.suffix=-rc tag --list 'v*' --sort=-v:refname; checked in a scratch repo with tags v0.2.0-rc.1, v0.2.0-rc.2, v0.3.0-alpha.1: plain sort picks alpha.1; with v0.3.0 added the plain sort still picks v0.3.0-alpha.1 (the bug), the fixed sort picks v0.3.0, and alpha.1 beats rc.2.
  5. conformance.json compat.version_order (+ HOST_PARITY.md copy) gets 0.3.0a1, 0.3.0. New frozen fixture tests/fixtures/schemas/tools_0.3.schema.json (0.3.0a1, three features); the compat matrix reads it (new host accepts it, old host reads it, a host needing 0.3.0a1 refuses the 0.2 fixture). Existing vectors and fixtures unchanged.
  6. Release sandbox: playground_extras.py no longer hard-codes 0.2.0rc1 / v0.2.0-rc.1; --tools-pin argument (workflow passes its tools_pin input), default read from the installed app's post_install LC_TOOLS_SPEC line, and the version must equal the PEP 440 form of the pin. The workflow stays dispatch-only; tools_pin default is now v0.3.0-alpha.1.
  7. docs/RELEASE_NOTES_0.3.0-alpha.1.md: draft notes to paste into the GitHub pre-release.

Tests changed (superseded by this change; none loosened or skipped)

  • tests/test_run_record_builder.py: the assertion "not in 0.2.0rc1" is now "arrive in 0.3.0a1" (plus assertNotIn of the old wording); the expected FEATURES list gains shm_order_v1.
  • tests/test_compat_matrix.py: SHA256 entry for the new fixture; matrix prints 14 ok lines instead of 11 (3 new checks); new assertions on the 0.3 fixture.
  • tests/test_versions.py: needle v0.3.0-alpha.1 added to the OPERATIONS.md check.
  • tests/test_tools_features.py: new test for the id list and the PROTOCOL.md statements.
  • tests/compat_matrix.py, tests/release_sandbox/playground_extras.py: as described above (black reformatting only otherwise).

Not verified

🤖 Generated with Claude Code

https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN


Generated by Claude Code

rc.1, rc.2 and main all reported 0.2.0rc1 with the same features although
the code differs. 0.3.0a1 plus shm_order_v1 (shared-memory `order`, PR #125,
already implemented) tell them apart.

- _version 0.3.0a1; FEATURES + PROTOCOL.md table and feature tests
- PROTOCOL.md: retention_prune is in rc.1; runs.build_record/record_json/
  done_status arrive in 0.3.0a1; big TIFFs are mapped from 0.3.0a1 (no id)
- OPERATIONS.md: pre-release pin rule, tag <-> PEP 440 name rule, rc.2 did
  not bump, no rc.3, Windows file-lock caveat; install snippets -> alpha.1
- CI compat job: newest tag sorted with versionsort.suffix (final beats
  its own pre-releases, alpha.1 beats rc.2)
- conformance.json version_order, frozen tools_0.3 schema fixture, compat matrix
- release sandbox: expected Tools pin is an argument (default: read from the
  app's post_install hook) instead of a constant
- docs/RELEASE_NOTES_0.3.0-alpha.1.md (draft for the GitHub pre-release)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y2SN8SuEakTdiWy3F2WUqN
@guijacquemet
guijacquemet merged commit 2163da1 into main Oct 13, 2026
14 checks passed
@guijacquemet
guijacquemet deleted the claude/bump-0.3.0a1 branch October 14, 2026 16:08
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.

2 participants