Feature: Actor Service Coverage Boost
  Additional scenarios that exercise previously uncovered code paths
  in the actor_service module (lines 106-107, 150-157, 161-162).

  Background:
    Given the actsvc coverage module is imported

  Scenario: upsert_actor rejects non-local prefix when is_built_in is False
    Given I have an actsvc service with a mock unit of work
    And the actsvc repo has no existing actor for "openai/gpt4"
    When I call actsvc upsert_actor with name "openai/gpt4" provider "openai" model "gpt4" and is_built_in False
    Then an actsvc ValidationError should be raised with message "Custom actors must use the 'local/<id>' naming pattern"

  Scenario: remove_actor emits ENTITY_DELETED event via event bus on success
    Given I have an actsvc service with a working event bus
    And the actsvc repo has an existing local actor named "local/deletable"
    When I call actsvc remove_actor with name "local/deletable"
    Then the actsvc actor should be deleted successfully
    And the actsvc event bus should have received an ENTITY_DELETED event for "local/deletable"

  Scenario: remove_actor logs warning when event bus emit raises an exception
    Given I have an actsvc service with a failing event bus
    And the actsvc repo has an existing local actor named "local/failing-emit"
    When I call actsvc remove_actor with name "local/failing-emit"
    Then the actsvc actor should be deleted despite the emit failure
    And the actsvc warning about audit_emit_failed should have been logged
