UAT: Custom automation profile name validation rejects server:namespace/name format required by spec #6780

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

Background and Context

The spec defines automation profile naming as using the universal [[server:]namespace/]name format, which includes an optional server prefix. The implementation only validates bare names and namespace/name format, rejecting the server:namespace/name form.

Current Behavior

In src/cleveragents/domain/models/core/automation_profile.py, the name validator:

_BARE_NAME = re.compile(r"^[a-zA-Z0-9_-]+$")
_NAMESPACED_NAME = re.compile(r"^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$")

@field_validator("name")
@classmethod
def validate_name_format(cls, v: str) -> str:
    if not (_BARE_NAME.match(v) or _NAMESPACED_NAME.match(v)):
        raise ValueError(...)
    return v

Only these forms are accepted:

  • manual (bare name)
  • acme/strict (namespace/name)

The form myserver:acme/strict (server:namespace/name) is rejected with a validation error.

Expected Behavior (from spec)

The spec Glossary entry for Automation Profile (docs/specification.md, line 95):

Custom profiles namespaced as [[server:]namespace/]name.

This is the same naming convention as all other namespaced entities in CleverAgents (Actions, Skills, Tools, Actors, etc.), which all support the [[server:]namespace/]name format. Examples from spec:

  • local/careful-auto — namespace/name (no server)
  • myserver:acme/strict — server:namespace/name

The name validator should accept the full server:namespace/name format for use with server mode where profiles are registered on a remote server.

Steps to Reproduce

  1. Attempt to create a profile YAML with name: myserver:acme/strict
  2. Run agents automation-profile add --config ./profile.yaml
  3. Observe: validation error — name format not recognized
  4. Expected: name accepted as valid server-scoped profile name

Acceptance Criteria

  • Profile names in server:namespace/name format are accepted by AutomationProfile
  • The regex pattern supports all three forms: bare name, namespace/name, server:namespace/name
  • All three forms work in automation-profile add, show, list, remove commands
  • All tests pass with nox

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

## Background and Context The spec defines automation profile naming as using the universal `[[server:]namespace/]name` format, which includes an optional server prefix. The implementation only validates bare names and `namespace/name` format, rejecting the `server:namespace/name` form. ## Current Behavior In `src/cleveragents/domain/models/core/automation_profile.py`, the name validator: ```python _BARE_NAME = re.compile(r"^[a-zA-Z0-9_-]+$") _NAMESPACED_NAME = re.compile(r"^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$") @field_validator("name") @classmethod def validate_name_format(cls, v: str) -> str: if not (_BARE_NAME.match(v) or _NAMESPACED_NAME.match(v)): raise ValueError(...) return v ``` Only these forms are accepted: - `manual` (bare name) - `acme/strict` (namespace/name) The form `myserver:acme/strict` (server:namespace/name) is rejected with a validation error. ## Expected Behavior (from spec) The spec Glossary entry for `Automation Profile` (`docs/specification.md`, line 95): > Custom profiles namespaced as `[[server:]namespace/]name`. This is the same naming convention as all other namespaced entities in CleverAgents (Actions, Skills, Tools, Actors, etc.), which all support the `[[server:]namespace/]name` format. Examples from spec: - `local/careful-auto` — namespace/name (no server) - `myserver:acme/strict` — server:namespace/name The name validator should accept the full `server:namespace/name` format for use with server mode where profiles are registered on a remote server. ## Steps to Reproduce 1. Attempt to create a profile YAML with `name: myserver:acme/strict` 2. Run `agents automation-profile add --config ./profile.yaml` 3. Observe: validation error — name format not recognized 4. Expected: name accepted as valid server-scoped profile name ## Acceptance Criteria - [ ] Profile names in `server:namespace/name` format are accepted by `AutomationProfile` - [ ] The regex pattern supports all three forms: bare name, `namespace/name`, `server:namespace/name` - [ ] All three forms work in `automation-profile add`, `show`, `list`, `remove` commands - [ ] All tests pass with `nox` --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: uat-tester
HAL9000 added this to the v3.4.0 milestone 2026-04-10 02:06:03 +00:00
HAL9000 self-assigned this 2026-04-10 06:07:15 +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.

Dependencies

No dependencies set.

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