diff --git a/web/src/components/projects/integration-form.tsx b/web/src/components/projects/integration-form.tsx
index 668daaea..8b28dc55 100644
--- a/web/src/components/projects/integration-form.tsx
+++ b/web/src/components/projects/integration-form.tsx
@@ -546,7 +546,7 @@ function SCMTab({
/>
diff --git a/web/src/components/projects/pm-wizard-common-steps.tsx b/web/src/components/projects/pm-wizard-common-steps.tsx
index e9ac410a..71bac5e7 100644
--- a/web/src/components/projects/pm-wizard-common-steps.tsx
+++ b/web/src/components/projects/pm-wizard-common-steps.tsx
@@ -300,7 +300,7 @@ export function SaveStep({
diff --git a/web/src/components/projects/project-agent-configs.tsx b/web/src/components/projects/project-agent-configs.tsx
index dd998781..7d907083 100644
--- a/web/src/components/projects/project-agent-configs.tsx
+++ b/web/src/components/projects/project-agent-configs.tsx
@@ -13,6 +13,7 @@ import {
SelectTrigger,
SelectValue,
} from '@/components/ui/select.js';
+import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs.js';
import {
AGENT_LABELS,
CATEGORY_LABELS,
@@ -22,7 +23,6 @@ import {
import { trpc, trpcClient } from '@/lib/trpc.js';
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
import { Link } from '@tanstack/react-router';
-import { ChevronDown, ChevronRight } from 'lucide-react';
import { useEffect, useMemo, useRef, useState } from 'react';
import { toast } from 'sonner';
@@ -40,19 +40,6 @@ interface Engine {
label: string;
}
-function AgentConfigBadge({ config }: { config: AgentConfig | null }) {
- if (!config) {
- return
Using defaults;
- }
- const parts: string[] = [];
- if (config.model) parts.push(config.model);
- if (config.maxIterations) parts.push(`${config.maxIterations} iterations`);
- if (config.maxConcurrency) parts.push(`max ${config.maxConcurrency} concurrent`);
- if (config.agentEngine) parts.push(config.agentEngine);
- if (parts.length === 0) return
Configured;
- return
{parts.join(' ยท ')};
-}
-
// ============================================================================
// Definition-Based Agent Section (New)
// ============================================================================
@@ -99,7 +86,6 @@ function DefinitionAgentSection({
onTriggerToggle,
onTriggerParamChange,
}: DefinitionAgentSectionProps) {
- const [expanded, setExpanded] = useState(false);
const [saved, setSaved] = useState(false);
const savedTimerRef = useRef
| null>(null);
// Tracks whether a successful save is in flight (prevents config sync from clearing "Saved")
@@ -199,160 +185,134 @@ function DefinitionAgentSection({
};
return (
-
- {/* Header */}
-