f4432c2759
CI / quality (push) Has been cancelled
CI / integration_tests (push) Has been cancelled
CI / e2e_tests (push) Has been cancelled
CI / build (push) Has been cancelled
CI / typecheck (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CI / benchmark-publish (push) Has been cancelled
CI / unit_tests (push) Has been cancelled
CI / helm (push) Has been cancelled
CI / coverage (push) Has been cancelled
CI / docker (push) Has been cancelled
CI / status-check (push) Has been cancelled
CI / benchmark-regression (push) Has been cancelled
Remove four empty stub packages that contained only __init__.py with __all__ = [] and no functional code, violating CONTRIBUTING.md §Commit Completeness. All four were audited against docs/specification.md: - src/cleveragents/runtime/ — Spec defines four layers (Domain, Application, Infrastructure, Presentation) with no Runtime Layer. Runtime concepts (LSP Runtime, actor runtime) belong in Infrastructure. - src/cleveragents/domain/repositories/ — Spec mentions repository interfaces in Domain but mandates no separate subpackage. Empty with no protocols defined; existing models cover the domain. - src/cleveragents/domain/plans/ — Plan domain models already exist in domain/models/planconfig, planfiles, and plansettings. Empty duplicate. - src/cleveragents/application/workflows/ — Application logic already served by application/services/. Empty stub added no value. Updated test references in features/steps/module_coverage_steps.py, features/steps/coverage_extras_steps.py, features/architecture.feature, and robot/architecture.robot to remove the deleted packages from import verification and architecture validation lists. ISSUES CLOSED: #948 Co-authored-by: Brent E. Edwards <brent.edwards@cleverthis.com> Co-committed-by: Brent E. Edwards <brent.edwards@cleverthis.com>
53 lines
2.4 KiB
Gherkin
53 lines
2.4 KiB
Gherkin
Feature: Architecture validation
|
|
As a developer
|
|
I want to verify the architecture follows our ADRs
|
|
So that the codebase remains maintainable
|
|
|
|
Scenario: ADR directory is absent after cleanup
|
|
Given the ADR directory "docs/architecture/decisions" may be absent
|
|
Then the ADR check should be skipped when the directory is missing
|
|
|
|
Scenario: Package structure follows layering ADR
|
|
Given the source directory exists at "src/cleveragents"
|
|
When I check the package structure
|
|
Then I should find these main packages:
|
|
| package | description |
|
|
| cli | Command line interface |
|
|
| application | Business logic and workflows |
|
|
| domain | Domain models and contracts |
|
|
| infrastructure | External integrations |
|
|
| providers | Model provider implementations |
|
|
| config | Configuration management |
|
|
| core | Shared core components |
|
|
| shared | Cross-cutting concerns |
|
|
|
|
Scenario: Dependencies follow inversion principle
|
|
Given the package structure is defined
|
|
When I analyze package imports
|
|
Then domain should not import from infrastructure
|
|
And domain should not import from application
|
|
And the core package should be self-contained
|
|
|
|
Scenario: Configuration uses CLEVERAGENTS prefix
|
|
Given the settings module exists
|
|
When I check environment variable definitions
|
|
Then all application variables should use CLEVERAGENTS_ prefix
|
|
And provider variables should keep their original prefix
|
|
|
|
Scenario: Type hints are used throughout
|
|
Given the source code exists
|
|
When I check for type annotations
|
|
Then all public functions should have type hints
|
|
And all dataclasses should use Pydantic models
|
|
|
|
Scenario: CONTRIBUTING documents LangChain best practices
|
|
When I read the CONTRIBUTING guidelines
|
|
Then the contributing document should include "LangChain/LangGraph Best Practices"
|
|
And the contributing document should include "Graph Design Patterns"
|
|
And the contributing document should include "Testing LangChain/LangGraph Code"
|
|
|
|
Scenario: Every source module imports without errors
|
|
Given the source directory exists at "src/cleveragents"
|
|
When I import every module under the source directory
|
|
Then every module should import without errors
|