Files
gps-denied-desktop/docs/03_tests/40_user_input_recovery_spec.md
T
Oleksandr Bezdieniezhnykh 2037870f67 add chunking
2025-11-27 03:43:19 +02:00

1.9 KiB

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