Bug: agents actor add does not enforce --update flag — silently upserts existing actors without error #1500

Open
opened 2026-04-02 19:35:20 +00:00 by freemo · 14 comments
Owner

Metadata

  • Branch: fix/actor-add-enforce-update-flag
  • Commit Message: fix(cli): enforce --update flag in actor add — fail if actor exists without --update
  • Milestone: v3.6.0
  • Parent Epic: #945

Background

The specification (docs/specification.md, section "agents actor add") defines the following contract:

"If a local actor with the same name already exists, the command fails unless the --update flag is provided, which replaces the existing actor."

The spec also defines the expected error output when adding an existing actor without --update:

Error
  Actor already exists: local/reviewer
  Registered: 2026-02-07 14:22
  Use --update to replace the existing actor definition.

[ERROR] Actor already registered -- use --update to replace

Bug Description

The actor add command in src/cleveragents/cli/commands/actor.py (add() function, lines ~370–470) calls registry.upsert_actor() (or service.upsert_actor()) unconditionally, regardless of whether --update is provided. The update_existing parameter is accepted by the function but is never passed to the upsert call to enforce the spec-required failure path.

As a result, the update_existing flag only affects the title text in the success output panel ("Actor updated" vs "Actor added") — it does not enforce the spec's explicit contract that the command must fail with a structured error when an actor already exists and --update was not supplied.

Steps to Reproduce

  1. Add an actor: agents actor add --config ./actors/reviewer.yaml
  2. Add the same actor again without --update: agents actor add --config ./actors/reviewer.yaml
  3. Expected: Structured error output with "Actor already exists" message and exit code 1
  4. Actual: Silently succeeds and overwrites the existing actor

Affected Code

  • File: src/cleveragents/cli/commands/actor.py
  • Function: add(), lines ~370–470
  • Root cause: update_existing flag is not forwarded to the registry/service upsert call; no pre-check for actor existence before upsert

Subtasks

  • Write a TDD issue-capture Behave scenario (@tdd_expected_fail) demonstrating the bug: actor add without --update on an existing actor succeeds when it should fail
  • Write a TDD issue-capture Behave scenario (@tdd_expected_fail) demonstrating the bug: actor add with --update on an existing actor succeeds (positive path)
  • Implement pre-existence check in add(): before calling upsert, query the registry/service for an actor with the same name; if found and update_existing is False, raise a structured error
  • Implement the spec-conformant error output: render an error panel with actor name, registration timestamp, and the "Use --update to replace" hint, then exit with code 1
  • Remove the @tdd_expected_fail tags from the issue-capture scenarios (they should now pass)
  • Add a Robot Framework integration test covering both the failure path (no --update) and the success path (with --update)
  • Run nox -e lint and nox -e typecheck — fix any issues
  • Run nox -e unit_tests — all scenarios pass
  • Run nox -e integration_tests — all Robot tests pass
  • Run nox -e coverage_report — coverage >= 97%
  • Run full nox — all default sessions pass

Definition of Done

  • agents actor add --config <FILE> (no --update) on an existing actor exits with code 1 and renders the spec-defined error output
  • agents actor add --config <FILE> --update on an existing actor succeeds and renders "Actor updated"
  • agents actor add --config <FILE> (no --update) on a new actor succeeds and renders "Actor added"
  • Behave scenarios cover all three paths above
  • Robot Framework integration test covers the failure and success paths
  • All nox stages pass
  • Coverage >= 97%

Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-new-issue-creator

