Skip to content

[uss_qualifier/flight_data_resource] Validate flights, fix flight data, test flight validation#1457

Merged
BenjaminPelletier merged 1 commit into
interuss:mainfrom
Orbitalize:fix_1443
May 15, 2026
Merged

[uss_qualifier/flight_data_resource] Validate flights, fix flight data, test flight validation#1457
BenjaminPelletier merged 1 commit into
interuss:mainfrom
Orbitalize:fix_1443

Conversation

@the-glu
Copy link
Copy Markdown
Contributor

@the-glu the-glu commented May 15, 2026

This PR try to avoid cases likes #1443 by improving flight data validation on loading.

FlightDataResource now validates flights as much as possible, reusing RIDCommonDictionaryEvaluator.

Existing validators are reused with minor tweaks. When injection validation runs without any observation, this is an expected case rather than a real error in the new case, signaled by raising NoObservedFlight.

A few invalid data points have been fixed:

  • generate_registration_number in operator_flight_details.py was generating invalid registration numbers.
  • kentland/rid.kml had an invalid serial number (original issue). (Has been also fixed in [uss_qualifier] Clean up NetRID automated testing #1446)
  • dcdemo.kml had wrong serial numbers.

Test cases have been added for as many situations as possible (missing fields / wrong fields), mainly using ExternalFile which is more 'malleable'.

Notice that the test_invalid_record test was not correct: it was using KML files instead of JSON files, generating a different error, not caught since the test is using Exception. We may want to start using an explicit exception.

Notice that invalid flights may still pass validation, dues to difference between rid versions, but that probably acceptable: during load, we don't know how the flight will be used.

@the-glu the-glu force-pushed the fix_1443 branch 3 times, most recently from b100889 to 65c9adb Compare May 15, 2026 08:36
filter_invalid_telemetry=False,
)

class DummyTestScenario(TestScenario):
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should at least add a P3 Issue to better encapsulate the validation logic so it can be used directly both here and in the evaluator (instead of strapping on a fake scenario in order to run it) :) But, this does seem to work and addresses a time-sensitive need, so I think this is fine for now.

@BenjaminPelletier BenjaminPelletier merged commit dfa29f7 into interuss:main May 15, 2026
23 checks passed
github-actions Bot added a commit that referenced this pull request May 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants