From b3de779d87450033f1e0361144c621a1d5f1dbf8 Mon Sep 17 00:00:00 2001
From: soryu <soryu@soryu.co>
Date: Mon, 16 Feb 2026 17:59:38 +0000
Subject: Fix contracts page overflow, remove contract link from orders, add
 directive name (#65)

* feat: soryu-co/soryu - makima: Add frontend pick-up-orders button and API integration

* WIP: heartbeat checkpoint

* feat: soryu-co/soryu - makima: Remove contract link from orders and add directive name to order metadata (frontend)

* fix: contracts page overflow - use contained scrolling layout

Changed the contracts page to use contained scrolling matching the
orders/directives pages, preventing the page from growing beyond
viewport height.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: resolve completion_task_id FK violation and duplicate button

The completion_task_id column has an FK to tasks(id), but
claim_directive_for_completion was being called with a placeholder UUID
that did not exist in the tasks table, causing FK constraint violations.

Fix: Create the task FIRST via create_task_for_owner, then use the real
task.id when calling claim_directive_for_completion. Applied in all three
locations: phase_completion Part 1 (idle directives), Part 3 (verification
tasks), and trigger_completion_task (manual PR creation).

Also removes a duplicate "Pick Up Orders" button in DirectiveDetail.tsx.

* fix: restore Order type changes lost during rebase conflict resolution

Re-apply changes from the orders-refactor commit that were dropped when
resolving rebase conflicts with --ours:
- Replace contractId with directiveName in Order interface
- Make directiveId required in CreateOrderRequest
- Remove contractId from UpdateOrderRequest
- Change listOrders parameter from contractId to search
- Remove linkOrderToContract function
- Simplify convertOrderToStep to single argument

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
---
 makima/frontend/src/components/orders/OrderList.tsx | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

(limited to 'makima/frontend/src/components/orders/OrderList.tsx')

diff --git a/makima/frontend/src/components/orders/OrderList.tsx b/makima/frontend/src/components/orders/OrderList.tsx
index 76ac7a7..1d279f7 100644
--- a/makima/frontend/src/components/orders/OrderList.tsx
+++ b/makima/frontend/src/components/orders/OrderList.tsx
@@ -57,7 +57,8 @@ export function OrderList({
       (o) =>
         o.title.toLowerCase().includes(q) ||
         (o.description && o.description.toLowerCase().includes(q)) ||
-        o.labels.some((l) => l.toLowerCase().includes(q)),
+        o.labels.some((l) => l.toLowerCase().includes(q)) ||
+        (o.directiveName && o.directiveName.toLowerCase().includes(q)),
     );
   }, [orders, search]);
 
@@ -158,6 +159,11 @@ export function OrderList({
                   />
                   <span className="text-[12px] font-mono text-white truncate flex-1">
                     {o.title}
+                    {o.directiveName && (
+                      <span className="text-[9px] font-mono text-[#556677] truncate block">
+                        {o.directiveName}
+                      </span>
+                    )}
                   </span>
                 </div>
                 <div className="flex items-center gap-1.5 pl-4">
-- 
cgit v1.2.3

