Skip to content

Track installed skillsets in the project catalog #45

Description

@jon-devlapaz

Problem

The project catalog under $TINK_HOME/catalog/by-project records standalone skills only. Skillset add, refresh, and remove do not update it, so the catalog is not a complete record of managed project dependencies.

Relevant code: src/catalog.rs, standalone deposit in src/add.rs, and skillset lifecycle operations in src/skillsets.rs.

Proposed change

Extend the project catalog schema backward-compatibly with first-class skillset records, including the skillset name and enough installed identity to relate it to its receipt.

Lifecycle behavior:

  • add/no-op ensures the catalog record exists;
  • refresh preserves or updates the record atomically;
  • remove withdraws the skillset record;
  • project destroy removes all related records;
  • catalog listing distinguishes standalone skills from skillsets and members.

The catalog remains an index; the installed receipt remains authority for the exact pinned tree.

Acceptance

  • Adding a skillset creates one typed project-catalog record.
  • Refresh leaves a correct record after success and unchanged state after failure.
  • Remove and destroy withdraw the record.
  • Existing standalone-only catalog files continue to load.
  • Catalog output cannot double-count members as standalone dependencies.

Priority

P1 — lifecycle bookkeeping.

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 workingskillset-auditFindings from the 2026-08-09 skillset library audit

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions