Conversation
There was a problem hiding this comment.
Pull request overview
This PR continues the “Air Traffic unification” work by consolidating provider-specific generation/submission steps into the unified “Stream Air Traffic” step, while adding cross-provider latency simulation and Flight Blender varying refresh rate submission support. It also updates scenarios and tests to use the unified step interface and new result shape.
Changes:
- Added
data_quality(latency simulation) to provider creation via a wrapper, and plumbed it throughStream Air Traffic. - Added
refresh_modeto Flight Blender streaming to support varying refresh-rate submission behavior. - Updated YAML scenarios and tests to use
Stream Air Trafficand referencesteps.<id>.result.observations.
Reviewed changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_yaml_scenarios.py | Updates YAML-mocking comments to reflect unified StreamResult.observations shape. |
| tests/test_ui_groups.py | Adjusts group roundtrip test data to use unified stream step. |
| tests/test_stream_air_traffic.py | Updates mocks to return StepResult (as produced by @scenario_step) and aligns error expectations. |
| tests/test_step_status_updates.py | Updates step definitions in status-update tests to use Stream Air Traffic. |
| tests/test_group_execution.py | Updates group YAML fixtures to use unified step + new arguments. |
| src/openutm_verification/core/streamers/flight_blender_streamer.py | Adds refresh_mode, timestamp corruption helper, and switches to raising on errors. |
| src/openutm_verification/core/streamers/factory.py | Plumbs refresh_mode through streamer factory. |
| src/openutm_verification/core/streamers/init.py | Exports RefreshModeType. |
| src/openutm_verification/core/steps/air_traffic_step.py | Adds config-defaulting, data_quality, refresh_mode, and raises on unsuccessful streaming. |
| src/openutm_verification/core/providers/latency.py | Introduces shared latency simulation utilities and provider wrapper. |
| src/openutm_verification/core/providers/geojson_provider.py | Updates provider to handle StepResult from scenario-step-decorated client calls. |
| src/openutm_verification/core/providers/factory.py | Adds data_quality and applies LatencyProviderWrapper when requested. |
| src/openutm_verification/core/providers/bluesky_provider.py | Updates provider to handle StepResult and raise on failure. |
| src/openutm_verification/core/providers/bayesian_provider.py | Updates provider to handle StepResult and preserve prior empty/None handling. |
| src/openutm_verification/core/providers/init.py | Exports DataQualityType. |
| src/openutm_verification/core/execution/dependencies.py | Removes unused DI providers for legacy air-traffic clients. |
| scenarios/verify_sdsp_metrics.yaml | Replaces multi-step generation/submission with background Stream Air Traffic and updates observation reference. |
| scenarios/sdsp_track.yaml | Replaces generation/submission steps with background Stream Air Traffic. |
| scenarios/openutm_sim_air_traffic_data.yaml | Replaces legacy steps with Stream Air Traffic and updates description. |
| scenarios/opensky_live_data.yaml | Replaces group + loop with a single Stream Air Traffic step. |
| scenarios/bluesky_sim_air_traffic_data_latency_issues.yaml | Replaces legacy steps with Stream Air Traffic and data_quality: latency. |
| scenarios/bluesky_sim_air_traffic_data.yaml | Replaces legacy steps with Stream Air Traffic. |
| scenarios/bayesian_sim_air_traffic_data_varying_refresh_rates.yaml | Replaces legacy steps with Stream Air Traffic and refresh_mode: varying. |
| scenarios/bayesian_sim_air_traffic_data.yaml | Replaces legacy steps with Stream Air Traffic. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
src/openutm_verification/core/streamers/flight_blender_streamer.py
Outdated
Show resolved
Hide resolved
|
|
||
|
|
||
| def apply_latency( | ||
| observations: list[list[FlightObservationSchema]], |
There was a problem hiding this comment.
the problem originates somewhere else... but can we get rid of the list[list[...]] and have just list[FlightObservationSchema]?
There was a problem hiding this comment.
maybe in a different ticket?
There was a problem hiding this comment.
It's really part of unification
src/openutm_verification/core/streamers/flight_blender_streamer.py
Outdated
Show resolved
Hide resolved
| arguments: | ||
| observations: ${{ steps.generate_bayesian_simulation_air_traffic_data.result }} | ||
| session_ids: ${{ steps.Fetch Session IDs.result }} | ||
| provider: bayesian |
There was a problem hiding this comment.
I'd like this value exposed on the node in the GUI ideally; but otherwise it's configurable from UI, right?
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 28 out of 28 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
No description provided.