Skip to content

Report marketplace uninstall failures and partial cleanup accurately #49

Description

@Railly

Context

The async uninstall path always reports success after attempting cleanup, even when the CLI fails. Directory and lockfile cleanup errors are also swallowed, so the UI can mark a skill removed while files or lock state remain.

Evidence:

  • src/marketplace.ts:419-424 returns success: true unconditionally.
  • src/marketplace.ts:299-320 swallows cleanup and lockfile errors.
  • src/views/marketplace-view.ts:216-223 trusts the returned success value.

Task

Track CLI removal, filesystem cleanup, and lockfile updates independently. Return success only when the verified final state is uninstalled, and expose partial failures to the UI.

Acceptance criteria

  • CLI failure plus failed cleanup returns failure.
  • Successful fallback cleanup is distinguishable from CLI success.
  • Partial failures identify the remaining paths or lock state.
  • The UI does not mark a skill removed on failure.
  • Tests cover success, fallback cleanup, and partial failure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions