UAT: Actor YAML v3 schema (ActorConfigSchema) missing required fields: provider, temperature, max_tokens, and estimation #6320

Open
opened 2026-04-09 20:09:57 +00:00 by HAL9000 · 0 comments
Owner

Summary

The spec mandates that the Actor YAML v3 schema must include the fields provider, temperature, max_tokens, and estimation: true|false. None of these four fields are defined in ActorConfigSchema (src/cleveragents/actor/schema.py). This means actor YAML files conforming to the v3 spec cannot be validated or parsed correctly by the schema layer.

Spec Reference

docs/specification.md — Actor YAML Schema (v3):

name: ...
description: ...
model: ...
provider: ...          # MISSING from ActorConfigSchema
temperature: ...       # MISSING from ActorConfigSchema
max_tokens: ...        # MISSING from ActorConfigSchema (not the memory-level one)
skills: [...]
tools: [...]
system_prompt: ...
estimation: true|false  # MISSING from ActorConfigSchema

Code Location

src/cleveragents/actor/schema.pyActorConfigSchema, lines 665–886

The class defines:

  • name ✓ (line 712)
  • description ✓ (line 714)
  • model ✓ (line 718, optional)
  • system_prompt ✓ (line 719)
  • skills ✓ (line 751)
  • tools ✓ (line 726)

Missing fields (not defined anywhere in ActorConfigSchema):

  • provider: str — no field (line ~718 area; model exists but provider does not)
  • temperature: float — not defined at actor-level (only at memory level in MemoryConfig)
  • max_tokens: intMemoryConfig has max_tokens for history (line 237), but there is no actor-level max_tokens for the LLM call itself
  • estimation: bool — not defined anywhere in the schema
class ActorConfigSchema(BaseModel):
    name: str            # ✓
    type: ActorType      # ✓
    description: str     # ✓
    version: str         # ✓
    model: str | None    # ✓ (but optional, spec says required)
    system_prompt: ...   # ✓
    tools: ...           # ✓
    skills: ...          # ✓
    # provider: str      ← MISSING
    # temperature: float ← MISSING
    # max_tokens: int    ← MISSING (actor-level, not memory-level)
    # estimation: bool   ← MISSING

Impact

  1. provider: Actor YAML files specifying a provider (e.g., provider: openai) are silently ignored when loaded via ActorConfigSchema. The from_blob path in ActorConfiguration does support provider, but ActorConfigSchema validation never checks it.
  2. temperature: Cannot be set per-actor in YAML; users must rely on CLI --temperature override or runtime defaults.
  3. max_tokens: Actor-level token limits cannot be specified in YAML; only the history-truncation max_tokens in MemoryConfig is available.
  4. estimation: The estimation lifecycle hook (estimation: true) cannot be configured in actor YAML at all. Actors that should trigger estimation callbacks will not do so.

Note

This is distinct from #6283 (which covers the CLI not validating/processing the v3 schema at runtime). This issue is specifically about missing field definitions in the ActorConfigSchema Pydantic model itself.


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

## Summary The spec mandates that the Actor YAML v3 schema must include the fields `provider`, `temperature`, `max_tokens`, and `estimation: true|false`. None of these four fields are defined in `ActorConfigSchema` (`src/cleveragents/actor/schema.py`). This means actor YAML files conforming to the v3 spec cannot be validated or parsed correctly by the schema layer. ## Spec Reference `docs/specification.md` — Actor YAML Schema (v3): ```yaml name: ... description: ... model: ... provider: ... # MISSING from ActorConfigSchema temperature: ... # MISSING from ActorConfigSchema max_tokens: ... # MISSING from ActorConfigSchema (not the memory-level one) skills: [...] tools: [...] system_prompt: ... estimation: true|false # MISSING from ActorConfigSchema ``` ## Code Location `src/cleveragents/actor/schema.py` — `ActorConfigSchema`, lines 665–886 The class defines: - `name` ✓ (line 712) - `description` ✓ (line 714) - `model` ✓ (line 718, optional) - `system_prompt` ✓ (line 719) - `skills` ✓ (line 751) - `tools` ✓ (line 726) **Missing fields** (not defined anywhere in `ActorConfigSchema`): - `provider: str` — no field (line ~718 area; `model` exists but `provider` does not) - `temperature: float` — not defined at actor-level (only at memory level in `MemoryConfig`) - `max_tokens: int` — `MemoryConfig` has `max_tokens` for history (line 237), but there is no actor-level `max_tokens` for the LLM call itself - `estimation: bool` — not defined anywhere in the schema ```python class ActorConfigSchema(BaseModel): name: str # ✓ type: ActorType # ✓ description: str # ✓ version: str # ✓ model: str | None # ✓ (but optional, spec says required) system_prompt: ... # ✓ tools: ... # ✓ skills: ... # ✓ # provider: str ← MISSING # temperature: float ← MISSING # max_tokens: int ← MISSING (actor-level, not memory-level) # estimation: bool ← MISSING ``` ## Impact 1. **`provider`**: Actor YAML files specifying a provider (e.g., `provider: openai`) are silently ignored when loaded via `ActorConfigSchema`. The `from_blob` path in `ActorConfiguration` does support `provider`, but `ActorConfigSchema` validation never checks it. 2. **`temperature`**: Cannot be set per-actor in YAML; users must rely on CLI `--temperature` override or runtime defaults. 3. **`max_tokens`**: Actor-level token limits cannot be specified in YAML; only the history-truncation `max_tokens` in `MemoryConfig` is available. 4. **`estimation`**: The estimation lifecycle hook (`estimation: true`) cannot be configured in actor YAML at all. Actors that should trigger estimation callbacks will not do so. ## Note This is distinct from #6283 (which covers the CLI not validating/processing the v3 schema at runtime). This issue is specifically about missing **field definitions** in the `ActorConfigSchema` Pydantic model itself. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
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.

Dependencies

No dependencies set.

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