Feature: API Error Handling As a developer I want the tracker to handle API errors gracefully So that failures don't crash the application Background: Given an authenticated sheets tracker Scenario: Handle API failure during status retrieval Given the Google Sheets API will fail for get operation When I get the status of "wordnet" Then the operation should return None values gracefully And no exception should be raised Scenario: Handle API failure during status update Given a sheet with the following datasets | Dataset Name | Status | Error | | wordnet | NOT STARTED | | And the Google Sheets API will fail for update operation When I attempt to mark "wordnet" as in progress Then the update should fail gracefully And no exception should be raised Scenario: Handle API failure during header loading Given the Google Sheets API will fail when loading headers When I create a sheets tracker Then the tracker should use default column indices And authentication should still succeed Scenario: Handle network timeout during API call Given the Google Sheets API will timeout When I get the status of "wordnet" Then the operation should return None values gracefully And no exception should be raised Scenario: Handle malformed API response Given the Google Sheets API will return malformed response When I get the status of "wordnet" Then the operation should handle the error gracefully And return None values Scenario: Handle API rate limiting Given the Google Sheets API will return rate limit error When I attempt to update status for "wordnet" Then the update should fail gracefully And no exception should be raised Scenario: Handle authentication expiration during operation Given an authenticated sheets tracker And authentication will expire during operation When I attempt to get status of "wordnet" Then the operation should return None values gracefully And no exception should be raised Scenario: Get status when sheet is None but authenticated is True Given a tracker with authenticated=True but sheet=None When I get the status of "wordnet" Then the status should be None And the error should be None And the row should be None Scenario: Update status when sheet is None but authenticated is True Given a tracker with authenticated=True but sheet=None When I attempt to update status for "wordnet" Then the update should return False