From 253f59e8b1a636663e3bc0e5afe140e1a96dd670 Mon Sep 17 00:00:00 2001 From: HAL9000 Date: Thu, 23 Apr 2026 09:46:36 +0000 Subject: [PATCH 1/3] fix(action/schema): correct validate_name error message to say "valid Python identifier" and remove "or hyphens" claim Changed ActionArgumentSchema.validate_name in src/cleveragents/action/schema.py: - Replaced v.replace("-", "_").isidentifier() with v.isidentifier() so hyphens are correctly rejected instead of silently accepted - Updated error message to say "Argument name must be a valid Python identifier (alphanumeric and underscores, not starting with a digit)" matching the BDD scenario assertion exactly - Updated docstring to say "valid Python identifier" ISSUES CLOSED: #3039 --- src/cleveragents/action/schema.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/cleveragents/action/schema.py b/src/cleveragents/action/schema.py index 8ce054207..0d5070cd0 100644 --- a/src/cleveragents/action/schema.py +++ b/src/cleveragents/action/schema.py @@ -122,11 +122,12 @@ class ActionArgumentSchema(BaseModel): @field_validator("name") @classmethod def validate_name(cls, v: str) -> str: - """Ensure argument name is a valid identifier.""" - if not v.replace("-", "_").isidentifier(): + """Ensure argument name is a valid Python identifier.""" + if not v.isidentifier(): raise ValueError( - f"Argument name '{v}' is not a valid identifier. " - "Use alphanumeric characters, underscores, or hyphens." + f"Argument name '{v}' is not a valid Python identifier. " + "Argument name must be a valid Python identifier " + "(alphanumeric and underscores, not starting with a digit)." ) return v -- 2.52.0 From aa8f2b1f50e1fff69b62b900e8bf61094d436fee Mon Sep 17 00:00:00 2001 From: HAL9000 Date: Fri, 24 Apr 2026 09:57:31 +0000 Subject: [PATCH 2/3] ci: retrigger CI pipeline Previous CI run had transient failures: - security: Failing after 0s (infrastructure/runner issue) - integration_tests: Failing after 0s (infrastructure/runner issue) - push-validation: Failing after 0s (missing FORGEJO_TOKEN secret or runner issue) All quality gates pass locally (lint, typecheck, security_scan, dead_code, complexity). Code change is correct: validate_name now uses v.isidentifier() and error message matches BDD spec exactly. ISSUES CLOSED: N/A (CI retrigger) -- 2.52.0 From ff62e28d16c65e8ba2b17ec02981d61ef6499e37 Mon Sep 17 00:00:00 2001 From: HAL9000 Date: Sun, 26 Apr 2026 15:20:13 +0000 Subject: [PATCH 3/3] ci: retrigger CI -- 2.52.0