Skip to content

chore: close and archive specify-agent-tool-invocation - #101

Merged
retr0h merged 1 commit into
mainfrom
chore/close-agent-tool-invocation
Aug 16, 2026
Merged

chore: close and archive specify-agent-tool-invocation#101
retr0h merged 1 commit into
mainfrom
chore/close-agent-tool-invocation

Conversation

@retr0h

@retr0h retr0h commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

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. osapi was missing uv (fixed in osapi-io/osapi#450), and redocly was declared nowhere at all.

What tracing redocly found

The shared docusaurus module was installing it globally and unpinned:

docusaurus-deps:
    cd {{ docusaurus_dir }} && bun install -g @redocly/cli

The 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 ran just deps — and no CI job runs generate, so nothing caught it. Measured on a real machine: 2.19.1 installed, 2.46.1 being served, different output.

Fixed as two changes:

Pinned 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.tomlgo, just, bun, uv. A payload it fetches is pinned where it is invoked.

mdformat forces that split rather than merely illustrating it: its GFM plugin must be injected into the same environment, which .mise.toml cannot express. Tested — mise-managed mdformat mangles every GFM table:

| A | B | | --- | --- | | 1 | 2 |

Remaining active changes

specify-go-code-standards (1 task — the export_test.go audit) and specify-documentation-homes (~14).

just test — 10 passed, 0 failed.

🤖 Generated with Claude Code

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>
@github-actions

Copy link
Copy Markdown

Thank you for contributing to this project! 😊🕹️

@retr0h
retr0h merged commit a3784e5 into main Aug 16, 2026
6 checks passed
@retr0h
retr0h deleted the chore/close-agent-tool-invocation branch August 16, 2026 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant