forked from cleveragents/cleveragents-core
57 lines
3.0 KiB
Gherkin
57 lines
3.0 KiB
Gherkin
Feature: Actor registry coverage
|
|
As a developer
|
|
I want actor registry behaviors covered
|
|
So that built-in and custom actors are validated
|
|
|
|
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
|