Skip to main content

Module census

Module census 

Source
Expand description

The accuracy census: the numbers the committed reports hold hpr to, counted once, classed by what they were compared with and how fast the flight went, and held to the census last accepted.

The reports say how each case came out. The census says what they add up to, and it is the gate against a regression that a regenerated report would otherwise carry in unnoticed. Four reports feed it:

  • the harness’s (validation/reports/latest.json): every metric of every case, and each known gap;
  • the real flights’ (real-flights.json): each flight’s apogee and the RMS of its climb;
  • OpenRocket’s flights of its examples and of the private designs (openrocket-flights.json, openrocket-library-flights.json): apogee, largest speed, stability margin, mass at launch and at rod clearance, and center of mass there, and each configuration hpr doesn’t fly.

Each becomes a Row, keyed by its report’s Group, its case and its metric, and a key seen twice is refused, so a case counts once (Loft lesson L84).

The census accepted last is committed (validation/reports/census.json). A run is held to it (compare): a row that moves by more than its slack in either direction, that changes its standing (a miss that starts passing too, L85), or that comes or goes, a group whose reference changes, or a changed slack, is a Change, and any change fails the check until the census is accepted again with a written reason. A predicted-mode row, whose 3% is only a target (ADR-023, predicted mode), is held the same way, so hpr’s own aerodynamics can’t drift unnoticed inside its target (L88). Each group’s headline names what it was compared with, the kind of comparison, how many flights and their speeds (L86).

A row’s slack is SLACK_SHARE of its scale: the tolerance it is held to, or for a row held to none, the bar its kind is judged by. It is never less than the harness’s own reproduction bound, reproduction_bound.

Structs§

Accepted
The census as accepted: the rows, what they add up to, and why it was last accepted.
BarCount
How many of one metric’s numbers are within the bar they are judged by.
Census
What the census counts: every row, and what each group was compared with.
Reports
The reports the census reads, as parsed from their committed files.
Row
One compared number, or one case that isn’t flown.
Spread
A spread of per-cent differences: the least, the largest and the mean magnitude.
Summary
What one group adds up to.

Enums§

CensusError
Why a census could not be taken.
Change
How the committed reports differ from the census accepted last.
Group
Which report a row comes from, and so what it was compared with.
Regime
How fast a case flew: the class of its largest Mach number.
Standing
Where a row stands against what it is held to.
Unit
The unit a row’s difference is in.

Constants§

MARGIN_BAR_CAL
The bar a stability margin or a center of mass is judged by, calibres: the center-of-pressure target set before the transonic normal force was measured (M1.8a). A difference in either moves the margin by as many calibres.
MASS_BAR_PERCENT
The bar an OpenRocket mass difference is judged by, per cent: the 1% the mass comparison was measured against when it began (M2.2a).
NOT_SCORED_SCALE
The scale of a harness row held to no tolerance: 3% of its reference, the bound M2.1 set on each metric and that no committed gate or target exceeds (tests::no_committed_gate_is_looser_than_the_milestone_says).
OPENROCKET_BAR_PERCENT
The bar an OpenRocket apogee or largest speed is judged by, per cent: the apogee difference that needs a written cause (ADR-070, the corpus’s rules), and the bar the staging milestone set on both (M1.9c).
SLACK_SHARE
The share of a row’s scale it may move by before the census calls it a change: 0.1%.
SUBSONIC_BELOW
The largest Mach number of a subsonic flight, as the OpenRocket library report classes them.
SUPERSONIC_ABOVE
The largest Mach number of a transonic flight; past it a flight is supersonic.
TRACE_BAR_PERCENT
The bar a real flight’s climb is judged by, per cent of its apogee: the bound the harness holds a whole flight’s height series to (ADR-024, the series RMS).

Functions§

badges
The badges, by file name: the gated code-to-code metrics that pass, of all of them, and the real flights’ mean apogee error against its target. Two, so the one measurement stands beside the agreement with another program.
compare
Every way now differs from accepted. Empty when the census holds.
reproduction_bound
How far a harness value may move between runs and platforms and still reproduce: 2e-6 or 1e-7 of the value, whichever is larger (Report::reproduces). A harness row’s slack is never less than this.
short_reference
A reference as the table shows it: RocketPy’s name and version, marked when patched, and every other reference as its report names it. The census page gives each in full.
table
The census table, as the README and the accuracy page show it, each row’s reference linked to link (the census page) where one is given.