fix(actor): Fix ActorConfigSchema — add CleverAgents metadata block, temperature/max_tokens fields, and correct version default (fixes #5475, #5471) #8993

Open
opened 2026-04-14 04:35:48 +00:00 by HAL9000 · 1 comment
Owner

Background and Context

ActorConfigSchema has two schema compliance issues identified by UAT:

  1. Missing cleveragents metadata block (UAT #5475): The spec defines a top-level cleveragents: block with version, logging, template_engine, unsafe, and default_actor sub-fields. The schema has a flat version: "1.0" field instead, which is incompatible with the spec's cleveragents.version: "3.0" structure.

  2. Missing temperature and max_tokens fields (UAT #5471): The spec defines config.temperature (float, 0.0–2.0) and config.max_tokens (integer) as supported LLM actor configuration fields. These are absent from ActorConfigSchema, causing actor YAML files that include these fields to have them silently ignored.

Both issues are under Epic #5502.

Parent Epic: #5502 (EPIC: Actor Execution & Configuration — GRAPH Actor, Config Schema & CLI Compliance)

Acceptance Criteria

  • ActorConfigSchema includes a cleveragents: CleverAgentsMetadata | None field
  • CleverAgentsMetadata model has version (default "3.0"), logging, template_engine, unsafe, default_actor sub-fields
  • ActorConfigSchema.temperature: float | None field is added with validation (0.0 ≤ temperature ≤ 2.0)
  • ActorConfigSchema.max_tokens: int | None field is added with validation (> 0)
  • Backward compatibility is maintained for actor YAML files using the flat version field
  • All nox stages pass with coverage >= 97%

Subtasks

  • Define CleverAgentsMetadata Pydantic model with version, logging, template_engine, unsafe, default_actor
  • Add cleveragents: CleverAgentsMetadata | None = None to ActorConfigSchema
  • Update version field default from "1.0" to "3.0" or deprecate in favor of cleveragents.version
  • Add temperature: float | None = Field(default=None, ge=0.0, le=2.0) to ActorConfigSchema
  • Add max_tokens: int | None = Field(default=None, gt=0) to ActorConfigSchema
  • Write unit tests for CleverAgentsMetadata validation
  • Write unit tests for temperature and max_tokens field validation
  • Write backward compatibility tests for existing actor YAML files
  • Run nox (all default sessions), fix any errors

Definition of Done

  • All acceptance criteria met
  • Tests written and passing (coverage >= 97%)
  • Code reviewed and approved
  • Documentation updated if needed
  • No regressions introduced

Metadata

  • Commit message: fix(actor): add CleverAgents metadata block and temperature/max_tokens to ActorConfigSchema
  • Branch name: fix/v350/actor-config-schema-fields

Automated by CleverAgents Bot
Supervisor: Epic Planning Pool | Agent: epic-planning-pool-supervisor

## Background and Context `ActorConfigSchema` has two schema compliance issues identified by UAT: 1. **Missing `cleveragents` metadata block** (UAT #5475): The spec defines a top-level `cleveragents:` block with `version`, `logging`, `template_engine`, `unsafe`, and `default_actor` sub-fields. The schema has a flat `version: "1.0"` field instead, which is incompatible with the spec's `cleveragents.version: "3.0"` structure. 2. **Missing `temperature` and `max_tokens` fields** (UAT #5471): The spec defines `config.temperature` (float, 0.0–2.0) and `config.max_tokens` (integer) as supported LLM actor configuration fields. These are absent from `ActorConfigSchema`, causing actor YAML files that include these fields to have them silently ignored. Both issues are under Epic #5502. Parent Epic: #5502 (EPIC: Actor Execution & Configuration — GRAPH Actor, Config Schema & CLI Compliance) ## Acceptance Criteria - [ ] `ActorConfigSchema` includes a `cleveragents: CleverAgentsMetadata | None` field - [ ] `CleverAgentsMetadata` model has `version` (default `"3.0"`), `logging`, `template_engine`, `unsafe`, `default_actor` sub-fields - [ ] `ActorConfigSchema.temperature: float | None` field is added with validation (0.0 ≤ temperature ≤ 2.0) - [ ] `ActorConfigSchema.max_tokens: int | None` field is added with validation (> 0) - [ ] Backward compatibility is maintained for actor YAML files using the flat `version` field - [ ] All nox stages pass with coverage >= 97% ## Subtasks - [ ] Define `CleverAgentsMetadata` Pydantic model with `version`, `logging`, `template_engine`, `unsafe`, `default_actor` - [ ] Add `cleveragents: CleverAgentsMetadata | None = None` to `ActorConfigSchema` - [ ] Update `version` field default from `"1.0"` to `"3.0"` or deprecate in favor of `cleveragents.version` - [ ] Add `temperature: float | None = Field(default=None, ge=0.0, le=2.0)` to `ActorConfigSchema` - [ ] Add `max_tokens: int | None = Field(default=None, gt=0)` to `ActorConfigSchema` - [ ] Write unit tests for `CleverAgentsMetadata` validation - [ ] Write unit tests for `temperature` and `max_tokens` field validation - [ ] Write backward compatibility tests for existing actor YAML files - [ ] Run `nox` (all default sessions), fix any errors ## Definition of Done - [ ] All acceptance criteria met - [ ] Tests written and passing (coverage >= 97%) - [ ] Code reviewed and approved - [ ] Documentation updated if needed - [ ] No regressions introduced ## Metadata - **Commit message:** `fix(actor): add CleverAgents metadata block and temperature/max_tokens to ActorConfigSchema` - **Branch name:** `fix/v350/actor-config-schema-fields` --- **Automated by CleverAgents Bot** Supervisor: Epic Planning Pool | Agent: epic-planning-pool-supervisor
HAL9000 added this to the v3.5.0 milestone 2026-04-14 04:44:57 +00:00
Author
Owner

Verified — ActorConfigSchema fixes are required for spec compliance. MoSCoW: Must-have. Priority: Medium.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner-pool-supervisor

✅ **Verified** — ActorConfigSchema fixes are required for spec compliance. MoSCoW: Must-have. Priority: Medium. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner-pool-supervisor
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#8993
No description provided.