UAT: First-run persona creation does not auto-generate argument presets — spec requires thinking-effort presets auto-detected from actor schema #6820

Open
opened 2026-04-10 02:15:12 +00:00 by HAL9000 · 0 comments
Owner

Bug Report

Spec Reference

Specification §Persona System, First-Run Experience (approx. line 29296):

Selection creates a "default" persona with the chosen actor and auto-generated argument presets (thinking effort levels are auto-detected from the actor's argument schema). Subsequent launches restore the last active persona.

Expected Behavior (from spec)

When a user completes the first-run actor selection overlay, the "default" persona should be created with:

  1. The chosen actor binding
  2. Auto-generated argument presets where thinking effort levels (e.g. think: default, think: high, think: max, quick) are auto-detected from the actor's argument schema

These presets would be immediately available for ctrl+tab cycling in the PersonaBar.

Actual Behavior (from code analysis)

src/cleveragents/tui/first_run.py create_default_persona_for_actor() (lines 30–60) creates the default persona with no auto-generated argument presets:

def create_default_persona_for_actor(
    registry: PersonaRegistry,
    actor: str,
) -> Persona:
    persona = Persona(
        name="default",
        actor=actor,
        description="Default persona",
    )
    registry.save(persona)
    registry.set_last_persona(persona.name)
    return persona

The Persona model's ensure_default_preset validator (schema.py line 55–61) only creates a single "default" preset with empty overrides:

self.argument_presets = [
    PersonaPreset(name="default", display="default", overrides={})
]

There is no code anywhere in the codebase that introspects the actor's argument schema to generate thinking-effort presets. The first-run experience creates a persona with only a single "default" preset — ctrl+tab cycling has nothing to cycle through after first run.

Steps to Reproduce (Code Analysis)

  1. Inspect src/cleveragents/tui/first_run.pycreate_default_persona_for_actor() creates a bare Persona with no preset argument beyond the auto-added empty default
  2. Search the entire codebase for thinking, effort, auto.*preset, preset.*auto, actor.*schema.*preset — no such logic exists
  3. The ActorConfigSchema in src/cleveragents/actor/schema.py exists but is never consulted during first-run persona creation

Impact

First-run users get a persona with only a single "default" preset, making the ctrl+tab argument preset cycling feature non-functional on initial setup. The spec clearly differentiates between "default preset" and the richer set of thinking-effort presets that should be auto-populated.


Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: uat-tester

## Bug Report ### Spec Reference Specification §Persona System, First-Run Experience (approx. line 29296): > Selection creates a `"default"` persona with the chosen actor and **auto-generated argument presets** (thinking effort levels are auto-detected from the actor's argument schema). Subsequent launches restore the last active persona. ### Expected Behavior (from spec) When a user completes the first-run actor selection overlay, the `"default"` persona should be created with: 1. The chosen actor binding 2. **Auto-generated argument presets** where thinking effort levels (e.g. `think: default`, `think: high`, `think: max`, `quick`) are auto-detected from the actor's argument schema These presets would be immediately available for `ctrl+tab` cycling in the PersonaBar. ### Actual Behavior (from code analysis) `src/cleveragents/tui/first_run.py` `create_default_persona_for_actor()` (lines 30–60) creates the default persona with **no auto-generated argument presets**: ```python def create_default_persona_for_actor( registry: PersonaRegistry, actor: str, ) -> Persona: persona = Persona( name="default", actor=actor, description="Default persona", ) registry.save(persona) registry.set_last_persona(persona.name) return persona ``` The `Persona` model's `ensure_default_preset` validator (schema.py line 55–61) only creates a single `"default"` preset with empty overrides: ```python self.argument_presets = [ PersonaPreset(name="default", display="default", overrides={}) ] ``` There is **no code anywhere** in the codebase that introspects the actor's argument schema to generate thinking-effort presets. The first-run experience creates a persona with only a single `"default"` preset — `ctrl+tab` cycling has nothing to cycle through after first run. ### Steps to Reproduce (Code Analysis) 1. Inspect `src/cleveragents/tui/first_run.py` — `create_default_persona_for_actor()` creates a bare `Persona` with no preset argument beyond the auto-added empty `default` 2. Search the entire codebase for `thinking`, `effort`, `auto.*preset`, `preset.*auto`, `actor.*schema.*preset` — no such logic exists 3. The `ActorConfigSchema` in `src/cleveragents/actor/schema.py` exists but is never consulted during first-run persona creation ### Impact First-run users get a persona with only a single `"default"` preset, making the `ctrl+tab` argument preset cycling feature non-functional on initial setup. The spec clearly differentiates between "default preset" and the richer set of thinking-effort presets that should be auto-populated. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.4.0 milestone 2026-04-10 02:15:12 +00:00
HAL9000 self-assigned this 2026-04-10 06:06:39 +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#6820
No description provided.