GSD Cursor Model Profiles (gsd-cursor) — EoS registry entry #2578
Replies: 1 comment
🧭 Expansion plan —
|
| Surface | Current state | Planned state |
|---|---|---|
| Registry ID | gsd-cursor |
unchanged |
| Repository | clezcoding/gsd-cursor |
unchanged |
| Author | clezcoding |
unchanged |
| Current release | v1.1.0 |
new immutable release after parity validation |
| Interface points | model, state |
command, dispatch, model, hooks, state, artifact |
| Current role | Cursor model profiles | complete Cursor EoS host integration, including the existing model profiles |
| Core baseline | partial external integration + first-party Cursor runtime | current v1.10.0 Cursor contract ported out of core |
| Earliest core target | — | v1.11.0, subject to implementation and review readiness |
📜 Contract snapshot to preserve
The implementation baseline is the current Cursor capability descriptor on next, version 1.10.0.
The external plugin must preserve the currently declared Cursor behavior:
Host-integration axes
| Axis | Contract |
|---|---|
embeddingMode |
imperative |
commandSurface |
slash-file |
modelMode |
passive |
hookBus |
host |
stateIO |
filesystem |
transport |
mcp |
runtime |
node |
effortSurface |
undocumented |
Dispatch behavior
- named dispatch
- nested dispatch
- maximum nested depth of
2 - background execution
- background dispatch
- full subagent toolkit
harness-worktreeisolation through--worktree
Cursor artifacts and host behavior
-
global and project-local skill projection
-
global and project-local agent projection
-
flat Cursor nesting
-
recursive skill conversion
-
Cursor-specific frontmatter conversion
-
.cursor/hooks.jsonintegration -
managed lifecycle events:
sessionStartpreToolUsepostToolUsestopsubagentStartsubagentStop
-
no shared settings writes
-
no duplicate shared-hook installation
-
no settings UI or update-banner command
-
cleanup of retired
.cursor/commands/gsd-*.mdartifacts -
preservation of the current
cursor-agentreviewer behavior, or an explicitly reviewed continuity path that ensures the--cursorreview surface is not stranded by the core removal
The existing six Cursor model profiles and their safe restore behavior remain part of the package; they are merged into the complete plugin rather than replaced.
🧱 Implementation and landing sequence
1. Port the current Cursor implementation
- Lift the current Cursor descriptor and host behavior from
v1.10.0/next. - Move Cursor-specific adapters, conversion behavior, artifact layout, hook handling, dispatch configuration, state handling, and migration cleanup into
clezcoding/gsd-cursor. - Bind all six host-interface points.
- Import only from the public
@opengsd/gsd-core/sdkentry. - Do not depend on private
gsd-coremodules or source-file paths. - Keep the GSD orchestration engine in
gsd-core. - Preserve the existing model-profile functionality and exact uninstall restoration semantics.
2. Prove parity and migration safety
- Descriptor/schema validation.
- SDK handshake and protocol-version validation.
- Contract tests for all six interface points.
- Global and project-local install tests.
- Named, nested, and background dispatch tests.
- Maximum-depth and worktree-isolation tests.
- Tests for all six managed hook events.
- Skill and agent conversion/projection tests.
- Model-profile installation and local-model validation tests.
- Update and
--reapplytests. - Migration test that retires legacy
.cursor/commands/gsd-*.mdartifacts without removing unrelated user files. - Exact backup/restore and uninstall tests.
- Reviewer continuity test for the current Cursor review surface.
- End-to-end smoke test using isolated temporary configuration directories so tests never touch a developer’s live Cursor or GSD configuration.
3. Publish the external release first
- Choose the release version after compatibility review.
- Pin and verify the supported GSD engine range.
- Publish an immutable GitHub release.
- Verify the registry install command from a clean environment.
- Verify update, reapply, and uninstall from a clean environment.
- Publish migration and rollback notes.
- Record the exact release tag and commit used for the registry entry.
4. Open the registry PR separately
The registry PR will:
- update exactly the existing
gsd-cursorobject indocs/registries/eos.json; - retain the same
id,repo,author, and this Discussion URL; - describe the complete released integration;
- list all six interface points;
- record the validated SDK-derived profile and authoritative axes;
- pin copy-pasteable install and uninstall commands to the tested release;
- retain
protocolVersion; - regenerate the registry Markdown with
npm run gen:registry; - pass
npm run validate:registryand the registry drift checks; - include a Changed changeset;
- avoid unrelated code or registry-entry changes.
5. Open the core removal/deprecation PR separately
Only after the external release and its registry metadata are reviewable, the core PR will:
- remove the first-party Cursor host descriptor and Cursor-only implementation branches that have been ported;
- preserve shared engine and SDK behavior;
- update tests, fixtures, generated surfaces, and documentation affected by the removal;
- include a clear migration note pointing users to
gsd-cursor; - prevent duplicate or stale Cursor installations;
- demonstrate parity with the released external plugin;
- keep the reviewer surface working through an explicitly reviewed continuity path;
- target
v1.11.0only if all implementation, migration, and review gates are satisfied.
✅ Acceptance gates
The transition is ready to land only when all of the following are true:
- No split installation: Cursor users install one package, not separate model-profile and host-integration packages.
- No behavioral regression: the released plugin covers the current
v1.10.0Cursor contract. - No data loss: install, update, reapply, migration, and uninstall preserve unrelated user configuration.
- No private-core dependency: the plugin consumes only the public SDK.
- No release-before-proof: the registry never points at an untested branch or mutable reference.
- No removal-before-replacement: core removal does not land before a functional, released, reviewable external replacement exists.
- No bundled governance change: registry update and core removal remain separate PRs.
- No reviewer regression: the current Cursor reviewer path remains available or receives an explicitly approved migration.
- No duplicate ID or package: the existing
gsd-cursorcontinuity path remains the single user-facing entry. - Fail-closed compatibility: unsupported SDK/protocol combinations produce a clear error rather than silently degrading.
🚫 Explicit non-goals
- No second Cursor EoS entry.
- No second package users must install alongside
gsd-cursor. - No rewrite of the GSD orchestration engine.
- No silent redesign of the inherited Cursor behavior during extraction.
- No hand-edited generated registry Markdown.
- No removal of the working core integration before the external release proves parity.
- No unrelated registry, capability, or documentation changes in either PR.
🔗 Continuity
This Discussion remains the long-term public record for:
- the existing model-profile integration;
- the complete Cursor host-plugin expansion;
- release and migration evidence;
- registry review;
- future compatibility reports and maintainer updates.
Implementation PRs and release notes will link back here so the transition remains auditable from intent through release and core deprecation.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Repository: https://github.com/clezcoding/gsd-cursor — A GSD EoS that adds six researched Cursor runtime profiles (max / hybrid / value / budget / frontier / openweight), writes current and legacy tier-map surfaces, routes all six GSD phases, validates local model availability, and restores prior managed settings on uninstall without modifying gsd-core. Current release: v1.1.0. Interface points: model + state; profile: declarative-cli; protocol: v1.
All reactions