# Acceptance Test: AC-6 - User Input Recovery ## Summary Validate Acceptance Criterion 6: "In case of being absolutely incapable of determining the system to determine next, second next, and third next images GPS, by any means (these 20% of the route), then it should ask the user for input for the next image." ## Linked Acceptance Criteria **AC-6**: User input requested after 3 consecutive failures ## Test Steps ### Step 1: Simulate Triple Failure - **Action**: Process flight where L1, L2, L3 all fail for AD000003, AD000004, AD000005 - **Expected Result**: After 3rd consecutive failure, system requests user input via SSE event ### Step 2: User Receives Notification - **Action**: SSE client receives "user_input_required" event - **Expected Result**: Event includes image needing fix (AD000005), top-3 satellite tiles for reference ### Step 3: User Provides GPS Fix - **Action**: User submits GPS for AD000005: POST /flights/{flightId}/user-fix - **Payload**: `{"frame_id": 5, "uav_pixel": [3126, 2084], "satellite_gps": {"lat": 48.273997, "lon": 37.379828}}` - **Expected Result**: Fix accepted, processing resumes, SSE event "user_fix_applied" sent ### Step 4: System Incorporates Fix - **Action**: Factor graph adds user fix as high-confidence GPS anchor - **Expected Result**: Trajectory refined incorporating user input ### Step 5: Processing Continues - **Action**: System processes AD000006 and beyond - **Expected Result**: Processing continues normally ## Success Criteria - User input requested after 3 consecutive failures (not before) - User notified via SSE with relevant info - User fix incorporated with high confidence - Processing resumes automatically - Allows up to 20% of route to need user input (12 out of 60 images) ## Pass/Fail Criteria **Passes If**: User input mechanism works, threshold correct (3 failures), processing resumes **Fails If**: User input not requested, or system cannot incorporate user fixes