chore: close and archive specify-agent-tool-invocation - #101
Merged
Conversation
The last task was to confirm every repository declares the tools its recipes invoke. Six of seven did. redocly was declared nowhere, and tracing it found why: the shared docusaurus module installed it globally and unpinned, so the binary sat on the developer's path and its version was whatever the registry served that day. Redocly versions quote YAML scalars differently, so the combined specification a repository commits depended on when its author last ran just deps. Nothing in continuous integration runs generate, so it never surfaced. Fixed as two changes: the module stops installing a global, and osapi pins the version where it invokes it, through bunx. Pinned to the version that produced the committed specification, so nothing regenerates. The same pass removed the last npx invocation in any module. Its delta was already in the corpus. Compared before moving. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Thank you for contributing to this project! 😊🕹️ |
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.
Third of the in-flight changes to finish. All tasks checked, all four artifacts done, delta already in the corpus and verified before moving.
The last task
"Confirm every repository declares the tools its recipes invoke." Six of seven did.
osapiwas missinguv(fixed in osapi-io/osapi#450), andredoclywas declared nowhere at all.What tracing redocly found
The shared
docusaurusmodule was installing it globally and unpinned:docusaurus-deps: cd {{ docusaurus_dir }} && bun install -g @redocly/cliThe binary went to the developer's
PATH, not the project, at whatever version the registry served that day. Since redocly versions quote YAML scalars differently, the combined OpenAPI spec a repository commits depended on when its author last ranjust deps— and no CI job runsgenerate, so nothing caught it. Measured on a real machine: 2.19.1 installed, 2.46.1 being served, different output.Fixed as two changes:
npxinvocation in any module becomesbunxosapipins the version where it invokes it, viabunx @redocly/cli@2.19.1Pinned to the version that produced the committed spec, so it is byte-identical and nothing regenerates.
The distinction it settled
A runner is declared in
.mise.toml—go,just,bun,uv. A payload it fetches is pinned where it is invoked.mdformatforces that split rather than merely illustrating it: its GFM plugin must be injected into the same environment, which.mise.tomlcannot express. Tested — mise-managedmdformatmangles every GFM table:Remaining active changes
specify-go-code-standards(1 task — theexport_test.goaudit) andspecify-documentation-homes(~14).just test— 10 passed, 0 failed.🤖 Generated with Claude Code