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§
- Census
Error - 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
nowdiffers fromaccepted. Empty when the census holds. - reproduction_
bound - How far a harness value may move between runs and platforms and still reproduce:
2e-6or1e-7of 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.