Checks — or rewrites — the published version strings in the README, guides, and CHANGELOG.
The version appears in prose on surfaces release-please does not update: the
{:lattice_stripe, "~> MAJOR.MINOR"} install snippets and the "current release" lines.
test/lattice_stripe/docs_truth_test.exs derives its expectations from mix.exs, so when
the version is bumped without these surfaces following, CI fails. This task is the fixer
for that failure.
Usage
# Verify every surface matches mix.exs (the default):
mix lattice_stripe.version_prose
mix lattice_stripe.version_prose --check
# Rewrite drifted surfaces from mix.exs:
mix lattice_stripe.version_prose --updateExit codes
0— every surface matchesmix.exs100— prose drifted frommix.exs101— the tool could not run (bad flags, unreadable surface)
Same convention as mix lattice_stripe.api_surface, so CI can tell "the content is wrong"
from "the check itself broke".
Why this is safe to run in CI
Unlike the API surface lock, --update here is not a way to silence a real problem. The
version in mix.exs is the single source of truth and release-please owns it; this task
only propagates that value outward. There is no judgement call to launder, so the release
workflow runs --update on the release branch automatically.