Skip to content

Tolerate corrupted entries in multi-item listings with diagnostics instead of aborting #64

Description

@jon-devlapaz

Problem

When listing library skillsets with tink skillset list --library, if any single entry in $TINK_HOME/skills/ fails validation (e.g. Skillset tree digest mismatch: /Users/.../.tink/skills/common-skills-skillset), the command immediately fails with exit code 1 and aborts.

As a result:

  • Healthy, working library skillsets are completely hidden from the user and agent.
  • Automated agents cannot discover available skillsets because one legacy or modified tree aborts the entire query.
  • No actionable hint or remedy is suggested for repairing or bypassing the corrupted entry.

Proposed change

  1. Make multi-item queries (tink skillset list, tink skill list) resilient to individual item validation failures.
  2. In human output, list healthy items and print a diagnostic warning block for failed/corrupted items.
  3. In machine output (--json), include an item status (e.g., status: "valid" vs status: "digest_mismatch" with diagnostic details).
  4. Provide actionable guidance in the diagnostic (e.g. suggest tink skillset refresh <name> or removing the invalid directory).

Acceptance

  • tink skillset list --library does not abort when one entry has a digest mismatch.
  • Healthy skillsets are listed successfully.
  • Corrupted entries are reported with clear diagnostic warning output.
  • Exit code distinguishes partial success with warnings from total failure.

Activity

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

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