You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Harness profiles must key off transport/backend (+ provider), not model id alone. The same weights (e.g. Claude Opus) via Cursor SDK vs Anthropic API vs OpenRouter are different stacks: Cursor path gets Cursor harness + GodMode extras; pure API gets GodMode harness (provider-tuned), never Cursor runtime pieces.
Why
Vault work in #230 (subscription/SDK) and #231 (metered API keys) will add more backends. Without this, Intelligence will attach the wrong tool policy, sampling, and prompt deltas when users pick "the same model" through different auth paths.
Current behavior (partial)
apps/bridge/src/services/model-profiles/index.ts already resolves by source:
Summary
Harness profiles must key off transport/backend (+ provider), not model id alone. The same weights (e.g. Claude Opus) via Cursor SDK vs Anthropic API vs OpenRouter are different stacks: Cursor path gets Cursor harness + GodMode extras; pure API gets GodMode harness (provider-tuned), never Cursor runtime pieces.
Why
Vault work in #230 (subscription/SDK) and #231 (metered API keys) will add more backends. Without this, Intelligence will attach the wrong tool policy, sampling, and prompt deltas when users pick "the same model" through different auth paths.
Current behavior (partial)
apps/bridge/src/services/model-profiles/index.tsalready resolves bysource:cursor/cursor_cloud→ Cursor family (auto / composer / grok / generic)provider→ coarseanthropicvsopenailocal/remote→ local/remote profilesGodMode base harness is shared; deltas are transport-specific. Cursor also changes runtime (tools, MCP/
settingSources, resume), not only prompt text.Required design
Examples:
(cursor_cloud, *, claude-*)→ Cursor Claude/auto-style profile(provider, anthropic, claude-*)→ Anthropic API profile(provider, openai, gpt-*)→ OpenAI API profile(copilot_sdk, *, *)→ Copilot SDK family (when Core: Vault subscription-backed LLM providers (use your plan) #230 lands Copilot)(provider, openrouter, claude-*)→ OpenAI-compatible defaults + light family deltas as neededDo not create one profile per models.dev model. Prefer a small matrix: backends × a few model families, with a sane default per backend.
Acceptance
resolveProfileForAgent/ catalog selection always pass backend + provider; model id alone is never enoughRelated