diff --git a/Makefile b/Makefile index a58f154..23274f8 100644 --- a/Makefile +++ b/Makefile @@ -10,8 +10,11 @@ SHELL := /bin/bash -# m-cli venv — Python entry point for `m fmt` / `m lint` / `m test` / `m coverage`. -M ?= $(HOME)/projects/m-cli/.venv/bin/m +# m-cli — Python entry point for `m fmt` / `m lint` / `m test` / `m coverage`. +# Resolved from $PATH by default. Maintainers who keep an unactivated +# m-cli venv can override per-shell or per-invocation, e.g. +# make fmt-check M=$HOME/projects/m-cli/.venv/bin/m +M ?= m # m-test-engine — local checkout for `make engine-up` / `engine-down`. # Override if you cloned it elsewhere. diff --git a/tools/gen-manifest.py b/tools/gen-manifest.py index 404b081..a0c1ed1 100644 --- a/tools/gen-manifest.py +++ b/tools/gen-manifest.py @@ -402,14 +402,23 @@ def build_label_entry( def read_stdlib_version() -> str: - """Read the most-recent versioned entry from CHANGELOG.md. + """Read the most-recent versioned entry from the changelog. Skips an `[Unreleased]` heading if present so the manifest's stdlib_version stays anchored to the last shipped tag while work accumulates against the next one. + + The changelog moved in commit 90e694e from `CHANGELOG.md` at the + repo root to `docs/tracking/changelog.md` (per the four-bucket + tracking-doc model). Look at the new path first, fall back to the + old one for back-compat with checkouts predating that commit. """ - changelog = REPO_ROOT / "CHANGELOG.md" - if not changelog.exists(): + candidates = ( + REPO_ROOT / "docs" / "tracking" / "changelog.md", + REPO_ROOT / "CHANGELOG.md", + ) + changelog = next((p for p in candidates if p.exists()), None) + if changelog is None: return "" for line in changelog.read_text(encoding="utf-8").splitlines(): m = re.match(r"^##\s*\[([^\]]+)\]", line)