diff options
| author | soryu <soryu@soryu.co> | 2026-01-31 22:17:09 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-31 22:17:09 +0000 |
| commit | 3ea2c72e2c50c0d73614d9ac82f41508b6ab1ce4 (patch) | |
| tree | fbbd53c9e39d9af9dc0e92af5866dd9e3589bf2d /frontend | |
| parent | c526f93aa4255cb581eeb3f7a495c1689683b0a2 (diff) | |
| download | soryu-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.tsx | 2 | ||||
| -rw-r--r-- | frontend/src/components/ContractList.tsx | 2 |
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 |
