Files
cleveragents-core/features/actor_registry_coverage.feature
brent.edwards 17fe46d925
CI / lint (pull_request) Successful in 18s
CI / typecheck (pull_request) Successful in 26s
CI / security (pull_request) Successful in 17s
CI / quality (pull_request) Successful in 14s
CI / build (pull_request) Successful in 12s
CI / behave (3.13) (pull_request) Failing after 3m50s
CI / docker (pull_request) Has been skipped
CI / helm (pull_request) Has been skipped
CI / coverage (pull_request) Failing after 4m20s
test(behave): fix behave tests
There had been over 100 behave tests failing. There should be none failing now.
2026-02-12 04:47:02 +00:00

58 lines
3.2 KiB
Gherkin

Feature: Actor registry coverage
As a developer
I want actor registry behaviors covered
So that built-in and custom actors are validated
# TODO: Uncomment when step definitions are implemented
# Scenario: Skips built-in generation when no providers configured
# Given an actor registry with no configured providers
# When I ensure built-in actors are generated
# Then no actors should be created
# And no default actor should be set
#
# Scenario: Generates built-in actors and selects defaults
# Given provider defaults are provider "openai" model "gpt-4o-mini"
# And an actor registry with configured providers:
# | type | name | model |
# | openai | OpenAI | gpt-4o-mini |
# | anthropic | Claude | opus |
# When I ensure built-in actors are generated
# Then the registry should list actors ["OpenAI/gpt-4o-mini", "Claude/opus"]
# And the default actor should be "OpenAI/gpt-4o-mini"
# When I remove actor "OpenAI/gpt-4o-mini"
# Then the stored actors should be ["Claude/opus"]
#
# Scenario: Built-in actors include graph descriptors and capabilities
# Given an actor registry with configured providers:
# | type | name | model |
# | openai | OpenAI | gpt-4o-mini |
# When I ensure built-in actors are generated
# Then the built-in actor payload should include graph descriptor and capabilities for "OpenAI/gpt-4o-mini"
#
# Scenario: Chooses first built-in actor when no defaults provided
# Given an actor registry with configured providers:
# | type | name | model |
# | openai | OpenAI | gpt-4o-mini |
# | anthropic | Claude | opus |
# When I ensure built-in actors are generated
# Then the registry should list actors ["OpenAI/gpt-4o-mini", "Claude/opus"]
# And the default actor should be "OpenAI/gpt-4o-mini"
#
# Scenario: Rejects unsafe actor configurations without confirmation
# Given an actor registry with no configured providers
# When I attempt to upsert actor "local/unsafe" with unsafe config
# Then a registry validation error should be raised for unsafe actor
#
# Scenario: Canonicalizes actor blob with graph descriptor and defaults
# Given an actor registry with no configured providers
# When I upsert actor "local/canonical" with provider "custom" model "demo-model" graph descriptor {"graph": "yes"} and options {"foo": "bar"}
# Then the stored actor config should include provider "custom" model "demo-model" graph descriptor {"graph": "yes"} unsafe false and option "foo" "bar"
#
# Scenario: Wrapper methods preserve supplied graph descriptor and defaults
# Given an actor registry with no configured providers
# When I upsert actor "local/wrapper" with raw config {"provider": "local", "model": "wrap-model", "graph_descriptor": {"graph": "existing"}, "options": {"alpha": 1}}
# And I retrieve actor "local/wrapper" via the registry
# And I set the default actor to "local/wrapper" via the registry
# Then the registry default actor via wrapper should be "local/wrapper"
# And the saved actor config should keep graph descriptor {"graph": "existing"} and option "alpha" 1