# U3 neutral retry correction

2026-10-01. Baseline: frozen `b241573`. Reviewed `CLAUDE.md`, requirements brief, unified plan U3 scenario 3, controller integration tests and saved solver thresholds. Changes are limited to the controller, its integration tests, and this evidence file; core math and thresholds are unchanged.

RED: Before controller edits, the focused simulator run executed five integration tests with eleven expected assertion failures across the two new regressions. A 251-sample interval at timestamps 0 through 2.5 seconds, with first-sample gyro X = 0.09 rad/s and all remaining samples still, left Continue unavailable, returned `tooShort`, and stayed in neutral. Additional still samples remained in that rejected capture. Completed invalid-rate and gapped captures likewise stayed in neutral. Log: `/tmp/rideform-u3-retry-red.log`, assertions at lines 867–879; no compilation failure counted as RED. The initial sandboxed attempt could not access simulator/cache services; the actual RED command ran with that access authorized.

Correction: Neutral Continue availability depends on captured elapsed duration, so quality rejection is reachable. Advancing evaluates the complete saved neutral slice using `CalibrationSolver.neutralCoverage`; motion, invalid input, and completed gapped coverage failures retain the solver error and enter retry. A genuinely short interval stays in neutral and waits. Nonfinite endpoint timestamps also permit validation rather than permanently disabling Continue. Rejected evidence is never silently discarded or replaced by a later still window. The previous calibration remains intact; explicit `begin` clears stale capture arrays and counts before retry. Gesture and convention stages retain their existing behavior.

Focused command, with isolated derived data:

```sh
DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/Developer xcodebuild -project RideForm.xcodeproj -scheme RideForm -destination 'platform=iOS Simulator,id=2315A3BD-AC4F-46A2-89E3-2C96AD7B1A37' -derivedDataPath /tmp/rideform-u3-retry-fix -only-testing:RideFormTests/CalibrationIntegrationTests CODE_SIGNING_ALLOWED=NO test
```

GREEN: Five focused integration tests passed, zero failures; `TEST SUCCEEDED`. Log: `/tmp/rideform-u3-retry-green.log`. Regression coverage includes first-sample motion, reachable Continue, exact rejection reason, explicit retry prompt/stage, no silent skip on later samples, retained previous calibration, cleared retry capture, successful left/forward/convention progression, invalid rate, gapped evidence and short-interval waiting. Existing standard-mount and unknown-convention tests also passed.

This is deterministic simulator workflow evidence. The main coordinator owns the authoritative integrated run and commits. Physical mounting/sign verification and garage trials remain human/device gates.