## Metadata - **Branch**: `fix/actor-add-enforce-update-flag` - **Commit Message**: `fix(cli): enforce --update flag in actor add — fail if actor exists without --update` - **Milestone**: v3.6.0 - **Parent Epic**: #945 ## Background The specification (`docs/specification.md`, section "agents actor add") defines the following contract: > "If a local actor with the same name already exists, the command fails unless the `--update` flag is provided, which replaces the existing actor." The spec also defines the expected error output when adding an existing actor without `--update`: ``` Error Actor already exists: local/reviewer Registered: 2026-02-07 14:22 Use --update to replace the existing actor definition. [ERROR] Actor already registered -- use --update to replace ``` ## Bug Description The `actor add` command in `src/cleveragents/cli/commands/actor.py` (`add()` function, lines ~370–470) calls `registry.upsert_actor()` (or `service.upsert_actor()`) **unconditionally**, regardless of whether `--update` is provided. The `update_existing` parameter is accepted by the function but is **never passed to the upsert call** to enforce the spec-required failure path. As a result, the `update_existing` flag only affects the title text in the success output panel ("Actor updated" vs "Actor added") — it does **not** enforce the spec's explicit contract that the command must fail with a structured error when an actor already exists and `--update` was not supplied. ## Steps to Reproduce 1. Add an actor: `agents actor add --config ./actors/reviewer.yaml` 2. Add the same actor again without `--update`: `agents actor add --config ./actors/reviewer.yaml` 3. **Expected**: Structured error output with "Actor already exists" message and exit code 1 4. **Actual**: Silently succeeds and overwrites the existing actor ## Affected Code - **File**: `src/cleveragents/cli/commands/actor.py` - **Function**: `add()`, lines ~370–470 - **Root cause**: `update_existing` flag is not forwarded to the registry/service upsert call; no pre-check for actor existence before upsert ## Subtasks - [ ] Write a TDD issue-capture Behave scenario (`@tdd_expected_fail`) demonstrating the bug: `actor add` without `--update` on an existing actor succeeds when it should fail - [ ] Write a TDD issue-capture Behave scenario (`@tdd_expected_fail`) demonstrating the bug: `actor add` with `--update` on an existing actor succeeds (positive path) - [ ] Implement pre-existence check in `add()`: before calling upsert, query the registry/service for an actor with the same name; if found and `update_existing` is `False`, raise a structured error - [ ] Implement the spec-conformant error output: render an error panel with actor name, registration timestamp, and the "Use --update to replace" hint, then exit with code 1 - [ ] Remove the `@tdd_expected_fail` tags from the issue-capture scenarios (they should now pass) - [ ] Add a Robot Framework integration test covering both the failure path (no `--update`) and the success path (with `--update`) - [ ] Run `nox -e lint` and `nox -e typecheck` — fix any issues - [ ] Run `nox -e unit_tests` — all scenarios pass - [ ] Run `nox -e integration_tests` — all Robot tests pass - [ ] Run `nox -e coverage_report` — coverage >= 97% - [ ] Run full `nox` — all default sessions pass ## Definition of Done - [ ] `agents actor add --config <FILE>` (no `--update`) on an existing actor exits with code 1 and renders the spec-defined error output - [ ] `agents actor add --config <FILE> --update` on an existing actor succeeds and renders "Actor updated" - [ ] `agents actor add --config <FILE>` (no `--update`) on a **new** actor succeeds and renders "Actor added" - [ ] Behave scenarios cover all three paths above - [ ] Robot Framework integration test covers the failure and success paths - [ ] All nox stages pass - [ ] Coverage >= 97% --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
freemo added this to the v3.6.0 milestone 2026-04-02 19:35:32 +00:00
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: High (already assigned) — The --update flag is accepted but not enforced. Existing actors are silently overwritten without the flag.
  • Milestone: v3.6.0 (already assigned)
  • MoSCoW: Must Have — The spec explicitly states: "If a local actor with the same name already exists, the command fails unless the --update flag is provided." The current implementation silently upserts, which is a data safety issue — users could accidentally overwrite actor configurations without realizing it.
  • Parent Epic: #945

Valid UAT bug. The update_existing flag only affects the output title text, not the actual behavior. The fix requires adding a pre-existence check before the upsert call.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: ca-project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: High (already assigned) — The `--update` flag is accepted but not enforced. Existing actors are silently overwritten without the flag. - **Milestone**: v3.6.0 (already assigned) - **MoSCoW**: Must Have — The spec explicitly states: "If a local actor with the same name already exists, the command fails unless the `--update` flag is provided." The current implementation silently upserts, which is a data safety issue — users could accidentally overwrite actor configurations without realizing it. - **Parent Epic**: #945 Valid UAT bug. The `update_existing` flag only affects the output title text, not the actual behavior. The fix requires adding a pre-existence check before the upsert call. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
Author
Owner

