Repository navigation
Conversation
ctawiah
added this pull request to stack #955
October 22, 2026 22:19
cursor
Bot
force-pushed
the
ctawiah/share-variation-selection-1e8a
branch
from
October 23, 2026 00:13
1bcb5f2 to
3dc9217
Compare
ctawiah
removed this pull request from stack #955
October 23, 2026 00:15
ctawiah
added this pull request to stack #960
October 23, 2026 00:16
This was referenced Oct 23, 2026
ctawiah
marked this pull request as ready for review
October 23, 2026 14:11
ctawiah
requested review from
ld-ahartmann and
nkester-ld
and removed request for
a team
October 23, 2026 14:11
cursor
Bot
force-pushed
the
ctawiah/share-variation-selection-1e8a
branch
from
October 23, 2026 14:27
3dc9217 to
65d8cc9
Compare
cursor
Bot
force-pushed
the
ctawiah/share-variation-selection-1e8a
branch
2 times, most recently
from
October 23, 2026 14:44
f37b1a8 to
b166011
Compare
cursor
Bot
force-pushed
the
ctawiah/share-variation-selection-1e8a
branch
from
October 23, 2026 14:56
b166011 to
5fa87f9
Compare
cursor
Bot
force-pushed
the
ctawiah/share-variation-selection-1e8a
branch
from
October 23, 2026 17:07
5fa87f9 to
0f34218
Compare
cursor
Bot
force-pushed
the
ctawiah/share-variation-selection-1e8a
branch
from
October 23, 2026 21:17
0f34218 to
3ca293a
Compare
cursor
Bot
force-pushed
the
ctawiah/share-variation-selection-1e8a
branch
from
October 23, 2026 21:26
3ca293a to
1b2ca0b
Compare
…before an add The config and model config questions of link, and its model config lookup, move into the create package as SelectConfig, SelectModelConfig, and FindModelConfig. link calls them, and keeps the key, name, and content form, because the defaults of that form come from the linked file. The behavior of link does not change. CheckNotSynced now also checks a variation for a local file and a sync.lock entry, and names sync prompts in its errors. ResourcePath and ResourceExists replace the tool and skill versions. A config read keeps the keys of its archived variations, so that a create can refuse one. The next change uses these to create a variation from the flags of sync prompts add.
cursor
Bot
force-pushed
the
ctawiah/share-variation-selection-1e8a
branch
from
October 23, 2026 21:39
1b2ca0b to
ce81c0b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Context
sync prompts linkcreates a variation whose prompt is in an external file. It asks for the project, the config, and the model config, or reads them from flags. The next PRs letsync prompts addcreate a variation from flags, with the same questions and lookups. This PR moves that shared code into thecreatepackage, and prepares two checks that the create needs. Behavior does not change. The variation create is in three PRs to keep each one small.What changes
create.SelectConfig,create.SelectModelConfig, andcreate.FindModelConfigreplace the same code inlink.linkcalls them, and keeps its key, name, and content form.create.Catalogreplaceslink.Catalog.bootstrap.CheckNotSyncedalso checks a variation for a local file and async.lockrow, and namessync promptsin its errors:local.ResourcePathandStore.ResourceExistsreplace the tool and skill versions, and work for every kind.bootstrap.SyncCommandnames the sync of a kind, andAddCommanduses it.Config.ArchivedVariationKeys.Variationsstill leaves them out, and the plan still treats them as absent.Design notes
link, because its defaults come from the linked file. The key comes from the file name, and the content question shows only when the file has no prompt.addasks for the key and the name with the forms that the tool and skill create already use.link_test.godoes not change. The newcreate/prompt_test.gotests the moved functions directly.ArchivedVariationKeyshas no caller in this PR. The next PR uses it to refuse a new variation whose key an archived variation holds, because LaunchDarkly returns409for that key.Review focus
linkwork exactly as before, in a terminal and with flags?Verification
go test ./...andgolangci-lint run(v2.9.0) pass.link_test.gopasses without edits.FindModelConfig, the missing-project error ofSelectConfig, the archived keys of a config, and the variation checks ofCheckNotSynced.ldcliand ranlinkwith flags against a stand-in for the LaunchDarkly API. The output is the same as before this PR. The flag-only script of the sync commands also gives the same output.linkin a terminal. The config question, the model config question, and the key and name form work as before.Related changes
This stack builds on #937 to #941, which are merged.
ctawiah/fix-prompt-tool-diff-5b1c)ctawiah/plan-referenced-attachments-1e8a)ctawiah/keep-unused-attachments-1e8a)ctawiah/add-attachments-1e8a)ctawiah/route-scopes-1e8a)ctawiah/scope-commands-1e8a)ctawiah/create-attachments-1e8a)ctawiah/create-attachment-flags-1e8a)ctawiah/share-variation-selection-1e8a)ctawiah/create-variations-1e8a)ctawiah/create-variation-flags-1e8a)Note
Overview
Refactors sync so new variation flows (project/config/model selection) live in
internal/sync/create, andsync prompts linkdelegates toSelectConfig,SelectModelConfig, andFindModelConfiginstead of duplicating that logic. Intended behavior for link is unchanged; link-specific key/name/content prompts stay inlink.Bootstrap / local prep for
sync prompts add:CheckNotSyncednow applies to variations as well as tools/skills (local file orsync.lock), with errors pointing atldcli sync prompts.SyncCommandcentralizes the per-kind sync CLI name;AddCommanduses it.ResourcePath/ResourceExistsreplace attachment-only helpers and cover all resource kinds.Catalog API: When unmarshaling a config, archived variations are still omitted from
Variations, but their keys are stored onArchivedVariationKeys(for a follow-up PR to block reusing archived keys).Reviewed by Cursor Bugbot for commit 1b2ca0b. Bugbot is set up for automated code reviews on this repo. Configure here.