From 75d9644d44ba998a32ed14c072e883a75145ab72 Mon Sep 17 00:00:00 2001
From: soryu <soryu@soryu.co>
Date: Fri, 16 Jan 2026 19:50:27 +0000
Subject: Add autopilot panel and retry system

---
 makima/frontend/src/components/contracts/ContractDetail.tsx | 7 +++++++
 1 file changed, 7 insertions(+)

(limited to 'makima/frontend/src/components/contracts/ContractDetail.tsx')

diff --git a/makima/frontend/src/components/contracts/ContractDetail.tsx b/makima/frontend/src/components/contracts/ContractDetail.tsx
index cf5f8f2..f93097a 100644
--- a/makima/frontend/src/components/contracts/ContractDetail.tsx
+++ b/makima/frontend/src/components/contracts/ContractDetail.tsx
@@ -18,6 +18,7 @@ import { PhaseHint } from "./PhaseHint";
 import { RepositoryPanel } from "./RepositoryPanel";
 import { ContractCliInput } from "./ContractCliInput";
 import { PhaseDeliverablesPanel } from "./PhaseDeliverablesPanel";
+import { AutopilotPanel } from "./AutopilotPanel";
 import { TaskTree } from "../mesh/TaskTree";
 
 type Tab = "overview" | "repos" | "files" | "tasks";
@@ -225,6 +226,7 @@ export function ContractDetail({
             onStatusChange={onStatusChange}
             onPhaseChange={onPhaseChange}
             onCreateFile={onCreateFileFromTemplate}
+            onRefresh={onRefresh}
           />
         )}
 
@@ -276,14 +278,19 @@ function OverviewTab({
   onStatusChange,
   onPhaseChange,
   onCreateFile,
+  onRefresh,
 }: {
   contract: ContractWithRelations;
   onStatusChange: (status: ContractStatus) => void;
   onPhaseChange: (phase: ContractPhase) => void;
   onCreateFile?: (templateId: string, suggestedName: string) => void;
+  onRefresh: () => void;
 }) {
   return (
     <div className="space-y-6">
+      {/* Autopilot controls */}
+      <AutopilotPanel contract={contract} onUpdate={onRefresh} />
+
       {/* Phase deliverables checklist */}
       <PhaseDeliverablesPanel
         contract={contract}
-- 
cgit v1.2.3

