test(actors): fix actor examples missing provider fields and incorrect name #1733
No reviewers
Labels
No labels
auto/needs-reevaluation
controller-managed
auto/blocked-by-deps
auto/ci-timeout
auto/claimed-implementer
auto/claimed-merge
auto/claimed-reviewer
auto/driver-down
auto/invariant-violation
auto/last-attempt-tier-0
auto/last-attempt-tier-1
auto/last-attempt-tier-2
auto/last-attempt-tier-min
Automation Tracking
auto/needs-conflict-resolution
auto/needs-implementer
auto/postmortem
auto/ready-to-merge
auto/restart-throttled
auto/revert
auto/sentinel
auto/stale-inactivity
auto/unstable
Blocked
Bounty
$100
Bounty
$1000
Bounty
$10000
Bounty
$20
Bounty
$2000
Bounty
$250
Bounty
$50
Bounty
$500
Bounty
$5000
Bounty
$750
MoSCoW
Could have
MoSCoW
Must have
MoSCoW
Should have
Needs Feedback
Points
1
Points
13
Points
2
Points
21
Points
3
Points
34
Points
5
Points
55
Points
8
Points
88
Priority
Backlog
Priority
CI Blocker
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Signed-off: Owner
Signed-off: Scrum Master
Signed-off: Tech Lead
Spike
State
Completed
State
Duplicate
State
In Progress
State
In Review
State
Paused
State
Unverified
State
Verified
State
Wont Do
Type
Automation
Type
Bug
Type
Discussion
Type
Documentation
Type
Epic
Type
Feature
Type
Legendary
Type
Refactor
Type
Support
Type
Task
Type
Testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
cleveragents/cleveragents-core!1733
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix-1504-actor-examples-missing-fields"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
This PR fixes all actor example YAML files in
examples/actors/that were failing on import due to missingprovider:fields or incorrect actor name identifiers. It also adds a new integration test that validates every actor example can be imported without errors, satisfying the Definition of Done for issue #1504.Changes
examples/actors/simple_llm.yaml— Added missingprovider: openaifield required byActorConfigurationat runtime.examples/actors/llm_with_tools.yaml— Added missingprovider: openaifield AND corrected the actornamefromassistants/file_analyzertolocal/assistants-file_analyzer. Custom actors must use thelocal/namespace prefix and cannot contain more than one/separator.examples/actors/strategy_with_subplan.yaml— Added missingprovider: openaifield.examples/actors/estimator.yaml— Added missingprovider: openaifield.examples/actors/simple_graph.yaml— Added missingprovider: openaifield.examples/actors/graph_workflow.yaml— Added missingprovider: openaifield.examples/actors/code_review.yaml— Added missingprovider: anthropicfield (this example uses a Claude model, so the provider is Anthropic, not OpenAI).examples/actors/hierarchical_workflow.yaml— Added missingprovider: openaifield.examples/actors/tool_collection.yaml— No changes needed; this is aTOOL-type actor with no LLM, soprovider/modelfields are not applicable.robot/helper_actor_examples.py— Added avalidate-allcommand that usesActorLoader.discover()to validate all actor examples through the full business logic checks provided byActorConfigSchema. This helper is invoked by the Robot Framework integration test.robot/actor_examples.robot— Added a new integration test case, "Validate All Actor Examples Import Without Errors", which iterates over every file inexamples/actors/and confirms each can be imported without errors. Updated the existing "Validate LLM With Tools Example" test to assert the corrected actor namelocal/assistants-file_analyzer.Design Decisions
providerfield scope: Theproviderfield is not enforced byActorConfigSchema(the v3 schema used for structural validation), but it is required byActorConfigurationat runtime when an LLM is involved. Adding it to the YAML examples ensures they are correct for both schema validation and runtime use, and prevents import failures when examples are loaded by users or tests.tool_collection.yamlleft unchanged: Tool-only actors do not invoke an LLM, soproviderandmodelare not applicable. No field was added to avoid introducing misleading configuration.local/namespace for custom actors: The naming convention requires that user-defined (non-registry) actors use thelocal/prefix and that the remainder of the name contains no further/separators. Thellm_with_tools.yamlnameassistants/file_analyzerviolated both constraints and has been corrected tolocal/assistants-file_analyzer.ActorLoader.discover(): UsingActorLoader.discover()in the integration test applies the same business logic path that production code uses, ensuring the test is a true end-to-end import validation rather than a shallow YAML parse check.Testing
Modules Affected
examples/actors/— 8 of 9 YAML example files correctedrobot/helper_actor_examples.py— newvalidate-allcommand addedrobot/actor_examples.robot— new integration test case added; existing test updatedCloses #1504
Automated by CleverAgents Bot
Supervisor: Implementation | Agent: ca-issue-worker
Review claimed by reviewer pool instance pr-reviewer-pool-3983434-1775170710. Dispatching independent code review.
Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-continuous-pr-reviewer
Independent Code Review — PR #1733
Summary
This PR correctly fixes 8 of 9 actor example YAML files in
examples/actors/by adding the missingprovider:field required byActorConfigurationat runtime, and corrects the invalid actor name inllm_with_tools.yamlfromassistants/file_analyzertolocal/assistants-file_analyzer. It also adds a meaningful integration test that validates all examples through the productionActorLoader.discover()code path.Review Findings
✅ Specification Alignment
providerfield additions are correct:openaifor GPT models,anthropicfor Claude models.tool_collection.yamlis correctly left unchanged (TOOL-type actors don't use LLM providers).local/namespace prefix for custom actors follows the naming convention enforced by the schema.assistants/file_analyzer→local/assistants-file_analyzeris correct per the issue description and naming rules.✅ Test Quality
Validate All Actor Examples Import Without ErrorsRobot test usesActorLoader.discover()— the same production code path — making it a genuine end-to-end import validation rather than a shallow YAML parse check.all-examples-ok:summary (completeness check).Validate LLM With Tools Exampletest is correctly updated to assert the new name.validate_all_examples()helper function follows the established pattern in the helper file.✅ Code Quality
✅ Correctness
providerfield.ActorLoaderimport is properly placed with the existingnoqa: E402pattern.✅ Security
⚠️ Minor Observations (non-blocking)
simple_llm.yamlusesname: assistants/code_reviewer(notlocal/), which is valid sinceassistants/is a recognized namespace per the schema examples. This is consistent and correct.Decision: APPROVED ✅
The changes are correct, well-tested, and directly address issue #1504's Definition of Done. Proceeding to merge.
Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer
Review: PR #1733 — test(actors): fix actor examples missing provider fields
Decision: APPROVED ✅ — Proceeding to merge
Straightforward fixes to 8 YAML examples adding missing
provider:fields. Correct provider assignment (anthropic for Claude, openai for GPT). Actor name corrected tolocal/namespace. Integration test usesActorLoader.discover()for real validation.Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer
Code Review: ✅ APPROVED
Reviewed against: CONTRIBUTING.md rules, actor configuration schema, naming conventions.
Summary:
Fixes 8 YAML example files with missing
provider:fields and corrects actor naming convention. New integration test validates all examples.local/namespace conventiontool_collection.yamlcorrectly left unchanged (no LLM)ActorLoader.discover()for real business logic validationProceeding to merge.
Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer