mirror of
https://github.com/langchain-ai/docs.git
synced 2026-08-26 18:26:37 -04:00
3c51d3c5af
Vale was pinned in four places with three different versions, so prose could pass locally and fail in CI: - `.github/workflows/lint-prose.yml` installed 3.17.1 - `.mise.toml` pinned 3.12.0 - `Makefile` defaulted `VALE_VERSION` to v3.9.6 - `scripts/install-vale.sh` fell back to unpinned `brew install vale` on macOS and `jdkato/vale:latest` under Docker A macOS contributor therefore linted with whatever Homebrew last installed (3.18.0 on the machine this was found on) while CI gated on 3.17.1. Make `.mise.toml` the only pin. The Makefile, the install script, and the workflow now read the version from it, so a bump happens in one place. Keep 3.17.1, the version CI already enforces, so no new violations appear; bumping the engine is a separate decision. Also fix two latent bugs in `scripts/install-vale.sh`: - The release tag carries a "v" prefix but the asset filename does not, and the script interpolated the same string into both. With its own v3.9.6 default it requested `.../download/v3.9.6/vale_v3.9.6_Linux_64-bit.tar.gz`, which 404s. The version is now normalized and the two forms are built separately. - An existing `.bin/vale` short-circuited the install regardless of its version, so a stale binary was never replaced. The script now compares `vale --version` against the pin, and reuses a matching binary already on PATH rather than downloading a second copy. The unpinned Homebrew and Docker paths are gone; every platform now gets the pinned tarball, including macOS on both architectures. The version is read from a config file and interpolated into a download URL, so it is validated against a bare-semver pattern first. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>