Skip to content

fix(cli): omit marketplace aside when uninstalling grok-bot, dsh or opencode - #891

Open
Birfy wants to merge 1 commit into
mainfrom
fix/890-uninstall-marketplace-hint
Open

Birfy wants to merge 1 commit into
mainfrom
fix/890-uninstall-marketplace-hint

Conversation

@Birfy

@Birfy Birfy commented Nov 8, 2026

Copy link
Copy Markdown
Collaborator

Closes #890

uninstall's empty-state note no longer tells grok-bot, dsh, or OpenCode users to remove files via a host marketplace those hosts do not have. The marketplace aside stays only for Claude Code and Codex, which can be installed with /plugin install or codex plugin add and then leave nothing for this command to see.

Installing and then uninstalling is unchanged.

Verification

  • pytest -q tests/test_uninstall.py tests/test_changelog_fragments.py tests/test_install_host_aliases.py tests/test_install_empty_home.py tests/test_install_home_wins.py tests/test_grok_bot_host.py passed at the tip

…pencode

uninstall's empty-state note claimed every host might have files from its
own marketplace. That is only true for Claude Code and Codex; grok-bot,
dsh and OpenCode are wired solely by agentdescent install.

Closes #890
@Birfy

Birfy commented Nov 8, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS
Tip SHA: e887a08

Ran: pytest -q tests/test_uninstall.py tests/test_changelog_fragments.py tests/test_install_host_aliases.py tests/test_install_empty_home.py tests/test_install_home_wins.py tests/test_grok_bot_host.py at the tip → passed. Empty uninstall for grok-bot / dsh / opencode is nothing to remove: agentdescent is not installed for {host} with no marketplace aside; claude-code and Codex keep the existing marketplace / plugin-command note. Install-then-uninstall behaviour is unchanged.

risk_gate: T3 (path agentdescent/integrations/__init__.py; 65 lines / 3 files). No CHANGES REQUESTED. AGENT_PAUSE=false. Not merging — T3 waits for Danyang's click / 都合了.

@Birfy

Birfy commented Nov 8, 2026

Copy link
Copy Markdown
Collaborator Author

Verdict: PASS
Tip SHA: e887a08
Ran: pytest -q tests/test_uninstall.py tests/test_changelog_fragments.py tests/test_install_host_aliases.py tests/test_install_empty_home.py tests/test_install_home_wins.py tests/test_grok_bot_host.py (all passed)
Not run: full CI matrix on GitHub Actions (in progress at review time)

This correctly special-cases the empty-state uninstall note. uninstall already calls canonical_host before _empty_uninstall_note, and the five HOSTS keys stay hyphenated (claude-code, grok-bot, and so on), so host in ("claude-code", "codex") matches the names doctor already treats as marketplace-capable.

grok-bot, dsh, and opencode get only nothing to remove: agentdescent is not installed for {host}, which matches #890 and the fact that those hosts are wired solely by agentdescent install. Claude Code and Codex keep the marketplace aside. What uninstall deletes when files are present is unchanged.

Tests cover the API empty state for all five hosts plus the grok-bot CLI (plain and --json), and the changelog fragment is present. risk_gate reports T3 because agentdescent/integrations/** is a T3 path (65 lines / 3 files); this waits for Danyang's merge click rather than an auto-squash.

@github-actions github-actions Bot added the risk:T3 Risk tier T3 (core loop, release, process; needs Danyang's click), set by the controller label Nov 8, 2026

This branch has not been deployed

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

Labels

risk:T3 Risk tier T3 (core loop, release, process; needs Danyang's click), set by the controller

Projects

None yet

Development

Successfully merging this pull request may close these issues.

uninstall: grok-bot, dsh and opencode empty-state mentions a host marketplace they do not have

1 participant