Skip to content

feat: model selection — antagonistic review + Cindi + Specialist Agents UI tab (Phase 1) #4110

Description

@mabry1985

Goal

Close the hardcoded-model gap in antagonistic review and Cindi content review. Add a "Specialist Agents" settings tab so operators can tune these models per project.

Current state (from audit 2026-04-15)

Hardcoded model strings block operator override at:

  • apps/server/src/services/antagonistic-review-service.ts:60 — adapter init (sonnet)
  • apps/server/src/services/antagonistic-review-service.ts:269 — Ava review (opus)
  • apps/server/src/services/antagonistic-review-service.ts:384 — Jon review (sonnet)
  • apps/server/src/services/antagonistic-review-service.ts:710,815 — resolution/fallback (haiku)
  • apps/server/src/services/lead-engineer-gtm-review-processor.ts:46 — Cindi review (sonnet)

Work

  1. Extend PhaseModelConfig in libs/types/src/agent-settings.ts with:
    • antagonisticReviewModels: { adapter, ava, jon, resolution } (all alias strings)
    • cindiReviewModel
  2. Add sensible defaults in DEFAULT_PHASE_MODELS matching current behavior (no regression on default install)
  3. Replace each hardcoded site above with getPhaseModelWithOverrides(settings, '<key>')
  4. Add a "Specialist Agents" tab/section to apps/ui/src/components/views/settings-view/model-defaults/ exposing all 5 new controls. Follow the existing ModelDefaultsSection pattern (label + helper text + dropdown).
  5. Tests: add unit coverage asserting that getPhaseModelWithOverrides returns the configured override for each new key.

Acceptance

  • Default install behaves identically (defaults match pre-change literals)
  • Setting antagonisticReviewModels.ava = "haiku" in .automaker/settings.json makes the Ava review call use haiku
  • UI shows all 5 new controls and persists changes to settings.json
  • Existing antagonistic-review tests still pass

Out of scope

  • Authority agents (PM/EM/GTM/Research) — tracked separately as Phase 2
  • Drift analysis / fact-store models — Phase 3

Sizing (fleet triage 2026-06-06): LARGE — new review-mode enum + pipeline wiring + Specialist-Agents settings UI; genuinely multi-component.

Promoted from the protoMaker board — was a board-only blocked feature with no GitHub issue (so it was invisible to issue tracking + the auto-close webhook). Board feature id: feature-1776218810276-kl92b44ni.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions