Skip to content

Bump the conformance guard to docs v0.4.0, where its flag became --root - #24

Merged
tannevaled merged 1 commit into
mainfrom
bump-conformance-guard
Oct 21, 2026
Merged

tannevaled merged 1 commit into
mainfrom
bump-conformance-guard

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

The conformance guard this page runs moved to cobra in go-embedded-ruby/docs#36, so its flags are POSIX --long now.

-go run github.com/go-embedded-ruby/docs/tools/conformancefigure@v0.1.0 -root layouts
+go run github.com/go-embedded-ruby/docs/tools/conformancefigure@v0.4.0 --root layouts

⛔ The version and the flag move together, and that is the point

-root is not a shorter spelling of --root. pflag reads it as the cluster -r -o -o -t:

conformancefigure: unknown shorthand flag: 'r' in -root

A bump that changed only the version would have met that during some later upgrade with nothing to do with it — silent until an unrelated routine touch, which is the worst shape a breaking change can take. docs#33 was filed to make this wave deliberate instead of accidental.

Verified before bumping, not after

The tool at that version was run against this repository's layouts/:

4 current claim(s) checked against the gate's 23511

That check matters more than it looks. The vocabulary this tool matches on was extended for this page's HTML style (<b>23,511</b> … examples passing), and a vocabulary that stops matching reports no disagreement — indistinguishable from a page with no stale figures.

It is also why conformancefigure keeps its vocabulary control inside the tool, running on every invocation, rather than moving it into a _test.go as its sibling docexample did: this consumer runs go run …@vX and never runs that module's tests. A control living only in a test would have quietly stopped protecting this page.

The pin stays a tag

The comment above the step already explains why, and nothing here changes it: @main is whatever the module proxy last cached for the branch, and that lag once failed a branch whose figures were right.

🤖 Generated with Claude Code

The tool this step runs moved to cobra in go-embedded-ruby/docs#36, so its
flags are POSIX --long now.

⛔ THE VERSION AND THE FLAG MOVE TOGETHER, and that is the point. `-root` is not
a shorter spelling of `--root`: pflag reads it as the cluster -r -o -o -t, and
the step fails with

  conformancefigure: unknown shorthand flag: 'r' in -root

A bump that changed only the version would have met that during some later
upgrade with nothing to do with it -- which is the worst shape for a breaking
change, silent until an unrelated routine touch. docs#33 was filed to make this
wave deliberate instead.

VERIFIED BEFORE BUMPING, not after: the tool at that version was run against
this repository's layouts/ and reads this page's phrasing --

  4 current claim(s) checked against the gate's 23511

which matters because the vocabulary it uses was EXTENDED for this page's HTML
style ("<b>23,511</b> … examples passing"), and a vocabulary that stops matching
reports no disagreement, exactly like a page with no stale figures.

The same reason is why conformancefigure keeps its vocabulary control INSIDE the
tool rather than moving it to a _test.go as its sibling did: this consumer runs
`go run …@vX` and never runs that module's tests, so a control living only in a
test would have silently stopped protecting this page.

The pin stays a TAG. The comment above it already says why -- @main is whatever
the proxy last cached, and that lag once failed a branch whose figures were
right.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@tannevaled
tannevaled merged commit b688ae8 into main Oct 21, 2026
2 checks passed
@tannevaled
tannevaled deleted the bump-conformance-guard branch October 21, 2026 07:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant