Skip to content

Add "Verify area is clear" prerequisite check to ConflictHigherPriority scenario #1424

@shai-karassikov

Description

@shai-karassikov

Is your feature request related to a problem? Please describe.

When the shared test airspace contains a pre-existing operational intent that the qualifier does not expect (e.g., an orphan OIR left over from a previous run or created by a race condition during a run), scenarios.astm.utm.ConflictHigherPriority ("Nominal planning: conflict with higher priority") does not detect the contamination up front. Instead, the scenario proceeds into its planning steps, where the Control USS correctly rejects the Flight 2 plan because it intersects the stale OIR, and uss_qualifier marks this as a "Successful planning" failure.

Because this scenario is run across many tested/control USS pairings, a single contamination event manifests as dozens of ambiguous "Successful planning" failures distributed across the report, each of which looks like a USS behavioral problem. Diagnosing the actual root cause requires dedicated log analysis across scenarios.

This was observed concretely on 2026-04-16 in a qual-partners transition run against the SDD v2.0.2 baseline (codebase interuss/monitoring/v0.28.0), where a single orphan priority-100 OIR produced ~33 cascading failures across ConflictHigherPriority instances. The full root-cause analysis was shared by the UTMverse team on the UTM Implementation US Technical Committee Slack and cross-posted to utmimplementationus/operations_committee#369.

Describe the solution you'd like

Add a Prerequisites test case at the beginning of ConflictHigherPriority that verifies the test area is clear of operational intents before the scenario begins, analogous to the "Verify area is clear" / "Area is clear of op intents" check that ConflictEqualPriority ("Nominal planning: not permitted conflict with equal priority") already performs.

In the same 2026-04-16 run, ConflictEqualPriority instances failed once per scenario with a clear message — "Area is clear of op intents [3] 1 operational intent found in test area" — that pointed directly at the environment state rather than at any USS's behavior. Mirroring this behavior in ConflictHigherPriority would collapse a multi-scenario cascade of ambiguous failures into a single unambiguous "area not clear" finding, making the root cause immediately obvious to anyone reading the report.

Describe alternatives you've considered

  • Relying on PrepareFlightPlanners's clear-area call to prevent contamination from persisting across runs: this works in practice but does not help within a run when an unexpected OIR is introduced mid-flight (as happened in the 2026-04-16 case). A per-scenario prerequisite check is defensive regardless of how the contamination arose.
  • Post-hoc log analysis by the reader: feasible but costly (required hours of investigation across multiple parties in the 2026-04-16 case). A built-in check eliminates that cost entirely.

Additional context

  • Surfaced in a discussion with @BenjaminPelletier on the UTM Implementation US Technical Committee Slack; he suggested this as a candidate for an InterUSS improvement request.
  • Evidence comparison from the same test run:
  • ConflictEqualPriority example: scenario index s225 — prerequisite check fires once, scenario-level failure is immediate and diagnostic.
  • ConflictHigherPriority example: scenario index s121 (and ~30 similar) — no prerequisite check, cascade of "Successful planning" failures at the Control USS's Flight 2 plan attempt.
  • Full sequence view and report.json from that run can be attached if useful.

testreport (4).zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions