Feature: Context Analysis Coverage Boost Additional scenarios targeting previously uncovered defensive code paths in cleveragents.agents.graphs.context_analysis module. Background: Given the context analysis coverage module is imported # ---- _with_retry fallback (line 183) ---- Scenario: _with_retry returns chain unchanged when it has no with_retry method Given I have a context analysis agent for coverage boost And I have a runnable without a with_retry method When I call _with_retry on the runnable Then the returned object should be the same runnable # ---- _load_files exception handler (lines 239-240) ---- Scenario: _load_files records error when TextLoader raises an exception Given I have a context analysis agent for coverage boost And TextLoader.load is patched to raise an OSError When I execute load_files with a real file path Then the load_files result should contain an error mentioning the file And the documents list should be empty in the result # ---- _analyze_dependencies exception handler (lines 267-276) ---- Scenario: _analyze_dependencies records error when LLM chain raises Given I have a context analysis agent with a raising LLM for coverage boost And I have a state with one document for dependency analysis When I execute analyze_dependencies on the state Then the result should have an error about dependency analysis And the dependencies for the document should be an empty list Scenario: _analyze_dependencies combines errors with pre-existing state error Given I have a context analysis agent with a raising LLM for coverage boost And I have a state with one document and a pre-existing error When I execute analyze_dependencies on the state Then the result error should contain both the pre-existing and new error messages # ---- _score_relevance exception handler (lines 351-358) ---- Scenario: _score_relevance records error when LLM chain raises Given I have a context analysis agent with a raising LLM for coverage boost And I have a state with chunks for relevance scoring When I execute score_relevance on the state Then the result should have an error about relevance scoring And the relevance score for the file should default to 0.5 Scenario: _score_relevance combines errors with pre-existing state error Given I have a context analysis agent with a raising LLM for coverage boost And I have a state with chunks and a pre-existing error for scoring When I execute score_relevance on the state Then the scoring result error should contain both the pre-existing and new error messages # ---- _summarize_context exception handler (lines 416-424) ---- Scenario: _summarize_context records error when LLM chain raises Given I have a context analysis agent with a raising LLM for coverage boost And I have a complete state ready for summarization When I execute summarize_context on the state Then the summary should be "Context analysis failed" And the result should have an error about summarization Scenario: _summarize_context combines errors with pre-existing state error Given I have a context analysis agent with a raising LLM for coverage boost And I have a complete state with a pre-existing error for summarization When I execute summarize_context on the state Then the summary should be "Context analysis failed" And the summarization result error should contain both the pre-existing and new error messages # ---- No LLM provided raises ValueError (lines 114-118) ---- Scenario: Agent constructor raises ValueError when no LLM is provided When I try to create a ContextAnalysisAgent with no LLM Then a ValueError should be raised about missing LLM provider