From 64e606099cc2c2322c8dd3b5096914ac1a7e1e80 Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman Date: Fri, 13 Mar 2026 23:59:38 +0000 Subject: [PATCH 1/2] fix(test): convert soft warnings to hard failures in architecture test Replace Run Keyword And Return Status soft checks with direct assertions in three test cases: - Docstring check now uses Should Contain directly instead of logging WARN, so missing docstrings cause a hard test failure. - Settings file (config/settings.py) existence is now a hard File Should Exist assertion instead of a conditional that silently skips all checks when the file is absent. - Exceptions file (core/exceptions.py) existence is now a hard File Should Exist assertion instead of a conditional that silently skips the exception hierarchy checks when the file is absent. --- robot/architecture.robot | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/robot/architecture.robot b/robot/architecture.robot index c95712a19..9d9261809 100644 --- a/robot/architecture.robot +++ b/robot/architecture.robot @@ -32,8 +32,7 @@ Package Init Files Should Have Docstrings ${exists}= Run Keyword And Return Status File Should Exist ${init_file} IF ${exists} ${content}= Get File ${init_file} - ${has_docstring}= Run Keyword And Return Status Should Contain ${content} """ - Run Keyword If not ${has_docstring} Log Missing docstring in ${package}/__init__.py WARN + Should Contain ${content} """ Missing docstring in ${package}/__init__.py END END @@ -67,26 +66,22 @@ Type Marker Should Exist Configuration Should Use CLEVERAGENTS Prefix [Documentation] Verify environment variables use correct prefix ${settings_file}= Set Variable ${SRC_DIR}/config/settings.py - ${exists}= Run Keyword And Return Status File Should Exist ${settings_file} - IF ${exists} - ${content}= Get File ${settings_file} - # Check for CLEVERAGENTS_ prefix - ${matches}= Get Regexp Matches ${content} CLEVERAGENTS_[A-Z_]+ - ${count}= Get Length ${matches} - Should Be True ${count} > 0 No CLEVERAGENTS_ variables found in settings - END + File Should Exist ${settings_file} + ${content}= Get File ${settings_file} + # Check for CLEVERAGENTS_ prefix + ${matches}= Get Regexp Matches ${content} CLEVERAGENTS_[A-Z_]+ + ${count}= Get Length ${matches} + Should Be True ${count} > 0 No CLEVERAGENTS_ variables found in settings Core Exception Hierarchy Should Be Defined [Documentation] Verify exception hierarchy from ADR-005 ${exceptions_file}= Set Variable ${SRC_DIR}/core/exceptions.py - ${exists}= Run Keyword And Return Status File Should Exist ${exceptions_file} - IF ${exists} - ${content}= Get File ${exceptions_file} - Should Contain ${content} class CleverAgentsError - Should Contain ${content} class DomainError - Should Contain ${content} class InfrastructureError - Should Contain ${content} class ValidationError - END + File Should Exist ${exceptions_file} + ${content}= Get File ${exceptions_file} + Should Contain ${content} class CleverAgentsError + Should Contain ${content} class DomainError + Should Contain ${content} class InfrastructureError + Should Contain ${content} class ValidationError *** Keywords *** List Files In Directory -- 2.52.0 From 91485905423d961cece75b200217e48360d23d15 Mon Sep 17 00:00:00 2001 From: Jeffrey Phillips Freeman Date: Sat, 14 Mar 2026 02:37:40 +0000 Subject: [PATCH 2/2] fix(providers): add missing module docstring to providers package --- src/cleveragents/providers/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/cleveragents/providers/__init__.py b/src/cleveragents/providers/__init__.py index 6ff123c44..fae78a540 100644 --- a/src/cleveragents/providers/__init__.py +++ b/src/cleveragents/providers/__init__.py @@ -1,3 +1,9 @@ +"""Providers Layer - AI Model Provider Integrations. + +This package handles AI model provider implementations, cost tracking, +fallback selection, and provider registry management. +""" + from .cost_table import CostEntry, ProviderCostTable from .cost_tracker import BudgetCheckResult, BudgetStatus, CostTracker from .fallback_selector import FallbackResult, FallbackSelector -- 2.52.0