Files
gps-denied-onboard/docs/03_tests/40_user_input_recovery_spec.md
T
Oleksandr Bezdieniezhnykh 4f8c18a066 add tests
gen_tests updated
solution.md updated
2025-11-24 22:57:46 +02:00

1.8 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 /api/v1/flights/{id}/images/AD000005/user_fix
  • Expected Result: Fix accepted, confidence=1.0, processing resumes

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