test(actor): add regression test for issue 4321 nested config extraction #11126
Merged
CoreRasurae
merged 1 commits from 2026-05-12 13:03:03 +00:00
fix/actor-registry-provider-extraction into master
Dismiss Review
Are you sure you want to dismiss this review?
Labels
Clear labels
auto/needs-reevaluation
controller-managed
overdue
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
Needs Feedback
Signed-off: Owner
Signed-off: Scrum Master
Signed-off: Tech Lead
Spike
Controller deferred this PR; awaiting Phase 6+ scope-evaluator or operator re-enablement.
Auto-agents controller manages this PR/issue (see tools/controller/deploy/RUNBOOK.md). Remove this label to abandon controller management.
PR blocked by an open issue dependency. Operator must close the dep (or remove the dependency link) before the merge driver can act. Auto-cleared by merge_drive when no open deps remain.
Most recent merge cycle hit CI timeout. Driver excludes this PR while last merge_cycle row is < 30 min old; label persists thereafter as visible history.
Currently being processed by an implementer worker.
Currently being processed by the merge driver.
Currently being processed by a reviewer worker.
Merge driver heartbeat stale; pipeline halted. Closed automatically on next clean tick.
Detected master commit violating the strict merge invariant. Tracked as an issue (not a PR label); kept here for label completeness.
In-cycle escalation: most recent attempt ran at the Tier 0 slot (`tier-0`). Slot's model defined in .opencode/models/tiers.yaml.
In-cycle escalation: most recent attempt ran at the Tier 1 slot (`tier-1`). Slot's model defined in .opencode/models/tiers.yaml.
In-cycle escalation: most recent attempt ran at the Tier 2 slot (`tier-2`). Slot's model defined in .opencode/models/tiers.yaml. Gated behind IMPLEMENTER_ESCALATION_TIER2_ENABLED.
In-cycle escalation: most recent attempt ran at the Tier -1 slot (`tier-min`). Slot's model defined in .opencode/models/tiers.yaml. Suffix is ``-min`` (not ``--1``) so the Forgejo UI reads naturally.
Tracking issues used by the AI Automation system for agents to communicate and report.
Rebase conflict needs LLM conflict-resolver.
Failing CI needs implementer attention.
Documenting a driver incident or rollback.
Reviewer has APPROVED this PR and no later REQUEST_CHANGES is outstanding. The merge driver requires this label to even consider a PR for merging. Set by the reviewer worker on APPROVE; cleared on REQUEST_CHANGES.
Train repeatedly lost master-tempo races. Driver excludes via merge_cycle until cooldown elapses; label persists as visible history.
Revert PR backing out an invariant violation. Fast-tracked through the merge driver.
Sentinel PR duplicated from upstream into a personal fork by tools/duplicate_prs_to_fork.py for pipeline testing. Lives only in the fork; the canonical pipeline never sees it.
No implementer activity for N days. Flagged for human review. Auto-cleared on next push to head branch.
Repeatedly fails on current master (>= 3 ci-fail-on-rebased-sha releases in 12 h). Excluded from driver until human triage.
A ticket in a blocked state and unable to complete until some other task is completed first.
Bounty
$100
A bounty of $100 for any open-source contributor who provides a MR that solves this issue
Bounty
$1000
A bounty of $1000 for any open-source contributor who provides a MR that solves this issue
Bounty
$10000
A bounty of $10000 for any open-source contributor who provides a MR that solves this issue
Bounty
$20
A bounty of $20 for any open-source contributor who provides a MR that solves this issue
Bounty
$2000
A bounty of $2000 for any open-source contributor who provides a MR that solves this issue
Bounty
$250
A bounty of $250 for any open-source contributor who provides a MR that solves this issue
Bounty
$50
A bounty of $50 for any open-source contributor who provides a MR that solves this issue
Bounty
$500
A bounty of $500 for any open-source contributor who provides a MR that solves this issue
Bounty
$5000
A bounty of $5000 for any open-source contributor who provides a MR that solves this issue
Bounty
$750
A bounty of $750 for any open-source contributor who provides a MR that solves this issue
MoSCoW
Could have
Could have feature in order to satisfy the epic/legendary.
MoSCoW
Must have
Must have feature in order to satisfy the epic/legendary.
MoSCoW
Should have
Should have feature in order to satisfy the epic/legendary.
There are questions in the ticket that can not be completed until the project owner provides clarity.
Points
1
1 man-hours worth of work for an expert with no learning curve.
Points
13
13 man-hours worth of work for an expert with no learning curve.
Points
2
2 man-hours worth of work for an expert with no learning curve.
Points
21
21 man-hours worth of work for an expert with no learning curve.
Points
3
3 man-hours worth of work for an expert with no learning curve.
Points
34
34 man-hours worth of work for an expert with no learning curve.
Points
5
5 man-hours worth of work for an expert with no learning curve.
Points
55
55 man-hours worth of work for an expert with no learning curve.
Points
8
8 man-hours worth of work for an expert with no learning curve.
Points
88
88 man-hours worth of work for an expert with no learning curve.
Priority
Backlog
This ticket has backlogged priority and is not to be worked on yet
Priority
CI Blocker
Critical priority issue that blocks CI/CD pipeline and prevents PR merges
Priority
Critical
The priority is critical
Priority
High
The priority is high
Priority
Low
The priority is low
Priority
Medium
The priority is medium
When an epic or legendary is in review it must be signed off by owner, tech lead, and scrum master before being marked as completed.
When an epic or legendary is in review it must be signed off by owner, tech lead, and scrum master before being marked as completed.
When an epic or legendary is in review it must be signed off by owner, tech lead, and scrum master before being marked as completed.
A ticket for learning a tool or technology that is needed to be able to do future planning and design.
State
Completed
The ticket has been fully implemented, completed, and merged with the source code. This label should only be applied once a ticket is closed.
State
Duplicate
A ticket that represents the same content as an existing ticket.
State
In Progress
A ticket that is actively being developed.
State
In Review
A ticket that has had some code completed to implement but is waiting to pass peer review and is not yet merged in.
State
Paused
This ticket's work started but wasn't finished. It's on hold (likely in a feature branch) and will be resumed later, either due to a blocker or a delay.
State
Unverified
All new tickets start in this state. A developer may set it to show the ticket is unverified. This means we haven't agreed to work on it. It will either move to a verified state or be closed as wontdo.
State
Verified
The issue has been verified by a developer as legitimate. It will be worked on and verified tickets are now considered part of the backlog.
State
Wont Do
This ticket has been decided it wont be done. This may mean the bug has been determined to not be real (cant verify) or the feature is one we have decided we dont want to adopt.
Type
Automation
Any edits or discussion about the AI automated coding system.
Type
Bug
Something that doesnt work as intended.
Type
Discussion
Anytime a ticket represents a discussion about a subject and doesnt fall into one of the other categories.
Type
Documentation
An error or improvement needed in the documentation.
Type
Epic
Any first tier epic. That is, an epic which contains only issues as children and will not have sub-epics.
Type
Feature
Some new functionality not present.
Type
Legendary
A type of Epic which will contain other Epics.
Type
Refactor
A code change that restructures existing code without changing its external behavior.
Type
Support
Someone needs help using the project.
Type
Task
A generic task that doesnt fit into the other type categories.
Type
Testing
Work exclusively focusing on fixing or expanding testing.
Projects
Clear projects
No project
Assignees
aditya (Aditya Chhabra)
aleenaumair (Aleena Umair)
brent.edwards (Brent Edwards)
CoreRasurae (Luis Mendes)
drew (Drew Morris)
eugen.thaci (Eugen Thaci)
freemo (Jeffrey Phillips Freeman)
HAL9000 (HAL 9000)
HAL9001 (HAL9001)
hamza.khyari (Hamza Khyari)
hurui200320 (Rui Hu)
justin.morris
khird (Kyle Hird)
org.cleveragents
Clear assignees
No Assignees
HAL9000
Notifications
Due Date
No due date set.
Blocks
#4321 ActorRegistry.add() fails to extract provider and model from nested actor config
cleveragents/cleveragents-core
Reference: cleveragents/cleveragents-core#11126
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "fix/actor-registry-provider-extraction"
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
typeis only at the nestedactors.<name>level (not at top level), provider and model are correctly extracted from the nestedconfigblockChanges
features/actor_registry_spec_yaml.feature: Added scenario with@tdd_issue @tdd_issue_4321tagsfeatures/steps/actor_registry_spec_yaml_steps.py: Added step definition for new scenarioCHANGELOG.md: Added entry documenting the regression testTesting
actor_registry_spec_yaml.featurepassnox -s lint: All checks passednox -s typecheck: 0 errors, 3 warnings (optional langchain deps)Closes #4321
219f49d741to78b6b49974First Review — PR #11126:
test(actor): add regression test for issue 4321 nested config extractionThank you for the clear PR description and well-structured test. The regression test scenario itself is correctly written and follows the existing patterns in the codebase. All required CI gates pass (lint, typecheck, security, unit_tests, coverage, integration_tests, status-check). However, I have found four blocking issues that must be resolved before this PR can be approved.
❌ Blockers (must be resolved)
1. Commit message does not match the issue Metadata prescription
Issue #4321's
## Metadatasection prescribes the exact commit message:The actual commit uses:
Per CONTRIBUTING.md, the commit first line must be used verbatim from the issue Metadata. The current message also has the wrong
typeprefix (testvsfix) and a different scope.2. No companion TDD issue created for bug #4321
Issue #4321 is
Type/Bug. CONTRIBUTING.md requires that everyType/Bugissue have a companionType/Testingissue (with aTDD:title prefix), and the bug issue must depend on the TDD issue (TDD blocks the bug fix). No such companion issue was created for #4321. The current PR adds a test, which is good, but the process requires the TDD issue to exist separately so the dependency chain is explicit and traceable.3. Wrong branch prefix for the work being done
Branch
fix/actor-registry-provider-extractionuses thefix/prefix. Per CONTRIBUTING.md,fix/mN-branches are for bug fix implementation andtdd/mN-branches are for TDD test-only work. This PR only adds a test with no production code changes. The correct prefix for a test-only regression guard istdd/m6-actor-registry-provider-extraction.Note: I acknowledge the issue Metadata says
Branch: fix/actor-registry-provider-extraction. If the original intention was to fix the bug AND add the test in a single commit on this branch, but the fix ended up in #4300 instead, the issue Metadata needs to be updated to reflect the current state of the work.4.
Type/Bugissue closed by a test-only PR without verifying all acceptance criteriaIssue #4321 has six acceptance criteria — all of them describe behavioral requirements that the fix should satisfy (provider/model extraction working, actors registerable, plan execution not failing, etc.). This PR only adds a regression test. It relies on the fix from #4300 already being in master. Closing a
Type/Bugissue withCloses #4321on aType/TestingPR bypasses the acceptance criteria verification process.To properly close #4321, either:
fix/actor-registry-provider-extractionwork) should carryCloses #4321, and this test PR should reference a separate TDD issue with aRefs #4321note only⚠️ CI Failure — benchmark-regression
The
CI / benchmark-regressionjob is failing (run #20256, job #1). While this check is NOT in the required-for-mergestatus-checkgate, a failing CI job should always be explained. Please confirm whether this failure pre-dates this PR (i.e., was failing on master before this branch was cut) or was introduced by these changes. Given that this PR adds only test/changelog/feature files with no production code changes, this failure is most likely a pre-existing flake, but it should be explicitly acknowledged.✅ What is correct
@tdd_issue_4300scenario for comparison)@tdd_issue @tdd_issue_4321tags are used consistently with the codebase conventionType/Testinglabel is present ✅ISSUES CLOSED: #4321is present ✅Summary
This PR is close to correct but has four process violations that must be addressed. The most critical are the missing companion TDD issue (per the required workflow for bug tickets) and the commit message mismatch with the issue Metadata. Please address all four blockers and push a corrected commit.
Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
BLOCKER — Wrong branch prefix and missing companion TDD issue
Two related process violations:
Branch name:
fix/actor-registry-provider-extractionuses thefix/prefix which is reserved for bug fix implementation PRs (production code). This PR only adds a test. Per CONTRIBUTING.md, test-only work for a bug regression guard should use atdd/mN-branch. The correct name would betdd/m6-actor-registry-provider-extraction.Missing companion TDD issue: Issue #4321 is
Type/Bug. CONTRIBUTING.md requires a companionType/Testingissue (titledTDD: <same title>) to be created for every bug, and the bug issue must depend on (be blocked by) the TDD issue. This companion issue was never created. Please create the TDD companion issue and link it correctly before this test work can be merged.Note: The
@tdd_issue_4321tag itself is correct — it correctly identifies this scenario as the regression guard for issue #4321.Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
BLOCKER —
Type/Bugissue should not be closed by a test-only PRCloses #4321in the PR body will close issue #4321 (Type/Bug) when this PR is merged. However:Closes #4321Why this is a problem: Closing a
Type/Bugissue via a test-only PR means there is no traceable record that the acceptance criteria were validated as part of the fix work. The proper workflow is:Closes #4321with evidence the acceptance criteria were metRefs #4321only (or reference the separate TDD companion issue)Please update the PR body to replace
Closes #4321withRefs #4321, and ensure the bug issue is closed by the PR that implements the actual fix.Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
That request cannot be satisfied. the PR #4300 has already been merged to master and cannot be changed anymore. Consider opening an exception for this case, where the current master fails to have a regression test for part of what it implemented. It is better to have a test even if later, than nothing, as it is in master right now.
BLOCKER — Commit message mismatch with issue Metadata
Issue #4321
## Metadatasection prescribes this exact commit message:The actual commit on this PR uses:
Per CONTRIBUTING.md, the commit first line must match verbatim the
Commit Messagefield in the issue Metadata section. Please amend the commit to use the prescribed message exactly.If the prescribed message no longer accurately describes this PR (since the fix was done in #4300 and this PR only adds the test), then the issue Metadata should first be updated to reflect the actual work, and then the commit message should match that updated Metadata.
Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
While that is true, this commit does not include code changes, only tests, so it is better to use the more accurate description, maybe issue #4321 metadata should be updated instead, to math what we are actually doing.
Formal review submitted (review ID: 8630) — REQUEST_CHANGES.
Four blocking issues were identified. See the review for full details and inline comments on the specific violations. Once all blockers are addressed, please re-request review.
Automated by CleverAgents Bot
Supervisor: PR Review | Agent: pr-review-worker
@tdd_issue_4321the issues is not related to the test78b6b49974toad55c3a8e9ad55c3a8e9tof6ca9b7291