diff --git a/docs/ADRs/0045-forge-portable-harness-schema.md b/docs/ADRs/0045-forge-portable-harness-schema.md index 9683fb6846..e17b4f48f0 100644 --- a/docs/ADRs/0045-forge-portable-harness-schema.md +++ b/docs/ADRs/0045-forge-portable-harness-schema.md @@ -442,7 +442,6 @@ harness files: | `inference` | Inference provider (vertex, etc.) | | `defaults.roles` | Which roles are active by default for new repos | | `defaults.max_implementation_retries` | Org-wide retry policy | -| `defaults.auto_merge` | Org-wide auto-merge policy | | `repos` | Per-repo enabled/disabled and role overrides | | `allowed_remote_resources` | URL allowlist for remote harness resources | diff --git a/internal/config/config.go b/internal/config/config.go index f91588696f..67c39d7d0d 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -123,14 +123,13 @@ type RepoDefaults struct { Roles []string `yaml:"roles"` Runtime string `yaml:"runtime,omitempty"` MaxImplementationRetries int `yaml:"max_implementation_retries"` - AutoMerge bool `yaml:"auto_merge"` StatusNotifications *StatusNotificationConfig `yaml:"status_notifications,omitempty"` } // RepoConfig holds per-repo configuration. // StatusNotifications is intentionally absent here — notification style is an // org-wide UX decision (consistent appearance across all repos), unlike roles -// and auto_merge which are operationally per-repo. +// which are operationally per-repo. type RepoConfig struct { Roles []string `yaml:"roles,omitempty"` Enabled bool `yaml:"enabled"` @@ -247,7 +246,6 @@ func NewOrgConfig(allRepos, enabledRepos, roles []string, inferenceProvider, org Roles: roles, Runtime: "claude", MaxImplementationRetries: 2, - AutoMerge: false, }, Repos: repos, AllowedRemoteResources: DefaultAllowedRemoteResources(), diff --git a/internal/config/config_test.go b/internal/config/config_test.go index 013246f34f..7c45e91e78 100644 --- a/internal/config/config_test.go +++ b/internal/config/config_test.go @@ -54,7 +54,6 @@ func TestNewOrgConfig(t *testing.T) { assert.Equal(t, "1", cfg.ConfigVersion()) assert.Equal(t, "github-actions", cfg.DispatchSettings().Platform) assert.Equal(t, 2, cfg.OrgRepoDefaults().MaxImplementationRetries) - assert.False(t, cfg.OrgRepoDefaults().AutoMerge) assert.Equal(t, roles, cfg.OrgRepoDefaults().Roles) assert.True(t, cfg.RepoMap()["repo-a"].Enabled) @@ -76,7 +75,6 @@ func TestOrgConfigMarshal(t *testing.T) { Defaults: RepoDefaults{ Roles: []string{"fullsend"}, MaxImplementationRetries: 2, - AutoMerge: false, }, Repos: map[string]RepoConfig{ "my-repo": {Enabled: true}, @@ -245,7 +243,6 @@ defaults: - fullsend - coder max_implementation_retries: 3 - auto_merge: true repos: repo-x: enabled: true @@ -259,7 +256,6 @@ repos: assert.Equal(t, "1", cfg.ConfigVersion()) assert.Equal(t, "github-actions", cfg.DispatchSettings().Platform) assert.Equal(t, 3, cfg.OrgRepoDefaults().MaxImplementationRetries) - assert.True(t, cfg.OrgRepoDefaults().AutoMerge) assert.Equal(t, []string{"fullsend", "coder"}, cfg.OrgRepoDefaults().Roles) assert.True(t, cfg.RepoMap()["repo-x"].Enabled) assert.False(t, cfg.RepoMap()["repo-y"].Enabled) @@ -348,7 +344,6 @@ defaults: roles: - fullsend max_implementation_retries: 2 - auto_merge: false agents: [] repos: {} ` @@ -553,7 +548,6 @@ defaults: roles: - fullsend max_implementation_retries: 2 - auto_merge: false agents: [] repos: {} ` diff --git a/internal/layers/enrollment_test.go b/internal/layers/enrollment_test.go index d55e40a92c..f7de8a8868 100644 --- a/internal/layers/enrollment_test.go +++ b/internal/layers/enrollment_test.go @@ -234,7 +234,6 @@ dispatch: defaults: roles: [triage] max_implementation_retries: 2 - auto_merge: false agents: [] repos: repo-a: @@ -304,7 +303,6 @@ dispatch: defaults: roles: [triage] max_implementation_retries: 2 - auto_merge: false agents: [] repos: repo-a: diff --git a/web/admin/src/lib/layers/configRepo.test.ts b/web/admin/src/lib/layers/configRepo.test.ts index 6b49b178e8..b3a21e3a17 100644 --- a/web/admin/src/lib/layers/configRepo.test.ts +++ b/web/admin/src/lib/layers/configRepo.test.ts @@ -9,7 +9,6 @@ dispatch: defaults: roles: [fullsend] max_implementation_retries: 2 - auto_merge: false agents: [] repos: {} `; diff --git a/web/admin/src/lib/layers/fixtures/configrepo/config-valid.yaml b/web/admin/src/lib/layers/fixtures/configrepo/config-valid.yaml index cfe2136618..08858dd847 100644 --- a/web/admin/src/lib/layers/fixtures/configrepo/config-valid.yaml +++ b/web/admin/src/lib/layers/fixtures/configrepo/config-valid.yaml @@ -4,5 +4,4 @@ dispatch: defaults: roles: [fullsend] max_implementation_retries: 2 - auto_merge: false repos: {} diff --git a/web/admin/src/lib/layers/orgConfigParse.ts b/web/admin/src/lib/layers/orgConfigParse.ts index 229fed8fff..7c2d576641 100644 --- a/web/admin/src/lib/layers/orgConfigParse.ts +++ b/web/admin/src/lib/layers/orgConfigParse.ts @@ -7,7 +7,6 @@ export type OrgConfigYaml = { defaults?: { roles?: string[]; max_implementation_retries?: number; - auto_merge?: boolean; }; agents?: { role: string; name?: string; slug?: string }[]; repos?: Record;