From aee6cda5fc8c44ebc45b274d07a1ed64052e3699 Mon Sep 17 00:00:00 2001 From: soryu Date: Tue, 17 Feb 2026 16:48:39 +0000 Subject: feat: smart cleanup, order linking, and improved PR titles (#69) * feat: soryu-co/soryu: Reorder navigation: move Orders before Contracts * feat: soryu-co/soryu: Generate PR titles from step content instead of directive title * feat: soryu-co/soryu: Add orderId field to step creation and link orders to steps * feat: soryu-co/soryu: Handle completed orders during plan-orders flow * WIP: heartbeat checkpoint * Merge origin/makima/soryu-co-soryu--handle-completed-orders-during-pla-5aa9a15b (resolved conflicts) --- .../src/components/directives/DirectiveDetail.tsx | 25 +++++++++------------- 1 file changed, 10 insertions(+), 15 deletions(-) (limited to 'makima/frontend/src/components/directives/DirectiveDetail.tsx') diff --git a/makima/frontend/src/components/directives/DirectiveDetail.tsx b/makima/frontend/src/components/directives/DirectiveDetail.tsx index c9dac37..98940d0 100644 --- a/makima/frontend/src/components/directives/DirectiveDetail.tsx +++ b/makima/frontend/src/components/directives/DirectiveDetail.tsx @@ -25,7 +25,7 @@ interface DirectiveDetailProps { onUpdate: (req: UpdateDirectiveRequest) => void; onDelete: () => void; onRefresh: () => void; - onCleanupTasks: () => void; + onCleanup: () => void; onPickUpOrders: () => Promise<{ message: string; orderCount: number; taskId: string | null } | null>; onCreatePR: () => Promise; } @@ -42,7 +42,7 @@ export function DirectiveDetail({ onUpdate, onDelete, onRefresh, - onCleanupTasks, + onCleanup, onPickUpOrders, onCreatePR, }: DirectiveDetailProps) { @@ -66,9 +66,6 @@ export function DirectiveDetail({ const completedSteps = directive.steps.filter((s) => s.status === "completed").length; const totalSteps = directive.steps.length; const progress = totalSteps > 0 ? Math.round((completedSteps / totalSteps) * 100) : 0; - const terminalStatuses = new Set(["completed", "failed", "skipped"]); - const hasTerminalTasks = directive.steps.some((s) => s.taskId && terminalStatuses.has(s.status)); - // Get pending questions for this directive's tasks const { pendingQuestions, submitAnswer } = useSupervisorQuestions(); const directiveTaskIds = useMemo(() => { @@ -325,17 +322,15 @@ export function DirectiveDetail({ > Update Goal + )} - {hasTerminalTasks && ( - - )} {completedSteps > 0 && !directive.completionTaskId && ( -- cgit v1.2.3