Files
Clay Good 1fe56159c4 fix(tools): correct the Grok vendor-compat claim and close test gaps
Hardening pass on #1851.

The docs and the adapter comment claimed Grok's flat command scan skips
every vendor-compat directory, so a command could not register twice.
That holds for `.claude/`, which nests commands under `opsx/`, and for
`.agents/`, which no adapter writes commands into — but Cursor writes
flat `opsx-<id>.md`, which the scan does find, and each of those roots
can also hold an identical `openspec-*` skill. The copies differ only in
the frontmatter each tool needs, so the outcome was never wrong; the
stated reason was. Both places now describe the real shape.

Also:

- Adds the Grok row to `docs-lab/reference/supported-tools.md`, the
  source the published docs site renders. Without it the live page
  would not list the tool.
- Orders the `--tools` id list in docs/supported-tools.md to match
  AI_TOOLS, so it is now identical to the copy in docs/cli.md.
- Warns against naming your own Grok command `opsx-<workflow>.md`:
  Grok's flat scan means OpenSpec shares that directory with the user,
  and it owns those names.
- Drops the upstream source citations from the user-facing footnote,
  which is the wrong altitude for it; they remain in the adapter header.
- Asserts `available` on the Grok tool entry. Mutation testing found
  that flipping it to false removed Grok from the workset tool picker
  with a fully green suite, because the only test reading the field
  derives its expectation from AI_TOOLS itself.
- Guards the command-stem loop against an empty command set, and adds
  grok to the flat-invocation tool list in command-references tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 12:32:26 -05:00
..