From 3ea2c72e2c50c0d73614d9ac82f41508b6ab1ce4 Mon Sep 17 00:00:00 2001 From: soryu Date: Sat, 31 Jan 2026 22:17:09 +0000 Subject: Add auto_merge_local option for local-only contracts (#50) When local_only=true on a contract, all completion actions are skipped. This adds a new option auto_merge_local that, when enabled along with local_only, will automatically merge completed task changes to the master/main branch locally (without pushing or creating PRs). Changes: - Add auto_merge_local column to contracts table (migration) - Add auto_merge_local field to Contract model and summary - Update CreateContractRequest and UpdateContractRequest structs - Update contract repository create/update functions - Add auto_merge_local to WebSocket protocol StartTask command - Pass auto_merge_local through spawn_task and run_task functions - Modify task manager completion logic: if local_only=true AND auto_merge_local=true, execute 'merge' completion action locally - Update all server handlers to retrieve and pass auto_merge_local - Add TypeScript types to frontend components Co-authored-by: Claude Opus 4.5 --- frontend/src/components/ContractDetail.tsx | 2 ++ frontend/src/components/ContractList.tsx | 2 ++ 2 files changed, 4 insertions(+) (limited to 'frontend') diff --git a/frontend/src/components/ContractDetail.tsx b/frontend/src/components/ContractDetail.tsx index 72527ce..135c313 100644 --- a/frontend/src/components/ContractDetail.tsx +++ b/frontend/src/components/ContractDetail.tsx @@ -28,6 +28,8 @@ interface Contract { contract_type: string phase: string status: string + localOnly?: boolean + autoMergeLocal?: boolean version: number created_at: string } diff --git a/frontend/src/components/ContractList.tsx b/frontend/src/components/ContractList.tsx index 77012db..d6b332c 100644 --- a/frontend/src/components/ContractList.tsx +++ b/frontend/src/components/ContractList.tsx @@ -8,6 +8,8 @@ interface ContractSummary { contract_type: string phase: string status: string + localOnly?: boolean + autoMergeLocal?: boolean file_count: number task_count: number repository_count: number -- cgit v1.2.3