PR #1513 Review Outcome: Changes Requested

PR #1513 was reviewed and changes were requested. The PR in its current state contains only a single comment line added to actor.py — no actual bug fix implementation, no tests, and no behavioral change.

Key Issues Found:

  1. No implementation — The add() function still unconditionally upserts without checking for existing actors or respecting the --update flag
  2. No tests — Zero Behave BDD scenarios or Robot Framework integration tests added
  3. PR metadata incomplete — Missing milestone (should be v3.6.0), missing Type/Bug label
  4. Commit message doesn't match issue metadata — Should be fix(cli): enforce --update flag in actor add — fail if actor exists without --update

The PR needs to be completely reworked to actually implement the fix described in this issue's subtasks and Definition of Done.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

## PR #1513 Review Outcome: Changes Requested PR #1513 was reviewed and **changes were requested**. The PR in its current state contains only a single comment line added to `actor.py` — no actual bug fix implementation, no tests, and no behavioral change. ### Key Issues Found: 1. **No implementation** — The `add()` function still unconditionally upserts without checking for existing actors or respecting the `--update` flag 2. **No tests** — Zero Behave BDD scenarios or Robot Framework integration tests added 3. **PR metadata incomplete** — Missing milestone (should be v3.6.0), missing `Type/Bug` label 4. **Commit message doesn't match issue metadata** — Should be `fix(cli): enforce --update flag in actor add — fail if actor exists without --update` The PR needs to be completely reworked to actually implement the fix described in this issue's subtasks and Definition of Done. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
freemo self-assigned this 2026-04-02 22:11:03 +00:00
Author
Owner

PR #1513 Review Outcome: REQUEST CHANGES

PR #1513 (fix/1500-impl) was reviewed and changes were requested. The PR contains no actual implementation — only a single comment line was added to actor.py. The bug described in this issue remains completely unaddressed.

Key Issues Found:

  1. No implementation — the add() function still unconditionally upserts without checking for actor existence or respecting the --update flag
  2. No tests added — zero Behave scenarios, zero Robot Framework tests
  3. PR metadata mismatches — wrong milestone (v3.7.0 vs v3.6.0), wrong commit message scope, missing ISSUES CLOSED footer

The PR needs a complete rewrite with the actual bug fix, tests, and corrected metadata before it can be approved.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

## PR #1513 Review Outcome: REQUEST CHANGES PR #1513 (`fix/1500-impl`) was reviewed and **changes were requested**. The PR contains no actual implementation — only a single comment line was added to `actor.py`. The bug described in this issue remains completely unaddressed. ### Key Issues Found: 1. **No implementation** — the `add()` function still unconditionally upserts without checking for actor existence or respecting the `--update` flag 2. **No tests added** — zero Behave scenarios, zero Robot Framework tests 3. **PR metadata mismatches** — wrong milestone (v3.7.0 vs v3.6.0), wrong commit message scope, missing `ISSUES CLOSED` footer The PR needs a complete rewrite with the actual bug fix, tests, and corrected metadata before it can be approved. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 — Third Review: Changes Requested

PR #1513 has been reviewed for the third time. The PR has not been updated since the first two reviews — it still contains only a single comment line (# Issue #1500: Actor add --update flag enforcement fix) appended to actor.py. No actual implementation, no tests, no fix.

Key issues remaining:

  1. No pre-existence check in the add() function — update_existing parameter is accepted but never used
  2. No Behave BDD test scenarios
  3. No Robot Framework integration tests
  4. Commit message uses wrong scope (v3.7.0 instead of cli) and doesn't match issue metadata
  5. PR milestone is v3.7.0 but issue is on v3.6.0

The PR needs a complete rewrite with actual implementation before it can be approved.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

