Skip to content

Air Traffic unification Part 2#102

Open
atti92 wants to merge 9 commits intomainfrom
air-traffic-unification-p2
Open

Air Traffic unification Part 2#102
atti92 wants to merge 9 commits intomainfrom
air-traffic-unification-p2

Conversation

@atti92
Copy link
Contributor

@atti92 atti92 commented Feb 28, 2026

No description provided.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 through Stream Air Traffic.
  • Added refresh_mode to Flight Blender streaming to support varying refresh-rate submission behavior.
  • Updated YAML scenarios and tests to use Stream Air Traffic and reference steps.<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.

@atti92 atti92 requested a review from Copilot February 28, 2026 13:45


def apply_latency(
observations: list[list[FlightObservationSchema]],
Copy link
Contributor

Choose a reason for hiding this comment

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

the problem originates somewhere else... but can we get rid of the list[list[...]] and have just list[FlightObservationSchema]?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

maybe in a different ticket?

Copy link
Contributor

Choose a reason for hiding this comment

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

It's really part of unification

arguments:
observations: ${{ steps.generate_bayesian_simulation_air_traffic_data.result }}
session_ids: ${{ steps.Fetch Session IDs.result }}
provider: bayesian
Copy link
Contributor

Choose a reason for hiding this comment

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

I'd like this value exposed on the node in the GUI ideally; but otherwise it's configurable from UI, right?

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.

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.

3 participants