summaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-31 22:17:09 +0000
committerGitHub <noreply@github.com>2026-01-31 22:17:09 +0000
commit3ea2c72e2c50c0d73614d9ac82f41508b6ab1ce4 (patch)
treefbbd53c9e39d9af9dc0e92af5866dd9e3589bf2d /frontend
parentc526f93aa4255cb581eeb3f7a495c1689683b0a2 (diff)
downloadsoryu-3ea2c72e2c50c0d73614d9ac82f41508b6ab1ce4.tar.gz
soryu-3ea2c72e2c50c0d73614d9ac82f41508b6ab1ce4.zip
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 <noreply@anthropic.com>
Diffstat (limited to 'frontend')
-rw-r--r--frontend/src/components/ContractDetail.tsx2
-rw-r--r--frontend/src/components/ContractList.tsx2
2 files changed, 4 insertions, 0 deletions
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