## PR #1513 — Third Review: Changes Requested PR #1513 has been reviewed for the third time. The PR has **not been updated** since the first two reviews — it still contains only a single comment line (`# Issue #1500: Actor add --update flag enforcement fix`) appended to `actor.py`. No actual implementation, no tests, no fix. **Key issues remaining:** 1. No pre-existence check in the `add()` function — `update_existing` parameter is accepted but never used 2. No Behave BDD test scenarios 3. No Robot Framework integration tests 4. Commit message uses wrong scope (`v3.7.0` instead of `cli`) and doesn't match issue metadata 5. PR milestone is v3.7.0 but issue is on v3.6.0 The PR needs a complete rewrite with actual implementation before it can be approved. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 has been reviewed for the fourth time and changes are still requested. The PR has not been updated since the initial submission — the entire diff is a single comment line, not an actual implementation of the bug fix.

The PR needs:

  1. Actual implementation of the pre-existence check and --update flag enforcement in the add() function
  2. Behave BDD test scenarios and Robot Framework integration tests
  3. Correct commit message, milestone (v3.6.0), and branch name per issue metadata

See PR #1513 review comment for full details.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

PR #1513 has been reviewed for the **fourth time** and changes are still requested. The PR has not been updated since the initial submission — the entire diff is a single comment line, not an actual implementation of the bug fix. The PR needs: 1. Actual implementation of the pre-existence check and `--update` flag enforcement in the `add()` function 2. Behave BDD test scenarios and Robot Framework integration tests 3. Correct commit message, milestone (v3.6.0), and branch name per issue metadata See [PR #1513 review comment](https://git.cleverthis.com/cleveragents/cleveragents-core/pulls/1513#issuecomment-93639) for full details. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 has received its fifth independent code review — changes requested again.

