Feature: Strategy Coordinator Coverage Additional scenarios that exercise previously uncovered code paths in the strategy_coordinator module (lines 147, 152, 157, 162, 192, 198, 200, 291-294, 328, 331). Background: Given the strategy coordinator module is imported # ----------------------------------------------------------------------- # Property accessors (lines 147, 152, 157, 162) # ----------------------------------------------------------------------- Scenario: Accessing the config property returns the coordinator configuration Given a strategy coordinator with default configuration When I access the config property Then the config property returns a CoordinatorConfig instance Scenario: Accessing the selector property returns the strategy selector Given a strategy coordinator with default configuration When I access the selector property Then the selector property returns a ConfidenceWeightedSelector instance Scenario: Accessing the allocator property returns the budget allocator Given a strategy coordinator with default configuration When I access the allocator property Then the allocator property returns a ProportionalBudgetAllocator instance Scenario: Accessing the executor property returns the strategy executor Given a strategy coordinator with default configuration When I access the executor property Then the executor property returns a ParallelStrategyExecutor instance # ----------------------------------------------------------------------- # coordinate() with fragments=None default (line 192) # ----------------------------------------------------------------------- Scenario: Coordinate with no fragments defaults to empty list Given a strategy coordinator with mock pipeline components And a mock strategy that returns fragments without strategy_source When I call coordinate without passing fragments Then the coordination should succeed And the result should contain fragments from the mock strategy # ----------------------------------------------------------------------- # coordinate() with backends parameter (line 198) # ----------------------------------------------------------------------- Scenario: Coordinate enriches request with backends parameter Given a strategy coordinator with a request-capturing selector And a mock strategy that returns fragments without strategy_source When I call coordinate with backends parameter Then the enriched request should contain a backends key # ----------------------------------------------------------------------- # coordinate() with plan_context parameter (line 200) # ----------------------------------------------------------------------- Scenario: Coordinate enriches request with plan_context parameter Given a strategy coordinator with a request-capturing selector And a mock strategy that returns fragments without strategy_source When I call coordinate with plan_context parameter Then the enriched request should contain a plan_context key # ----------------------------------------------------------------------- # _apply_max_caps zero-confidence redistribution (lines 291-294) # ----------------------------------------------------------------------- Scenario: Max cap redistribution with zero-confidence uncapped strategies Given a strategy coordinator with per_strategy_max_cap of 500 And allocations with one capped strategy and two zero-confidence uncapped strategies When I apply max caps to the allocations Then the excess tokens should be equally redistributed among uncapped strategies # ----------------------------------------------------------------------- # _extract_strategies_used with strategy_source (lines 328, 331) # ----------------------------------------------------------------------- Scenario: Strategies used extracted from fragment strategy_source metadata Given a strategy coordinator with mock pipeline components And a mock strategy that returns fragments with strategy_source set When I call coordinate without passing fragments Then the strategies_used should be derived from fragment strategy_source