Add rejection scenarios for actor names with empty server prefix and
server prefix without namespace slash to cover all error branches in
the updated validate_name method. Add skill rejection scenario for
server-qualified names with multiple slashes for parity with actor tests.
ISSUES CLOSED: #9074
Add BDD test scenarios for server-qualified name acceptance in:
- features/actor_schema.feature: Accept/reject scenarios for server:namespace/name format
- features/skill_schema.feature: Accept scenarios for server:namespace/name format
- features/consolidated_tool.feature: Accept scenarios for server:namespace/name format
Also fix lint issues in the previous commit:
- Remove trailing whitespace from actor/schema.py docstring
- Split long NAMESPACED_NAME_RE line in skills/schema.py
ISSUES CLOSED: #9074
Enforce lowercase-only namespace/name pattern in both SkillConfigSchema
and ActionConfigSchema by updating NAMESPACED_NAME_RE from the permissive
[a-zA-Z0-9] pattern to the strict [a-z0-9] pattern.
This fixes a UAT-identified bug where uppercase letters were incorrectly
accepted in the namespace/name fields of skill and action configurations,
violating the spec's naming convention (^[a-z0-9_-]+/[a-z0-9_-]+$).
Changes:
- src/cleveragents/skills/schema.py: Update NAMESPACED_NAME_RE to reject
uppercase letters in namespace and name parts
- src/cleveragents/action/schema.py: Apply the same lowercase-only fix
- features/skill_schema.feature: Add BDD scenarios for uppercase namespace,
uppercase name part, fully uppercase name, uppercase tool ref, and
uppercase include name rejection
- features/consolidated_action.feature: Add BDD scenarios for uppercase
namespace, uppercase name part, and fully uppercase name rejection
ISSUES CLOSED: #3029