Files
cleveragents-core/features/actor_cli_coverage.feature
freemo 8ea00f5185
CI / unit_tests (push) Has been cancelled
CI / benchmark-publish (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / typecheck (push) Has been cancelled
CI / security (push) Has been cancelled
CI / quality (push) Has been cancelled
CI / integration_tests (push) Has been cancelled
CI / e2e_tests (push) Has been cancelled
CI / coverage (push) Has been cancelled
CI / benchmark-regression (push) Has been cancelled
CI / build (push) Has been cancelled
CI / push-validation (push) Has been cancelled
CI / status-check (push) Has been cancelled
CI / docker (push) Has been cancelled
CI / helm (push) Has been cancelled
fix: restore CI quality tests to passing state (#4175)
Co-authored-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Co-committed-by: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
2026-04-08 11:02:14 +00:00

328 lines
12 KiB
Gherkin

Feature: Actor CLI coverage
As a developer
I want actor CLI commands covered
So that actor management paths stay stable
Scenario: Add actor fails without config
Given an actor CLI runner
When I run actor add without config
Then the actor command should fail with bad parameter
# @tdd_issue @tdd_issue_4232 @tdd_expected_fail @skip
@skip
Scenario: Add actor with JSON config file
Given an actor CLI runner
And I have an actor JSON config file
When I run actor add with that config
Then the actor add should pass the loaded config
Scenario: Add actor requires unsafe confirmation when config is marked unsafe
Given an actor CLI runner
And I have an unsafe actor JSON config file
When I run actor add with that config
Then the actor command should fail with bad parameter
# @tdd_issue @tdd_issue_4232 @tdd_expected_fail @skip
@skip
Scenario: Add actor allows unsafe config when flag is provided
Given an actor CLI runner
And I have an unsafe actor JSON config file
When I run actor add with that config and unsafe flag
Then the actor add should pass the loaded config
Scenario: Add actor fails when config is missing
Given an actor CLI runner
When I run actor add with missing config path
Then the actor command should fail with bad parameter
Scenario: Add actor rejects non-dictionary config input
Given an actor CLI runner
And I have an actor list config file
When I run actor add with that config
Then the actor command should fail with bad parameter
# @tdd_issue @tdd_issue_4232 @tdd_expected_fail @skip
@skip
Scenario: Add actor falls back to YAML-only config
Given an actor CLI runner
And I have an actor YAML-only config file
When I run actor add with that config
Then the actor add should pass the loaded config
# @tdd_issue @tdd_issue_4232 @tdd_expected_fail @skip
@skip
Scenario: Add actor uses service path with graph descriptor
Given an actor CLI runner
And I have an actor graph config file
When I run actor add via service with that config
Then the service actor add should include graph descriptor
# @tdd_issue @tdd_issue_4232 @tdd_expected_fail @skip
@skip
Scenario: Add actor merges CLI options into config blob
Given an actor CLI runner
And I have an actor JSON config file
When I run actor add with that config and options overrides
Then the actor add should pass the loaded config
Scenario: Add actor rejects empty config file
Given an actor CLI runner
And I have an empty actor YAML config file
When I run actor add with that config
Then the actor command should fail with bad parameter
# @tdd_issue @tdd_issue_4232 @tdd_expected_fail @skip
@skip
Scenario: Add actor aborts on business rule violation
Given an actor CLI runner
When I run actor add with business rule violation
Then the actor command should abort with error
Scenario: Add actor rejects unsafe service config without confirmation
Given an actor CLI runner
And I have an unsafe actor JSON config file
When I run actor add via service without unsafe flag
Then the actor command should fail with bad parameter
And the actor service should not be called
Scenario: Update actor from YAML config and safe flag
Given an actor CLI runner
And I have an actor YAML config file returning empty data
When I run actor update with safe flag and yaml config
Then the actor update should set safe and merge config
Scenario: Update actor toggles unsafe flag
Given an actor CLI runner
When I run actor update with unsafe flag
Then the actor update should set unsafe flag
Scenario: Update actor aborts on validation error
Given an actor CLI runner
When I run actor update with validation error
Then the actor command should abort with error
Scenario: Update actor aborts when not found
Given an actor CLI runner
When I run actor update for missing actor
Then the actor command should abort for missing actor
Scenario: Update actor rejects conflicting safety flags
Given an actor CLI runner
When I run actor update with conflicting flags
Then the actor command should fail with bad parameter
Scenario: Update actor requires unsafe confirmation when requested
Given an actor CLI runner
When I run actor update requiring unsafe confirmation
Then the actor command should fail with bad parameter
Scenario: Update actor rejects unsafe service config without confirmation
Given an actor CLI runner
And I have an unsafe actor JSON config file
When I run actor update via service without unsafe flag
Then the actor command should abort with error
And the actor service should not be called
Scenario: Remove actor succeeds
Given an actor CLI runner
When I run actor remove successfully
Then the actor remove should succeed
Scenario: Remove actor aborts on validation error
Given an actor CLI runner
When I run actor remove and it fails validation
Then the actor command should abort with error
Scenario: List actors when none exist
Given an actor CLI runner
When I run actor list with no actors
Then the actor list should report empty state
Scenario: List actors with entries
Given an actor CLI runner
When I run actor list with two actors
Then the actor list should render rows
Scenario: Show actor displays details
Given an actor CLI runner
When I run actor show successfully
Then the actor show should display details
Scenario: Show actor aborts on validation error
Given an actor CLI runner
When I run actor show with validation error
Then the actor command should abort with error
Scenario: Set default actor succeeds
Given an actor CLI runner
When I run set-default actor successfully
Then the set default actor should display details
Scenario: Set default actor aborts on business rule violation
Given an actor CLI runner
When I run set-default actor with violation
Then the actor command should abort with error
# @tdd_issue @tdd_issue_4232 @tdd_expected_fail @skip
@skip
Scenario: Add actor merges options and parses boolean override
Given an actor CLI runner
And I have an actor JSON config file with options
When I run actor add with boolean option override
Then the actor add should pass the loaded config
Scenario: Add actor rejects option without separator
Given an actor CLI runner
And I have an actor JSON config file
When I run actor add with malformed option
Then the actor command should fail with bad parameter
Scenario: Add actor rejects empty option key
Given an actor CLI runner
And I have an actor JSON config file
When I run actor add with empty option key
Then the actor command should fail with bad parameter
# @tdd_issue @tdd_issue_4232 @tdd_expected_fail @skip
@skip
Scenario: Add actor via service rejects unsafe canonical config
Given an actor CLI runner
And I have an actor JSON config file
When I run actor add via service with unsafe canonical blob
Then the actor command should abort with error
Scenario: Update actor includes option overrides in registry call
Given an actor CLI runner
When I run actor update with option overrides
Then the actor update should include option overrides
Scenario: Update actor parses uppercase boolean option override
Given an actor CLI runner
When I run actor update with uppercase boolean option override
Then the actor update should include option overrides
Scenario: Update actor via service rejects unsafe canonical config
Given an actor CLI runner
And I have an actor JSON config file
When I run actor update via service with unsafe canonical blob
Then the actor command should abort with error
Scenario: Update actor via service succeeds with safe config
Given an actor CLI runner
And I have an actor JSON config file
When I run actor update via service with safe config
Then the actor service update should succeed
Scenario: Remove actor falls back to service path
Given an actor CLI runner
When I run actor remove via service path
Then the actor service remove should be called
# @tdd_issue @tdd_issue_4232 @tdd_expected_fail @skip
@skip
Scenario: Add actor parses uppercase boolean option override
Given an actor CLI runner
And I have an actor JSON config file with options
When I run actor add with uppercase boolean option override
Then the actor add should pass the loaded config
Scenario: Run actor uses load context with named context
Given an actor CLI runner
And I have an actor JSON config file
And I have a saved context JSON file
And I have an actor output file path
When I run actor run with load context and context name
Then the actor run should write output and persist context
Scenario: Run actor loads context without name
Given an actor CLI runner
And I have an actor JSON config file
And I have a saved context JSON file
When I run actor run with load context only
Then the actor run should update global context and echo result
Scenario: Run actor reuses named context
Given an actor CLI runner
And I have an actor JSON config file
When I run actor run with context only
Then the actor run should reuse saved context
Scenario: Run actor executes without context
Given an actor CLI runner
And I have an actor JSON config file
When I run actor run without context
Then the actor run should call single shot without context manager
Scenario: Run actor forwards allow-rxpy flag with named context and output
Given an actor CLI runner
And I have an actor JSON config file
And I have a saved context JSON file
And I have an actor output file path
When I run actor run with load context and context name allowing rxpy
Then the actor run should write output and persist context
And the actor run should pass allow rxpy flag
Scenario: Run actor forwards allow-rxpy flag when loading context only
Given an actor CLI runner
And I have an actor JSON config file
And I have a saved context JSON file
When I run actor run with load context only allowing rxpy
Then the actor run should update global context and echo result
And the actor run should pass allow rxpy flag
Scenario: Run actor forwards allow-rxpy flag when reusing context
Given an actor CLI runner
And I have an actor JSON config file
When I run actor run with context only allowing rxpy
Then the actor run should reuse saved context
And the actor run should pass allow rxpy flag
Scenario: Run actor forwards allow-rxpy flag without context
Given an actor CLI runner
And I have an actor JSON config file
When I run actor run without context allowing rxpy
Then the actor run should call single shot without context manager
And the actor run should pass allow rxpy flag
Scenario: Run actor reports unsafe configuration error
Given an actor CLI runner
And I have an actor JSON config file
When I run actor run with unsafe configuration error
Then the actor run should exit with error code 1
Scenario: Run actor reports clever agents error
Given an actor CLI runner
And I have an actor JSON config file
When I run actor run with clever agents error
Then the actor run should exit with error code 2
@coverage
Scenario: Run actor with single skill flag
Given an actor CLI runner
And I have an actor JSON config file
When I run actor run with a single skill flag
Then the actor run should pass skill names to the runtime
@coverage
Scenario: Run actor with multiple skill flags
Given an actor CLI runner
And I have an actor JSON config file
When I run actor run with multiple skill flags
Then the actor run should pass all skill names to the runtime
@coverage
Scenario: Run actor with unknown skill flag
Given an actor CLI runner
And I have an actor JSON config file
When I run actor run with an unknown skill flag
Then the actor run should exit with skill not found error
@coverage
Scenario: Run actor with skill and context flags combined
Given an actor CLI runner
And I have an actor JSON config file
When I run actor run with skill and context flags
Then the actor run should pass skill names to the runtime
And the context manager should have been instantiated
And the context manager exists should have been called