Feature: Domain Repository Protocols As a developer maintaining the CleverAgents clean architecture I want domain repository protocols defined in the domain layer So that application services depend on abstractions, not infrastructure implementations Background: Given the domain repository protocols are importable Scenario: LifecyclePlanRepositoryProtocol is defined in the domain layer When I inspect the LifecyclePlanRepositoryProtocol Then it should be a runtime-checkable Protocol And it should define a "create" method And it should define a "get" method And it should define a "update" method And it should define a "delete" method And it should define a "list_all" method Scenario: ActionRepositoryProtocol is defined in the domain layer When I inspect the ActionRepositoryProtocol Then it should be a runtime-checkable Protocol And it should define a "create" method And it should define a "get_by_id" method And it should define a "update" method And it should define a "delete" method And it should define a "list_all" method Scenario: DecisionRepositoryProtocol is defined in the domain layer When I inspect the DecisionRepositoryProtocol Then it should be a runtime-checkable Protocol And it should define a "create" method And it should define a "get" method And it should define a "get_by_plan" method And it should define a "get_tree" method Scenario: ProjectRepositoryProtocol is defined in the domain layer When I inspect the ProjectRepositoryProtocol Then it should be a runtime-checkable Protocol And it should define a "create" method And it should define a "get" method And it should define a "update" method And it should define a "delete" method Scenario: LifecyclePlanRepository satisfies LifecyclePlanRepositoryProtocol Given the infrastructure LifecyclePlanRepository class When I check if it satisfies LifecyclePlanRepositoryProtocol Then the isinstance check should pass Scenario: ActionRepository satisfies ActionRepositoryProtocol Given the infrastructure ActionRepository class When I check if it satisfies ActionRepositoryProtocol Then the isinstance check should pass Scenario: DecisionRepository satisfies DecisionRepositoryProtocol Given the infrastructure DecisionRepository class When I check if it satisfies DecisionRepositoryProtocol Then the isinstance check should pass Scenario: NamespacedProjectRepository satisfies ProjectRepositoryProtocol Given the infrastructure NamespacedProjectRepository class When I check if it satisfies ProjectRepositoryProtocol Then the isinstance check should pass Scenario: Domain repository protocols are exported from the domain package When I import from cleveragents.domain.repositories Then LifecyclePlanRepositoryProtocol should be available And ActionRepositoryProtocol should be available And DecisionRepositoryProtocol should be available And ProjectRepositoryProtocol should be available Scenario: Protocol modules are in the domain layer, not infrastructure When I check the module path of LifecyclePlanRepositoryProtocol Then the module should be under "cleveragents.domain" When I check the module path of ActionRepositoryProtocol Then the module should be under "cleveragents.domain" When I check the module path of DecisionRepositoryProtocol Then the module should be under "cleveragents.domain" When I check the module path of ProjectRepositoryProtocol Then the module should be under "cleveragents.domain"