The PR has not been updated since it was opened. The entire diff is still a single comment line (# Issue #1500: Actor add --update flag enforcement fix) appended to actor.py. No actual implementation, no tests, and no metadata fixes have been made.

The PR needs:

  1. Actual implementation of the pre-existence check and --update enforcement in the add() function
  2. Behave BDD scenarios and Robot Framework integration tests
  3. Correct commit message, milestone (v3.6.0), and branch name per issue metadata
  4. Removal of the comment-only change

See PR #1513 comments for full details.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

PR #1513 has received its **fifth independent code review** — changes requested again. The PR has **not been updated** since it was opened. The entire diff is still a single comment line (`# Issue #1500: Actor add --update flag enforcement fix`) appended to `actor.py`. No actual implementation, no tests, and no metadata fixes have been made. The PR needs: 1. Actual implementation of the pre-existence check and `--update` enforcement in the `add()` function 2. Behave BDD scenarios and Robot Framework integration tests 3. Correct commit message, milestone (v3.6.0), and branch name per issue metadata 4. Removal of the comment-only change See PR #1513 comments for full details. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 Review Update — Changes Still Required

PR #1513 has now received six independent code reviews, all requesting the same changes. The branch has not been updated since the PR was opened — the head commit (610c074) is unchanged.

The PR currently contains only a single comment line appended to actor.py and does not implement any of the required changes:

  1. No pre-existence check in add() function
  2. No enforcement of update_existing flag
  3. No spec-defined error output
  4. No Behave BDD test scenarios
  5. No Robot Framework integration tests
  6. Commit message, milestone, and branch name do not match issue metadata

The issue worker needs to implement the actual bug fix before this PR can be approved. Detailed implementation guidance has been provided in the PR review comments.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

## PR #1513 Review Update — Changes Still Required PR #1513 has now received **six independent code reviews**, all requesting the same changes. The branch has **not been updated** since the PR was opened — the head commit (`610c074`) is unchanged. The PR currently contains only a single comment line appended to `actor.py` and does not implement any of the required changes: 1. ❌ No pre-existence check in `add()` function 2. ❌ No enforcement of `update_existing` flag 3. ❌ No spec-defined error output 4. ❌ No Behave BDD test scenarios 5. ❌ No Robot Framework integration tests 6. ❌ Commit message, milestone, and branch name do not match issue metadata The issue worker needs to implement the actual bug fix before this PR can be approved. Detailed implementation guidance has been provided in the PR review comments. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 has been reviewed for the seventh time. The branch has not been updated since it was opened — the head commit (610c074) is unchanged. The entire diff is still a single comment line, not an actual implementation.

Seven independent reviews have unanimously requested the same changes: implement the actual bug fix, add tests, fix commit message/milestone/branch metadata, and remove the comment-only change. None of these have been addressed.

The PR remains in REQUEST_CHANGES status. The bug described in this issue is completely unaddressed by PR #1513.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

PR #1513 has been reviewed for the seventh time. The branch has **not been updated** since it was opened — the head commit (`610c074`) is unchanged. The entire diff is still a single comment line, not an actual implementation. Seven independent reviews have unanimously requested the same changes: implement the actual bug fix, add tests, fix commit message/milestone/branch metadata, and remove the comment-only change. None of these have been addressed. The PR remains in REQUEST_CHANGES status. The bug described in this issue is completely unaddressed by PR #1513. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 has been reviewed for the eighth time. Changes still requested — the PR has not been updated since it was opened on April 2. The branch head commit (610c074) contains only a comment line, not an actual implementation of the bug fix. All seven prior reviews requested the same changes and none have been addressed.

The PR needs: actual implementation of the pre-existence check in add(), Behave BDD scenarios, Robot Framework integration tests, corrected commit message/milestone/branch name per issue metadata, and removal of the comment-only change.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

PR #1513 has been reviewed for the eighth time. **Changes still requested** — the PR has not been updated since it was opened on April 2. The branch head commit (`610c074`) contains only a comment line, not an actual implementation of the bug fix. All seven prior reviews requested the same changes and none have been addressed. The PR needs: actual implementation of the pre-existence check in `add()`, Behave BDD scenarios, Robot Framework integration tests, corrected commit message/milestone/branch name per issue metadata, and removal of the comment-only change. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 has been reviewed for the ninth time and changes are still requested. The branch has not been updated since the PR was opened on April 2 — the head commit (610c074) is unchanged.

The PR contains only a single comment line appended to actor.py — no actual implementation of the bug fix, no tests, and no metadata corrections. The add() function still unconditionally upserts without checking the update_existing flag.

Required before this PR can be approved:

  1. Implement the pre-existence check and enforcement logic in add()
  2. Add Behave BDD scenarios and Robot Framework integration tests
  3. Fix commit message, milestone (should be v3.6.0), and branch name per issue metadata
  4. Remove the comment-only change
  5. Pass all nox quality gates

Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

PR #1513 has been reviewed for the ninth time and **changes are still requested**. The branch has not been updated since the PR was opened on April 2 — the head commit (`610c074`) is unchanged. The PR contains only a single comment line appended to `actor.py` — no actual implementation of the bug fix, no tests, and no metadata corrections. The `add()` function still unconditionally upserts without checking the `update_existing` flag. **Required before this PR can be approved:** 1. Implement the pre-existence check and enforcement logic in `add()` 2. Add Behave BDD scenarios and Robot Framework integration tests 3. Fix commit message, milestone (should be v3.6.0), and branch name per issue metadata 4. Remove the comment-only change 5. Pass all nox quality gates --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 has received its tenth independent code review. Changes requested — the PR contains no actual implementation (only a comment line appended to actor.py). The add() function's update_existing parameter is still unused, no pre-existence check is implemented, no tests were added, and PR metadata (milestone, commit message, branch name) does not match issue requirements. The PR has not been updated since it was opened on April 2 despite nine prior reviews requesting the same changes.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

PR #1513 has received its tenth independent code review. **Changes requested** — the PR contains no actual implementation (only a comment line appended to `actor.py`). The `add()` function's `update_existing` parameter is still unused, no pre-existence check is implemented, no tests were added, and PR metadata (milestone, commit message, branch name) does not match issue requirements. The PR has not been updated since it was opened on April 2 despite nine prior reviews requesting the same changes. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 Review Outcome: REQUEST CHANGES

PR #1513 (fix/1500-impl) was reviewed and changes were requested. The PR does not implement the actual bug fix — the add() function still calls upsert_actor() unconditionally without a pre-existence check. The update_existing flag is only used for display text, not to gate the upsert operation.

Additionally, the PR contains 171 files of unrelated changes (module deletions, test deletions, CI config changes, spec modifications) that violate the single-responsibility commit rule.

What's needed before this can be approved:

  1. Implement the pre-existence check in add() per the spec
  2. Add the structured error output for the failure path
  3. Remove all unrelated changes (scope to actor add fix only)
  4. Add Behave + Robot tests per the subtask list
  5. Fix commit message to match issue metadata

Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

## PR #1513 Review Outcome: REQUEST CHANGES PR #1513 (`fix/1500-impl`) was reviewed and **changes were requested**. The PR does not implement the actual bug fix — the `add()` function still calls `upsert_actor()` unconditionally without a pre-existence check. The `update_existing` flag is only used for display text, not to gate the upsert operation. Additionally, the PR contains 171 files of unrelated changes (module deletions, test deletions, CI config changes, spec modifications) that violate the single-responsibility commit rule. ### What's needed before this can be approved: 1. Implement the pre-existence check in `add()` per the spec 2. Add the structured error output for the failure path 3. Remove all unrelated changes (scope to actor add fix only) 4. Add Behave + Robot tests per the subtask list 5. Fix commit message to match issue metadata --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 Review Outcome: Changes Requested

PR #1513 was reviewed and changes were requested. The PR in its current state contains only a single no-op comment added to actor.py — no functional code changes, no tests, and no actual bug fix implementation.

The review comment on the PR provides detailed guidance on what needs to be implemented:

  1. Pre-existence check in the add() function before calling upsert_actor()
  2. Spec-conformant error output when actor exists without --update
  3. Behave unit test scenarios for all three paths
  4. Robot Framework integration tests
  5. Commit message footer with ISSUES CLOSED: #1500

See PR #1513 review comment for full details.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

## PR #1513 Review Outcome: Changes Requested PR #1513 was reviewed and **changes were requested**. The PR in its current state contains only a single no-op comment added to `actor.py` — no functional code changes, no tests, and no actual bug fix implementation. The review comment on the PR provides detailed guidance on what needs to be implemented: 1. Pre-existence check in the `add()` function before calling `upsert_actor()` 2. Spec-conformant error output when actor exists without `--update` 3. Behave unit test scenarios for all three paths 4. Robot Framework integration tests 5. Commit message footer with `ISSUES CLOSED: #1500` See [PR #1513 review comment](https://git.cleverthis.com/cleveragents/cleveragents-core/pulls/1513#issuecomment-107154) for full details. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Author
Owner

PR #1513 Review: Changes Requested

PR #1513 was reviewed and changes were requested. The PR in its current state contains only a single no-op comment added to the end of actor.py — it does not implement any actual fix for the bug described in this issue.

Key Issues Found:

  1. No actual fix — the add() function still unconditionally calls upsert_actor() without checking for existing actors or respecting the update_existing flag
  2. No tests — no Behave scenarios or Robot Framework integration tests included
  3. CI failing — lint, typecheck, security, unit_tests, integration_tests, e2e_tests all failing
  4. Commit message format issues — wrong scope, missing ISSUES CLOSED footer
  5. Milestone mismatch — PR is on v3.7.0 but this issue is on v3.6.0

The PR needs a complete rework to actually implement the fix, tests, and pass all quality gates. See the detailed review on PR #1513 for specific guidance.


Automated by CleverAgents Bot
Supervisor: PR Review | Agent: ca-pr-self-reviewer

## PR #1513 Review: Changes Requested PR #1513 was reviewed and **changes were requested**. The PR in its current state contains only a single no-op comment added to the end of `actor.py` — it does not implement any actual fix for the bug described in this issue. ### Key Issues Found: 1. **No actual fix** — the `add()` function still unconditionally calls `upsert_actor()` without checking for existing actors or respecting the `update_existing` flag 2. **No tests** — no Behave scenarios or Robot Framework integration tests included 3. **CI failing** — lint, typecheck, security, unit_tests, integration_tests, e2e_tests all failing 4. **Commit message format issues** — wrong scope, missing ISSUES CLOSED footer 5. **Milestone mismatch** — PR is on v3.7.0 but this issue is on v3.6.0 The PR needs a complete rework to actually implement the fix, tests, and pass all quality gates. See the detailed review on PR #1513 for specific guidance. --- **Automated by CleverAgents Bot** Supervisor: PR Review | Agent: ca-pr-self-reviewer
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
cleveragents/cleveragents-core#1500
No description provided.