Skip to content

Release v0.26.0 - #106

Merged
lchoquel merged 4 commits into
mainfrom
release/v0.26.0
Oct 29, 2026
Merged

lchoquel merged 4 commits into
mainfrom
release/v0.26.0

Conversation

@lchoquel

@lchoquel lchoquel commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Release v0.26.0

Bumps version from 0.25.0 to 0.26.0. Promotes dev → main.

Changelog

Changed

  • Standard version 8.0.1, Protocol 2.0.1 and core error registry 8.0.1 (Breaking): the package follows the standard's v8.0.1 release: MTHDS_STANDARD_VERSION moved from 8.0.0 to 8.0.1, so a manifest's mthds_version of >=8.0.1, as the standard's own examples now read, passes while an exact 8.0.0 no longer does; PROTOCOL_VERSION moved from 2.0.0 to 2.0.1, the cut that states the order of a files map's refusals, which read_file_map already followed; and CORE_ERROR_REGISTRY_VERSION moved from 8.0.0 to 8.0.1, with mthds.protocol.problem.registry generated 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.
  • Dev tooling: the development Python is pinned in .python-version: the Makefile, uv and CI read the version from that file, PYTHON_VERSION=<version> make install still builds .venv on 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_VERSION moves to 8.0.1, PROTOCOL_VERSION to 2.0.1, and CORE_ERROR_REGISTRY_VERSION to 8.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_map already followed the refusal order Protocol 2.0.1 states, so nothing changed for it.

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, and >=8.0.1 now passes.

Other changes

  • The development Python is pinned to 3.13 in .python-version; the Makefile, uv and CI read it, and each CI matrix job fails unless its environment ran the version the job names.
  • Every workflow sets DO_NOT_TRACK=1, which conformance's usage-statistics rule R8 requires of every repository's CI.
  • Version-check's PR branch names now come through the environment rather than interpolated into the script, and the actions/setup-python and actions/checkout pins were bumped.

Written for commit d249d73. Summary will update on new commits.

View guided diff Turn on auto-fix

lchoquel and others added 4 commits October 19, 2026 22:52
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]>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-29T12:13:18.957252Z d249d73 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@lchoquel
lchoquel merged commit 59fffcf into main Oct 29, 2026
21 checks passed
@lchoquel
lchoquel deleted the release/v0.26.0 branch October 29, 2026 12:13
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant