Skip to content

feat: per-slot model and effort overrides #397

Description

@yicheng47

Motivation

Slot-level agent customization is incomplete: a runner template pins model + effort and direct chats can override both, but a crew slot can only override the runtime — the model chip is gated behind a runtime override (UI and backend: resolve_runtime_override early-returns without one, and mission spawns pass None for effort), and effort has no slot column at all. A slot should describe the complete agent configuration for that seat, with the runner template as the default.

Scope

  • slots.effort_override column + plumbing (commands, MCP slot_update, types).
  • Resolver rework: model/effort overrides apply without a runtime override; runtime override still resets model/effort to the new engine's defaults before slot overrides apply; pinned stays runtime-only.
  • Mission spawn passes the slot's effort override.
  • Crew editor slot rows: model and effort chips always visible, dim when inheriting / accent when overridden; effort resets with engine changes like model does.

Implementation Phases

  1. Backend — migration, plumbing, resolver + spawn wiring, rust tests.
  2. Frontend — ungated model chip + effort chip, reset semantics, vitest.
  3. Docs — refresh stale feature-41 assumptions if referenced.

Spec: docs/features/59-slot-model-effort-overrides.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Annoying — fix when convenientfeatureFeature work tracked in docs/features/

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions