Skip to content

Core: Harness profiles keyed by backend/transport (SDK vs API) #232

Description

@ReBoticsAI

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.ts already resolves by source:

  • cursor / cursor_cloud → Cursor family (auto / composer / grok / generic)
  • provider → coarse anthropic vs openai
  • local / remote → local/remote profiles

GodMode base harness is shared; deltas are transport-specific. Cursor also changes runtime (tools, MCP/settingSources, resume), not only prompt text.

Required design

profile = f(backend, provider?, modelFamily?)

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 needed

Do not create one profile per models.dev model. Prefer a small matrix: backends × a few model families, with a sane default per backend.

Acceptance

  • Document the matrix (backend × provider × family → profile) for operators/devs
  • resolveProfileForAgent / catalog selection always pass backend + provider; model id alone is never enough
  • Adding a Core: Vault subscription-backed LLM providers (use your plan) #230 subscription card or Core: Vault metered API-key BYOK providers #231 API card includes a harness family (or explicit default) in the PR checklist
  • Regression: Claude (or equivalent) via Cursor vs via Anthropic API resolve to different profile ids / harness deltas
  • Shared GodMode base harness stays common; Cursor-only runtime features stay off pure API backends

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    coreControl Center Core roadmapenhancementNew feature or requesttrack-bPriority track B: secure multi-tenant VPS/SaaS

    Projects

    Status
    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions