Feature: Processing Decision Logic As a data engineer I want the system to decide whether to process datasets So that I avoid reprocessing completed work Background: Given an authenticated sheets tracker And a sheet with the following datasets | Dataset Name | Status | Error | | wordnet | NOT STARTED | | | yago | IN PROGRESS | | | dbpedia | DONE | | | geonames | SKIP | | Scenario: Should process NOT STARTED dataset When I check if "wordnet" should be processed Then the decision should be to process And the reason should contain "NOT STARTED" Scenario: Should not process DONE dataset When I check if "dbpedia" should be processed Then the decision should be to skip And the reason should contain "DONE" Scenario: Should not process IN PROGRESS dataset When I check if "yago" should be processed Then the decision should be to skip And the reason should contain "IN PROGRESS" Scenario: Should not process unknown status When I check if "geonames" should be processed Then the decision should be to skip And the reason should contain "Unknown status" Scenario: Force processing overrides status When I check if "dbpedia" should be processed with force enabled Then the decision should be to process And the reason should contain "Force processing" Scenario: Process dataset not in sheet When I check if "nonexistent" should be processed Then the decision should be to process And the reason should contain "No status found" Scenario: Process when tracker not authenticated (tracking is optional) Given an unauthenticated sheets tracker When I check if "wordnet" should be processed Then the decision should be to process And the reason should contain "not available"