chore: pin redocly and run it through bun - #456
Merged
Conversation
redocly was invoked from the path. It was declared in no .mise.toml, no package.json, and no tool directive, so the version came from whatever the developer happened to have installed -- and the versions differ in how they quote YAML scalars, so the combined spec changes under whoever runs just generate. bun is already declared in .mise.toml and bunx already runs prettier for the React app, so this follows the pattern md.just uses for mdformat: pin the version beside the recipe and run it through the package runner. Pinned to the version that produced the committed spec, so the combined spec is byte-identical and nothing regenerates. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #456 +/- ##
=======================================
Coverage 99.94% 99.94%
=======================================
Files 484 484
Lines 24935 24935
=======================================
Hits 24921 24921
Misses 14 14 Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes the last open task in
specify-agent-tool-invocation— "confirm every repository declares the tools its recipes invoke."The problem
redoclywas invoked bare from the path:It was declared in no
.mise.toml, nopackage.json, and no tool directive. The version came from whatever the developer happened to have installed — and versions differ in how they quote YAML scalars, so the committed combined spec changes under whoever runsjust generate. Nothing in CI runsgenerate, so this was invisible.The fix
bunis already declared in.mise.toml, andbunxalready runs prettier for the React app. So this follows the patternmd.justuses for mdformat — pin the version beside the recipe, run it through the package runner:redocly_version := "2.19.1" bunx @redocly/cli@{{ redocly_version }} join ...No
.mise.tomlnpm backend needed, and the version now lives in the repository rather than on a laptop.Zero regeneration
Pinned to the version that produced the committed spec, verified:
Diff is the justfile alone.
just just-fmt-checkpasses.Separate finding:
just generateis broken onmainNot caused by this change — reproduced on a clean checkout before it:
oapi-codegenregeneratesagent/genwith types the committed handler no longer matches, so the intermediate state does not compile andmockgenfails loading the package. It also churns 26 files before failing.The committed generated code is stale relative to the tool versions
go.modpins, and no CI job runsgenerate, so nobody found out. That is the same class of problem this PR fixes, one layer down — worth its own change rather than being folded in here.🤖 Generated with Claude Code