Skip to content

feat(sync): add searchable attachment API foundation - #839

Open
ctawiah wants to merge 1 commit into
ctawiah/AIC-3485/prompt-fingerprint-round-tripsfrom
ctawiah/sync-attachment-foundation
Open

ctawiah wants to merge 1 commit into
ctawiah/AIC-3485/prompt-fingerprint-round-tripsfrom
ctawiah/sync-attachment-foundation

Conversation

@ctawiah

@ctawiah ctawiah commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Context

This stack adds support for attaching LaunchDarkly tools and skills to prompt variations that are synchronized with repository files. This first layer adds the API and interactive search behavior the rest of the stack builds on. It does not write attachment files or change how variations are reconciled yet.

What changes

  • Uses the existing sync API client for projects, configs, model configs, tools, and skills.
  • Searches projects, configs, tools, and skills through their backend APIs instead of loading every result before showing a selection.
  • Adds a shared paginated search prompt that keeps filtering and scrolling consistent across sync flows.
  • Defines the common tool and skill shapes used by later layers.
  • Adds API operations for reading, searching, creating, and updating tools and skills.
  • Shows stable resource keys clearly when users select projects, configs, and variations.

Review focus

  • Does the shared search flow work cleanly for projects, configs, tools, and skills?
  • Are backend filters and pagination passed through correctly?
  • Do the attachment API types include only the data later sync layers need?
  • Is this layer independent from local attachment storage and reconciliation?

Verification

  • go test ./internal/sync/api ./internal/sync/interactive ./internal/sync/bootstrap ./internal/sync/link ./internal/sync/prompt
  • go test ./...
  • git diff --check

Related changes

Review the stack in this order:

  1. Confirm destructive watch actions
  2. Guarantee prompt fingerprint convergence
  3. Add searchable attachment API foundations
  4. Reconcile variation attachments
  5. Attach tools and skills to variations
  6. Render attachment-aware review output
  7. Safely clean unreferenced attachments
  8. Persist sync manifests in LaunchDarkly

Note

Overview
Adds the sync API and UX foundation for versioned AI tools and skills, and shifts catalog picking from “load everything” to server-filtered, paginated search.

The unified Client now exposes SearchProjects, SearchConfigs, and new SearchAttachments / ReadAttachment / CreateAttachment / UpdateAttachment against ai-tools and ai-configs/skills, with tool search results re-fetched so the UI always shows the latest version. Domain types Tool, Skill, and Attachment land in resource.go for later reconciliation layers.

Bootstrap and link flows use a shared SearchSelect TUI (/ to search, load more, alt-screen forms) instead of preloading full project/config lists; config search can pass mode filters (e.g. link respects prompt mode). IsNotFound and shared mutation/status helpers support attachment error handling in follow-up PRs.

Reviewed by Cursor Bugbot for commit d49b3db. Bugbot is set up for automated code reviews on this repo. Configure here.

@ld-ahartmann ld-ahartmann left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

not diving too deep but all looks reasonable here

@ctawiah
ctawiah force-pushed the ctawiah/sync-attachment-foundation branch from fc0160e to 171d01b Compare October 7, 2026 15:41
@ctawiah
ctawiah force-pushed the ctawiah/sync-attachment-foundation branch from 171d01b to d49b3db Compare October 7, 2026 15:44
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.

2 participants