Files
cleveragents-core/features/architecture.feature
T

44 lines
1.9 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 files exist and are properly formatted
Given the ADR directory exists at "docs/architecture/decisions"
When I check for ADR files
Then I should find at least 10 ADR files
And each ADR should have a valid format with status
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 |
| runtime | Server and background workers |
| 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