Repository navigation
Release v0.26.0 - #106
Merged
Merged
Release v0.26.0#106
Conversation
Every workflow now sets a workflow-level `DO_NOT_TRACK=1`, as the usage-statistics specification's rule R8 requires of every repository's CI, so no later step that runs pipelex, plxt or the mthds CLIs can send usage statistics from CI. The vendored protocol corpus parity workflow is the one exception: it changes only in conformance's canonical copy, which L-261019-ca9c38 tracks. The pass also fixes the pre-existing actionlint findings in the workflows touched: two actions too old for the runners, and version-check interpolating the pull request's head ref straight into its script. Closes L-261019-b35045 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_018gGWRq7iHF73RhGdEEKFmf <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Every CI workflow now sets `DO_NOT_TRACK=1` at the workflow level, so steps running pipelex, plxt, or the mthds CLIs no longer send usage statistics from CI, as conformance's usage-statistics spec rule R8 requires. The vendored protocol corpus parity workflow is the exception, changing only in conformance's canonical copy. **Also fixes the actionlint findings in the touched workflows** - Bumps `actions/setup-python` to `@v5` and `actions/checkout` to `@v4`. - Passes PR branch names to version-check's script through the environment instead of interpolating the author-controlled head ref into it. <sup>Written for commit 9753d70. Summary will update on new commits.</sup> <a href="https://cubic.dev/pr/mthds-ai/mthds-python/pull/103?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="View guided diff" src="https://www.cubic.dev/buttons/review-in-cubic-light.svg"></picture></a> <a href="https://www.cubic.dev/action/auto-fix/pr/mthds-ai/mthds-python/103?returnTo=https%3A%2F%2Fgithub.com%2Fmthds-ai%2Fmthds-python%2Fpull%2F103&source=description" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"><img alt="Turn on auto-fix" src="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"></picture></a> <!-- End of auto-generated description by cubic. --> Co-authored-by: Claude Opus 5.5 <[email protected]>
The development interpreter is now pinned to 3.13 in .python-version, and the Makefile exports it as UV_PYTHON so every uv command uses it unless PYTHON_VERSION or UV_PYTHON asks for another. Each matrix job sets UV_PYTHON from its matrix version for the whole job and ends by asserting its interpreter, so a matrix can no longer silently test only the pinned version; this is the pilot of that pattern for the workspace. Closes L-261023-540990 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01TuqArJByf4EdN7khSDRiPe <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Pins the development interpreter to 3.13 in `.python-version` and makes CI prove each matrix job actually runs the version it names. - The Makefile reads `.python-version` and exports it as `UV_PYTHON`, so every uv command agrees on one interpreter unless `PYTHON_VERSION` or `UV_PYTHON` asks for another. - CI matrix jobs set `UV_PYTHON` for the whole job and assert the interpreter matches, so a matrix can no longer silently test only the pinned version. - `PYTHON_VERSION=<version> make install` still builds `.venv` on another `requires-python`-supported version. <sup>Written for commit fa3180d. Summary will update on new commits.</sup> <a href="https://cubic.dev/pr/mthds-ai/mthds-python/pull/104?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="View guided diff" src="https://www.cubic.dev/buttons/review-in-cubic-light.svg"></picture></a> <a href="https://www.cubic.dev/action/auto-fix/pr/mthds-ai/mthds-python/104?returnTo=https%3A%2F%2Fgithub.com%2Fmthds-ai%2Fmthds-python%2Fpull%2F104&source=description" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"><img alt="Turn on auto-fix" src="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"></picture></a> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by: Claude Opus 5.5 <[email protected]>
## TL;DR - A problem the library names from its code now carries the MTHDS v8.0.1 title and next step, written for someone following a run of a method they did not write. - mthds-python follows the whole v8.0.1 cut of the standard: standard `8.0.1`, Protocol `2.0.1` and core error registry `8.0.1`. -⚠️ A manifest whose `mthds_version` caps the standard at `8.0.0` (an exact `8.0.0`, or `<=8.0.0`) is no longer satisfied; `>=8.0.0`, `^8.0.0` and `~8.0.0` still are. ## Behaviour changes - `pipe.output_invalid`'s title: "A pipe's output does not fit its concept" → "A step's result does not have the structure the method declares", and likewise for the other codes a run can raise, with their `other` steps naming the step rather than the pipe. - `MTHDS_STANDARD_VERSION`: `8.0.0` → `8.0.1`, so a manifest asking `>=8.0.1`, as the standard's own examples now read, is satisfied. - `PROTOCOL_VERSION`: `2.0.0` → `2.0.1`. `read_file_map` already refused a files map in the order Protocol 2.0.1 states, so no code changed for it. ## Breaking changes - A manifest pinned exactly to `8.0.0`, or capped at it, must widen its `mthds_version` constraint. ## Changes **Error registry** - Vendored the core error registry from mthds `v8.0.1` (commit `fdfedc5`), with its sidecar, in `vendor/mthds-error-registry/`, and regenerated `mthds/protocol/problem/registry.py`. - `CORE_ERROR_REGISTRY_VERSION` is `8.0.1` in `mthds/protocol/protocol.py`, and the shared `tests/data/problem-reading-cases.json` records it. **Versions** - `MTHDS_STANDARD_VERSION` in `mthds/package/manifest/schema.py` and `PROTOCOL_VERSION` in `mthds/protocol/protocol.py`, with `tests/unit/test_versions.py` pinning both and gaining the `>=8.0.1` and exact `8.0.0` cases. - `VersionInfo.blob_store`'s description in `mthds/protocol/models.py` follows the protocol document's new wording. **Method tree** - Re-vendored the conformance tree corpus (`tests/fixtures/method_tree_corpus.json`), which brings the three cases pinning the files map's refusal order; all pass. ## How it was verified - `make agent-check`: ruff, pyright, mypy and `check-error-registry` green. - `make agent-test`: all tests passed. - `make check-error-registry-upstream MTHDS=… REF=v8.0.1`: the vendored registry is the one mthds `v8.0.1` publishes. - `/rev` profile 2 (cubic, Codex, code-review): clean, converged at round 1. ## Documentation - `docs/versioning.md`: the vendoring example names `v8.0.1`, and the standard and protocol numbers it quotes are current. - `docs/runners.md`: a `request.blobs_missing` answer comes only for a files map that breaks no other rule. - `docs/method-tree.md`: the order of a files map's checks. ## Not done - mthds-js vendors the same release on its own branch, and pipelex moves its `mthds` pin onto this package's next release; each is its own item under the same epic. Closes L-261028-7b7f90 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019TF9N1QfNEKCTsX1Q6NCf1 <!-- This is an auto-generated description by cubic. --> --- ## Summary by cubic Vendors the MTHDS core error registry v8.0.1 and follows the standard's full v8.0.1 cut, bumping the standard (`8.0.1`), protocol (`2.0.1`), and registry (`8.0.1`) versions. Error titles and the next steps for someone other than the method's author are reworded, for example `pipe.output_invalid` now reads "A step's result does not have the structure the method declares" and other-reader steps name the step rather than the pipe; no code, domain, retry verdict, step kind, or status changes. **Breaking changes** - A manifest whose `mthds_version` pins exactly `8.0.0` or caps at `<=8.0.0` is no longer satisfied; `>=8.0.0`, `^8.0.0`, and `~8.0.0` still pass. <sup>Written for commit fe681ef. Summary will update on new commits.</sup> <a href="https://cubic.dev/pr/mthds-ai/mthds-python/pull/105?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="View guided diff" src="https://www.cubic.dev/buttons/review-in-cubic-light.svg"></picture></a> <a href="https://www.cubic.dev/action/auto-fix/pr/mthds-ai/mthds-python/105?returnTo=https%3A%2F%2Fgithub.com%2Fmthds-ai%2Fmthds-python%2Fpull%2F105&source=description" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"><img alt="Turn on auto-fix" src="https://www.cubic.dev/buttons/turn-on-auto-fix-light.svg"></picture></a> <!-- End of auto-generated description by cubic. --> --------- Co-authored-by: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_019TF9N1QfNEKCTsX1Q6NCf1
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release v0.26.0
Bumps version from
0.25.0to0.26.0. Promotesdev→main.Changelog
Changed
8.0.1, Protocol2.0.1and core error registry8.0.1(Breaking): the package follows the standard'sv8.0.1release:MTHDS_STANDARD_VERSIONmoved from8.0.0to8.0.1, so a manifest'smthds_versionof>=8.0.1, as the standard's own examples now read, passes while an exact8.0.0no longer does;PROTOCOL_VERSIONmoved from2.0.0to2.0.1, the cut that states the order of a files map's refusals, whichread_file_mapalready followed; andCORE_ERROR_REGISTRY_VERSIONmoved from8.0.0to8.0.1, withmthds.protocol.problem.registrygenerated from that release's registry. The titles of the codes a run can raise, and the next steps they give a reader other than the method's author, are reworded for someone following a run of a method they did not write:pipe.output_invalid, for one, is now titled "A step's result does not have the structure the method declares" where it read "A pipe's output does not fit its concept". No code, domain, retry verdict, step kind or status changes..python-version: the Makefile, uv and CI read the version from that file,PYTHON_VERSION=<version> make installstill builds.venvon another supported version, and each job of the CI matrices now fails unless its environment ran the version the job names. Nothing shipped changes.🤖 Generated with Claude Code
https://claude.ai/code/session_019TF9N1QfNEKCTsX1Q6NCf1
Summary by cubic
Releases v0.26.0, promoting the dev branch to main. The package follows the MTHDS standard's v8.0.1 cut:
MTHDS_STANDARD_VERSIONmoves to8.0.1,PROTOCOL_VERSIONto2.0.1, andCORE_ERROR_REGISTRY_VERSIONto8.0.1, with the vendored core error registry regenerated from that release. Error titles and the next steps they give a reader other than the method's author are reworded; no code, domain, retry verdict, step kind or status changes.read_file_mapalready followed the refusal order Protocol 2.0.1 states, so nothing changed for it.Breaking changes
mthds_versionpins exactly8.0.0, or caps at<=8.0.0, is no longer satisfied;>=8.0.0,^8.0.0and~8.0.0still pass, and>=8.0.1now passes.Other changes
3.13in.python-version; the Makefile, uv and CI read it, and each CI matrix job fails unless its environment ran the version the job names.DO_NOT_TRACK=1, which conformance's usage-statistics rule R8 requires of every repository's CI.actions/setup-pythonandactions/checkoutpins were bumped.Written for commit d249d73. Summary will update on new commits.