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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions