Why the longer route still abstains
The completed pilot has enough retained cruise and heading diversity, but its model differences overlap the allowed nuisance patterns. Saved-array checks now separate that loss into bias level, smooth bias drift, wind, airspeed and forward-angle effects. No flight was generated or refitted, no fitting prior was added to the identifiability calculation, and no gate was relaxed.
The main loss is already present at nominal conditions. At the rotating-globe anchor, before the singular-value cutoff, the physical wind model retains about 0.186 / 0.108 / 0.200 of the three contrast norms. The required fraction is 0.31225. Setting forward offset to zero at the recorded limiting states does not restore acceptance. A smaller forward-angle uncertainty cannot by itself fix the nominal nuisance-span overlap.
Smooth bias drift is the largest contributor in most checked states. Removing it only for diagnosis raises nominal physical-wind retention to 0.526 / 0.289 / 0.606. Removing wind instead gives 0.189 / 0.111 / 0.201. No single nuisance-family omission makes every contrast pass in the checked states. These omissions are explanatory controls, not proposed analysis models: actual IMU drift still needs to be allowed and eventually measured on the bench.
There is also a direction-dependent geometry limitation. This westbound window has mean east velocity −206.75 m/s. The predicted north-axis Earth-rotation contribution is +10.66°/h, while globe transport contributes −6.66°/h, leaving about +4.00°/h. For rotating globe versus disc, the horizontal difference is 5.53°/h RMS; the vertical difference is nearly constant, −13.38°/h with only 0.138°/h variation. Same-side-up tray turns preserve the vertical axis, so the nearly constant part can resemble sensor bias. Bias level alone leaves retention 0.30966 for this contrast, slightly below the criterion even before adding drift or wind. This is predicted geometry, not a measurement of real IMU bias or proof that commercial flights fail.
Method and checks
analysis/tests/audit_nuisance_directions.py reconstructs the two distinct saved candidate
Jacobians and verifies them against stored rows. It checks the three nominal physical-model
anchors, recorded worst-retention states and corresponding zero-forward-offset controls.
Physical ground-speed rows stay in the matrices. All nuisance-family subsets are projected
using the existing calculation. Shared losses are allocated by averaging marginal squared-
retention loss over all family orders; this is algebraic attribution, not causal probability.
The third candidate's stored Jacobian, parameters and row indices are exactly identical to
the physical-wind candidate, so it adds no separate tangent calculation.
There were 400 subset projection checks in 0.286 seconds. Recorded worst-retention values
were reproduced. The report is nuisance-direction-review.json; raw rate decomposition is
model-signal-review.json, generated by analysis/tests/audit_model_signal.py. The reports
bind input hashes and the completed pilot's source freeze 82c882d2.... They cover selected
local tangents, not the entire envelope, bounded nonlinear compensation or empirical power.
Unpenalized projection permits arbitrary nuisance amplitudes; the attribution does not show
that the actual IMU realized those drifts or that every compensating path satisfies its priors.
Seven independent controls passed in 0.19 seconds: orthogonal nuisance, exact redundant alias, interaction with an auxiliary row, nuisance-unit changes, invalid group partitions, stationary equatorial rotation and east/west transport signs. No full Python suite was rerun.
Follow-up turn controls and gap repair
The analytic design tool had an additional bug: np.unwrap across missing course samples
propagated NaNs into all later supported courses. analysis/lll/design_geometry.py now unwraps
each finite run separately; existing full-bin motion checks still exclude gap crossings.
Two new regression cases pass for wind and physical wind, checking later support, north
crossings, finite prediction/Jacobian values and refusal to bridge the gap. Four existing
geometry, envelope, coverage and optimizer controls also pass. The completed full-pipeline
pilots do not use this analytic course interpolation and their results remain unchanged.
analysis/tests/screen_turn_followup.py checked six fixed patterns with the repaired tool;
turn-followup-screen.json preserves their masks and nominal-anchor results. Only the original
three-turn pattern and distributed six turns at 10/30/50/70/90/110 minutes pass the buffered
motion check. The tested ten-minute patterns include forbidden turns at 45, 75 or 95 minutes. The safe
six-turn pattern retains 85 screened minutes and improves physical-wind worst nominal
retentions to 0.27148 / 0.12458 / 0.30510, but all remain below 0.31225. This uses assumed
geometry and nominal states only; it is not a complete-envelope search, actual forward-axis
recovery or a collection recommendation.
After the gap repair the scientific source hash is
a7cc619428f8a24f96e3ab77e5d99f1c5b1b92639b2f6c6e3cfed937176cf44f.
The completed pilot and supporting saved-array audits retain their earlier freeze; the new
turn screen records both current and input-plan hashes. Old prospective execution manifests
are stale and must be refrozen before any newly authorized execution. No additional flight
budget exists.
Next compare directionally different route geometry and feasible turn patterns that vary the signal faster than the allowed slow drift. Keep the nuisance model intact, screen nominal geometry cheaply, then budget complete-envelope and full-pipeline checks only for promising candidates. Bench data may later support measured drift constraints; simulation alone cannot.