fix: three ix commands referenced that do not exist - #13
Conversation
Checked every `ix` command this plugin names against the CLI's actual
registration — 37 OSS commands, 13 Pro stubs, and the 59 commands @ix/pro
registers on its origin/main. Three did not resolve.
`ix connect` — never existed. There is no `connect` command anywhere in the
CLI's history. It appeared five times, and every one was user-facing
remediation shown at the moment something was already broken:
tools/ix-health.ts:57 "ix CLI not found" recovery block
tools/ix-ingest.ts:163 "Could not determine graph state"
tools/ix-ingest.ts:212 "ix CLI not found" recovery block
TOOL_CONTRACT.md:238 documented recovery
commands/ix-architecture.md:14 "ix graph unavailable" stop instruction
All now point at `ix docker start` (and `ix status` to confirm), which is what
the CLI itself prints for an unreachable backend, so the plugin and the tool
agree.
`ix goals` — the command is `goal`, singular. `goals` was dropped from @ix/pro
in Ix-pro#103 ("drop duplicate top-level commands (approve, reject, goals)") and
the OSS stub was removed in Ix#327, so it resolves nowhere. commands/ix-plan.md
ran it directly, so that step could only ever return nothing. Replaced with
`ix goal list`.
`ix docs` — documentation only, and inaccurate. PLUGIN_SPEC.md and ROADMAP.md
described ix-docs-tool as calling an `ix docs` CLI command; it does not, and no
such command exists. The tool posts to /v2/ix_query with mode "docs". The docs
now say what the code does.
The three PluginHookContract test failures are pre-existing — verified identical
on main (88 pass / 3 fail both ways).
KageBinary
left a comment
There was a problem hiding this comment.
Reviewed. Three separate corrections here, and two of them are clearly right:
ix connect→ix docker start. Correct —connectis not a registered command in either the OSS CLI or@ix/pro, whiledockeris. Good catch that this appeared in the recovery instructions, i.e. exactly when the user is already stuck.ix docs→ runtime-only. Correct —docsis not a registered command either, so documentingix-docs-toolas backed byPOST /v2/ix_querymode"docs"with no CLI equivalent matches reality.
ix goals → ix goal list needs the same correction I left on ix-claude-plugin#31. goals is a real, fully implemented Pro command (Ix-pro/src/cli/commands/goals.ts — .command("goals") with --status, --format, and an action calling client.listGoals()), not an alias. I ran both forms against a Pro-loaded install and they behave identically.
The genuine gap is on the OSS side: PRO_COMMANDS in ix-cli/src/cli/register/oss.ts lists goal but not goals, even though bugs, plans and tasks are all there. So on an OSS install ix goals fails as "unknown command" rather than the documented requires Ix Pro. stub.
The change is fine to keep — ix goal list works and avoids the gap — but the real one-line fix belongs in the Ix repo. Flagging so the reasoning doesn't get recorded as "ix goals doesn't exist", which isn't the case.
One inconsistency worth a look: commands/ix-plan.md uses --format llm here, where the Claude plugin uses --format json for the same call. Intentional?
I checked every
ixcommand this plugin names against the CLI's actual registration — 37 OSS commands, 13 Pro stubs, and the 59 commands@ix/proregisters on itsorigin/main. Three did not resolve.ix connect— never existedThere is no
connectcommand anywhere in the CLI's history. It appeared five times, and every one was user-facing remediation shown at the moment something was already broken:tools/ix-health.ts:57tools/ix-ingest.ts:163tools/ix-ingest.ts:212TOOL_CONTRACT.md:238commands/ix-architecture.md:14So a user whose backend was down got told to run a command that doesn't exist. All now point at
ix docker start(andix statusto confirm) — what the CLI itself prints for an unreachable backend, so plugin and tool agree.ix goals— the command isgoal, singularDropped from
@ix/proin Ix-pro#103 "drop duplicate top-level commands (approve, reject, goals)", and the OSS stub was removed in ix-infrastructure/Ix#327 — so it resolves nowhere.commands/ix-plan.md:65ran it directly, so that step could only ever return nothing. The failure is silent: no error surfaces, the goal context just comes back empty. Replaced withix goal list.ix docs— documentation only, and wrongPLUGIN_SPEC.mdandROADMAP.mddescribedix-docs-toolas calling anix docsCLI command. It doesn't, and no such command exists — the tool posts to/v2/ix_querywithmode: "docs". The code was right; the docs were wrong. They now say what the code does.Verification
Re-ran the sweep after the edits: every
ixcommand referenced now resolves.The three
PluginHookContractfailures are pre-existing — verified identical onmain(88 pass / 3 fail both ways), so nothing here caused or fixed them.Note
This plugin does not have the Pro-probe bug that the claude, codex, gemini and openclaw plugins share (ix-claude-plugin#32, ix-codex-plugin#12, ix-gemini-plugin#20, ix-openclaw-plugin#26) — it has no
--help-based Pro detection at all.