UAT: AutomationProfileService._DEFAULT_PROFILE = 'manual' uses wrong default — spec requires 'supervised' #4012

Open
opened 2026-04-06 08:36:00 +00:00 by freemo · 0 comments
Owner

Metadata

  • Branch: fix/automation-profile-default-supervised
  • Commit Message: fix(automation-profile): change default profile fallback from manual to supervised per spec
  • Milestone: (none — backlog)
  • Parent Epic: #3370

Bug Report

What Was Tested

The AutomationProfileService default profile fallback was analyzed against the specification's global configuration defaults.

Expected Behavior (from spec)

Per docs/specification.md line 30541 (Global Configuration Keys table):

| `core.automation-profile` | string | `supervised` | `CLEVERAGENTS_AUTOMATION_PROFILE` | The default automation profile applied to new plans when no profile is specified at the plan, action, or project level. |

The default value for core.automation-profile is supervised.

Actual Behavior

src/cleveragents/application/services/automation_profile_service.py, line 41:

_DEFAULT_PROFILE = "manual"

The AutomationProfileService uses "manual" as the hardcoded fallback when:

  1. No global_default is passed to the constructor
  2. The CLEVERAGENTS_AUTOMATION_PROFILE environment variable is not set

This means in environments where neither the config service nor the env var is configured, the system defaults to "manual" (maximum human approval for every action) instead of "supervised" (automatic planning, manual execution review).

Additionally, PlanLifecycleService._resolve_plan_profile_ref() at line 1151-1152 has the same issue:

if not settings_fallback or settings_fallback not in BUILTIN_PROFILES:
    settings_fallback = "manual"

This also falls back to "manual" instead of "supervised".

Impact

  • New installations without explicit config will use "manual" profile (all thresholds at 1.0 — every action requires human approval)
  • The spec-intended default of "supervised" (automatic planning, manual execution) is never applied
  • Users who rely on the documented default behavior will experience unexpected behavior

Code Locations

  • src/cleveragents/application/services/automation_profile_service.py line 41
  • src/cleveragents/application/services/plan_lifecycle_service.py line 1152

Fix Required

Change _DEFAULT_PROFILE = "manual" to _DEFAULT_PROFILE = "supervised" in automation_profile_service.py.
Change the fallback at line 1152 in plan_lifecycle_service.py from "manual" to "supervised".

Subtasks

  • Update _DEFAULT_PROFILE = "manual" to _DEFAULT_PROFILE = "supervised" in automation_profile_service.py
  • Update fallback in plan_lifecycle_service.py line 1152 from "manual" to "supervised"
  • Update BDD scenarios that assert the default profile is "manual" to expect "supervised"
  • Verify no other hardcoded "manual" defaults exist in the codebase

Definition of Done

  • Default automation profile when no config is set is "supervised" as specified
  • All subtasks completed
  • PR merged with issue closed
  • All nox stages pass
  • Coverage >= 97%

Backlog note: This issue was discovered during autonomous operation
on milestone . It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.


Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-new-issue-creator

## Metadata - **Branch**: `fix/automation-profile-default-supervised` - **Commit Message**: `fix(automation-profile): change default profile fallback from manual to supervised per spec` - **Milestone**: *(none — backlog)* - **Parent Epic**: #3370 ## Bug Report ### What Was Tested The `AutomationProfileService` default profile fallback was analyzed against the specification's global configuration defaults. ### Expected Behavior (from spec) Per `docs/specification.md` line 30541 (Global Configuration Keys table): ``` | `core.automation-profile` | string | `supervised` | `CLEVERAGENTS_AUTOMATION_PROFILE` | The default automation profile applied to new plans when no profile is specified at the plan, action, or project level. | ``` The default value for `core.automation-profile` is `supervised`. ### Actual Behavior **`src/cleveragents/application/services/automation_profile_service.py`, line 41:** ```python _DEFAULT_PROFILE = "manual" ``` The `AutomationProfileService` uses `"manual"` as the hardcoded fallback when: 1. No `global_default` is passed to the constructor 2. The `CLEVERAGENTS_AUTOMATION_PROFILE` environment variable is not set This means in environments where neither the config service nor the env var is configured, the system defaults to `"manual"` (maximum human approval for every action) instead of `"supervised"` (automatic planning, manual execution review). Additionally, `PlanLifecycleService._resolve_plan_profile_ref()` at line 1151-1152 has the same issue: ```python if not settings_fallback or settings_fallback not in BUILTIN_PROFILES: settings_fallback = "manual" ``` This also falls back to `"manual"` instead of `"supervised"`. ### Impact - New installations without explicit config will use `"manual"` profile (all thresholds at 1.0 — every action requires human approval) - The spec-intended default of `"supervised"` (automatic planning, manual execution) is never applied - Users who rely on the documented default behavior will experience unexpected behavior ### Code Locations - `src/cleveragents/application/services/automation_profile_service.py` line 41 - `src/cleveragents/application/services/plan_lifecycle_service.py` line 1152 ### Fix Required Change `_DEFAULT_PROFILE = "manual"` to `_DEFAULT_PROFILE = "supervised"` in `automation_profile_service.py`. Change the fallback at line 1152 in `plan_lifecycle_service.py` from `"manual"` to `"supervised"`. ## Subtasks - [ ] Update `_DEFAULT_PROFILE = "manual"` to `_DEFAULT_PROFILE = "supervised"` in `automation_profile_service.py` - [ ] Update fallback in `plan_lifecycle_service.py` line 1152 from `"manual"` to `"supervised"` - [ ] Update BDD scenarios that assert the default profile is `"manual"` to expect `"supervised"` - [ ] Verify no other hardcoded `"manual"` defaults exist in the codebase ## Definition of Done - [ ] Default automation profile when no config is set is `"supervised"` as specified - [ ] All subtasks completed - [ ] PR merged with issue closed - All nox stages pass - Coverage >= 97% > **Backlog note:** This issue was discovered during autonomous operation > on milestone <M>. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
HAL9000 added this to the v3.5.0 milestone 2026-04-09 03:12:00 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#4012
No description provided.