Skip to content

feat: replace name-based model specifiers with IDs#117

Merged
angeloashmore merged 2 commits intoaa/remote-modelingfrom
aa/id-based-specifiers
Apr 10, 2026
Merged

feat: replace name-based model specifiers with IDs#117
angeloashmore merged 2 commits intoaa/remote-modelingfrom
aa/id-based-specifiers

Conversation

@angeloashmore
Copy link
Copy Markdown
Member

@angeloashmore angeloashmore commented Apr 10, 2026

Resolves: #105

Description

Replace name-based model specifiers with IDs in all modeling commands. Slice commands now resolve by id instead of name, content type commands resolve by id instead of label, and variation commands resolve by id instead of name.

Checklist

  • A comprehensive Linear ticket, providing sufficient context and details to facilitate the review of the PR, is linked to the PR.
  • If my changes require tests, I added them.
  • If my changes affect backward compatibility, it has been discussed.
  • If my changes require an update to the CONTRIBUTING.md guide, I updated it.

Preview

How to QA 1


Note

Medium Risk
This changes CLI arguments for many modeling commands from name/label-based lookups to ID-based lookups, which is a backward-incompatible behavior change and may break existing scripts. Logic changes are straightforward but touch multiple commands and shared model resolution paths.

Overview
Model targeting is now ID-based across the CLI. Slice commands (add-variation, connect/disconnect, edit, remove, view, and variation edit/remove) now resolve the target slice/variation via id rather than name.

Content type commands follow the same shift. Type commands (edit, remove, view, tab add/edit/remove) now resolve content types via id rather than label, and shared field-model resolution in src/models.ts updates --to-*/--from-* options and lookups accordingly.

Tests and --help expectations are updated throughout to pass IDs and assert the new output/messages.

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

Footnotes

  1. Please use these labels when submitting a review:
    ❓ #ask: Ask a question.
    💡 #idea: Suggest an idea.
    ⚠️ #issue: Strongly suggest a change.
    🎉 #nice: Share a compliment.

angeloashmore and others added 2 commits April 10, 2026 23:24
Slice commands now resolve by `id` instead of `name`, content type
commands resolve by `id` instead of `label`, and variation commands
resolve by `id` instead of `name`.

Closes #105

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The "current" prefix was a holdover from name-based specifiers where
names could change. IDs are immutable, so the prefix is unnecessary.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@angeloashmore angeloashmore merged commit 774a581 into aa/remote-modeling Apr 10, 2026
22 of 23 checks passed
@angeloashmore angeloashmore deleted the aa/id-based-specifiers branch April 10, 2026 23: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.

1 participant