Skip to content

[scd] Validate Volume4D when parsing#1380

Merged
mickmis merged 3 commits intointeruss:masterfrom
skyguide-ansp:volume-validation
Apr 8, 2026
Merged

[scd] Validate Volume4D when parsing#1380
mickmis merged 3 commits intointeruss:masterfrom
skyguide-ansp:volume-validation

Conversation

@RustedBones
Copy link
Copy Markdown
Contributor

@RustedBones RustedBones commented Feb 25, 2026

Factorize validation for Volume3D and Volume4D during parsing:

  • Ensure startTime < endTime when defined
  • Ensure altLo < altHi when defined

Introduce parsing options to tune validation:

  • Ensure altLo and altHi set when RequireAltitudeBounds enabled
  • Ensure startTime ans endTime set when RequireTimeBounds enabled

Configuration options for SCD entities mutation:

  • op-intent: RequireTimeBounds: true, RequireAltitudeBounds: true
  • constraints: RequireTimeBounds: true, RequireAltitudeBounds: false
  • subscriptions: RequireTimeBounds: false, RequireAltitudeBounds: false

For SCD queries: RequireTimeBounds: false, RequireAltitudeBounds: false

@RustedBones RustedBones force-pushed the volume-validation branch 5 times, most recently from 51e5d77 to 9a11fcb Compare February 26, 2026 16:23
@RustedBones RustedBones marked this pull request as ready for review March 4, 2026 09:34
Copy link
Copy Markdown
Contributor

@mickmis mickmis left a comment

Choose a reason for hiding this comment

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

Intent SGTM, I do have suggestions regarding implementation, please LMK what you think.

@RustedBones RustedBones requested a review from mickmis April 2, 2026 10:04
Copy link
Copy Markdown
Contributor

@mickmis mickmis left a comment

Choose a reason for hiding this comment

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

LGTM modulo comment on SpatialVolume

return nil, stacktrace.NewError("Missing time_end from extents")
}

if now.After(*valid.uExtent.EndTime) {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit, not for this PR: pushing it further this could be a validator WithRequireEndTimeBefore(now)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Just to be sure we're alligned on this one, the doc states:

Spacetime extents that bound this operational intent. Start and end times, as well as lower and upper altitudes, are required for each volume. The end time may not be in the past.

I think to move the validation on the unioned extent so we can accept composite extens with some expired volumes but not all. is that correct ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

See #1381 for union validation

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Missed that comment - my bad.

@RustedBones RustedBones requested a review from mickmis April 8, 2026 06:49
@mickmis mickmis merged commit cc87c13 into interuss:master Apr 8, 2026
12 checks passed
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