Skip to content

fix: three ix commands referenced that do not exist - #13

Open
KageBinary wants to merge 1 commit into
mainfrom
fix/dead-command-references
Open

fix: three ix commands referenced that do not exist#13
KageBinary wants to merge 1 commit into
mainfrom
fix/dead-command-references

Conversation

@KageBinary

Copy link
Copy Markdown
Collaborator

I 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:

site context
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

So a user whose backend was down got told to run a command that doesn't exist. All now point at ix docker start (and ix status to confirm) — what the CLI itself prints for an unreachable backend, so plugin and tool agree.

ix goals — the command is goal, singular

Dropped from @ix/pro in 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:65 ran 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 with ix goal list.

ix docs — documentation only, and wrong

PLUGIN_SPEC.md and ROADMAP.md described ix-docs-tool as calling an ix docs CLI command. It doesn't, and no such command exists — the tool posts to /v2/ix_query with mode: "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 ix command referenced now resolves.

The three PluginHookContract failures are pre-existing — verified identical on main (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.

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 KageBinary left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed. Three separate corrections here, and two of them are clearly right:

  • ix connectix docker start. Correct — connect is not a registered command in either the OSS CLI or @ix/pro, while docker is. Good catch that this appeared in the recovery instructions, i.e. exactly when the user is already stuck.
  • ix docs → runtime-only. Correct — docs is not a registered command either, so documenting ix-docs-tool as backed by POST /v2/ix_query mode "docs" with no CLI equivalent matches reality.

ix goalsix 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?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant