Feature: Context service coverage boost
  As a maintainer
  I want remaining uncovered defensive branches in context_service.py exercised
  So that coverage reaches the maximum achievable level

  # Line 566: `or {}` fallback when Settings.build_langsmith_config returns None
  @coverage
  Scenario: _build_langsmith_config falls back to empty dict when settings helper returns None
    Given a boost workspace with LangSmith enabled but build returning None
    When I build a LangSmith config via the boost service
    Then the boost LangSmith config should be an empty dict

  # Lines 603-607: except Exception branch in _refresh_vector_index
  @coverage
  Scenario: _refresh_vector_index catches generic non-ConfigurationError exceptions
    Given a boost workspace with a vector store that raises RuntimeError on refresh
    When I trigger a boost vector index refresh
    Then the boost refresh should complete without raising

  # Line 923: service is None defensive guard in search_context
  @coverage
  Scenario: search_context returns empty when vector store available reports true but service is None
    Given a boost workspace where vector_store_available is true but service is None
    When I search the boost context for "test query"
    Then the boost search results should be empty

  # Lines 938-939: except Exception branch in search_context
  @coverage
  Scenario: search_context catches generic non-ConfigurationError from vector store search
    Given a boost workspace with a vector store that raises RuntimeError on search
    When I search the boost context for "find me"
    Then the boost search results should be empty
