738c3b5eda
CI / lint (pull_request) Successful in 15s
CI / benchmark-publish (pull_request) Has been skipped
CI / quality (pull_request) Successful in 32s
CI / security (pull_request) Successful in 33s
CI / typecheck (pull_request) Successful in 35s
CI / build (pull_request) Successful in 14s
CI / unit_tests (pull_request) Successful in 2m30s
CI / docker (pull_request) Successful in 39s
CI / integration_tests (pull_request) Successful in 3m0s
CI / coverage (pull_request) Successful in 4m47s
CI / lint (push) Successful in 13s
CI / build (push) Successful in 17s
CI / quality (push) Successful in 17s
CI / security (push) Successful in 32s
CI / typecheck (push) Successful in 34s
CI / benchmark-regression (push) Has been skipped
CI / unit_tests (push) Successful in 2m11s
CI / docker (push) Successful in 40s
CI / integration_tests (push) Successful in 2m55s
CI / coverage (push) Successful in 4m47s
CI / benchmark-regression (pull_request) Successful in 25m3s
CI / benchmark-publish (push) Successful in 14m7s
Add domain models, application service, CLI integration, and full test coverage for multi-project subplan orchestration. New components: - MultiProjectMetadata, ProjectScope, ProjectDependency domain models - MultiProjectService for creating/managing multi-project plans - CLI display of multi-project metadata in plan commands - Behave BDD tests (20 scenarios), Robot Framework integration tests, ASV benchmarks, and reference documentation Also fixes pre-existing test flakiness in cli_core, core_cli_commands, cli_plan_context_commands, and helper_server_stubs caused by environment leakage and path-with-spaces issues. ISSUES CLOSED: #199
125 lines
5.6 KiB
Gherkin
125 lines
5.6 KiB
Gherkin
Feature: Core system commands (version, info, diagnostics)
|
|
As a user of CleverAgents
|
|
I want version, info, and diagnostics commands
|
|
So that I can inspect the system state and troubleshoot issues
|
|
|
|
# -- version command --
|
|
|
|
Scenario: Version command shows version string
|
|
When I run the system version command
|
|
Then the system version output should contain "1.0.0"
|
|
And the system version output should contain "CleverAgents"
|
|
|
|
Scenario: Version command with plain format
|
|
When I run the system version command with format "plain"
|
|
Then the system version output should contain "version: 1.0.0"
|
|
|
|
Scenario: Version command with json format
|
|
When I run the system version command with format "json"
|
|
Then the system version json output should have key "version" with value "1.0.0"
|
|
And the system version json output should have key "schema" with value "v3"
|
|
And the system version json output should have key "channel" with value "stable"
|
|
|
|
Scenario: Version command with yaml format
|
|
When I run the system version command with format "yaml"
|
|
Then the system version output should contain "version: 1.0.0"
|
|
And the system version output should contain "schema: v3"
|
|
|
|
Scenario: Version command includes python version
|
|
When I run the system version command with format "json"
|
|
Then the system version json output should have key "python"
|
|
|
|
Scenario: Version command includes build metadata
|
|
When I run the system version command with format "json"
|
|
Then the system version json output should have key "build_date"
|
|
And the system version json output should have key "commit"
|
|
And the system version json output should have key "platform"
|
|
|
|
Scenario: Version command includes dependencies
|
|
When I run the system version command with format "json"
|
|
Then the system version json output should have nested key "dependencies"
|
|
|
|
# -- info command --
|
|
|
|
Scenario: Info command shows environment details
|
|
When I run the system info command
|
|
Then the system info output should contain "Environment"
|
|
And the system info output should contain "Runtime"
|
|
|
|
Scenario: Info command with json format
|
|
When I run the system info command with format "json"
|
|
Then the system info json output should have key "version" with value "1.0.0"
|
|
And the system info json output should have key "data_dir"
|
|
And the system info json output should have key "database"
|
|
And the system info json output should have key "server_mode"
|
|
|
|
Scenario: Info command with plain format
|
|
When I run the system info command with format "plain"
|
|
Then the system info output should contain "version: 1.0.0"
|
|
And the system info output should contain "server_mode:"
|
|
|
|
Scenario: Info command shows provider count
|
|
When I run the system info command with format "json"
|
|
Then the system info json output should have key "providers_configured"
|
|
|
|
Scenario: Info command shows automation level
|
|
When I run the system info command with format "json"
|
|
Then the system info json output should have key "automation"
|
|
|
|
Scenario: Info command shows storage info
|
|
When I run the system info command with format "json"
|
|
Then the system info json output should have nested key "storage"
|
|
|
|
# -- diagnostics command --
|
|
|
|
Scenario: Diagnostics command runs checks
|
|
When I run the system diagnostics command
|
|
Then the system diagnostics output should contain "Checks"
|
|
And the system diagnostics output should contain "Summary"
|
|
|
|
Scenario: Diagnostics command with json format
|
|
When I run the system diagnostics command with format "json"
|
|
Then the system diagnostics json output should have key "checks"
|
|
And the system diagnostics json output should have key "summary"
|
|
And the system diagnostics json output should have key "recommendations"
|
|
|
|
Scenario: Diagnostics json summary has counts
|
|
When I run the system diagnostics command with format "json"
|
|
Then the system diagnostics json summary should have key "total"
|
|
And the system diagnostics json summary should have key "warnings"
|
|
And the system diagnostics json summary should have key "errors"
|
|
And the system diagnostics json summary should have key "duration_s"
|
|
|
|
Scenario: Diagnostics checks include config file
|
|
When I run the system diagnostics command with format "json"
|
|
Then the system diagnostics checks should include "Config file"
|
|
|
|
Scenario: Diagnostics checks include database
|
|
When I run the system diagnostics command with format "json"
|
|
Then the system diagnostics checks should include "Database"
|
|
|
|
Scenario: Diagnostics checks include git
|
|
When I run the system diagnostics command with format "json"
|
|
Then the system diagnostics checks should include "Git"
|
|
|
|
Scenario: Diagnostics checks include disk space
|
|
When I run the system diagnostics command with format "json"
|
|
Then the system diagnostics checks should include "Disk space"
|
|
|
|
Scenario: Diagnostics checks include file permissions
|
|
When I run the system diagnostics command with format "json"
|
|
Then the system diagnostics checks should include "File permissions"
|
|
|
|
Scenario: Diagnostics --check exits zero when no errors
|
|
When I run the system diagnostics command with check flag
|
|
Then the system diagnostics exit code should be 0
|
|
|
|
Scenario: Diagnostics with plain format
|
|
When I run the system diagnostics command with format "plain"
|
|
Then the system diagnostics output should contain "checks:"
|
|
And the system diagnostics output should contain "summary:"
|
|
|
|
Scenario: Diagnostics recommendations are a list
|
|
When I run the system diagnostics command with format "json"
|
|
Then the system diagnostics json recommendations should be a list
|