Pin seven independently reviewed replay outputs to the unchanged recorded inputs and baseline provenance. Correct Subaru test helper cleanup without changing native admission rules. Declare the exact generated pandad test executable in the build-output inventory.
Run the unchanged whole-target RELEASE workload in sixteen mandatory shards, retaining all cases, assertions, skip and provenance gates, and existing deadlines. Refresh the canonical protected inventory receipt.
Native qualification completed 10,211 passed and 115 existing skips across all sixteen bins; fresh source-bound hosted CI remains required.
Select the real headless backend for hosted AOL and RELEASE tests. Isolate SpacePilot scripted clocks from unrelated UI readers. Update camera and replay fixtures for existing native APIs, pin the reviewed schema addition, and supply declared CAN batch and throttle inputs.
Preserve production guards, acceptance assertions, selected cases, capability skips and receipt gating. Refresh the canonical protected inventory receipt.
Re-audit only the GPU/map source and shared fixture fingerprints following the native binding migration. Preserve the exact capability guard, reason, selected nodes and unavailable disposition. Add a real-source fingerprint regression so mocked gate fixtures cannot hide stale source pins.
- safety/modes/ford.h: includes the library's safety with StarPilot's lateral permission
(lateral_controls_allowed(), which includes AOL) as its lateral binding. ford_init hands the library
bits 9-14 of the Ford param (never on the Transit); with the bit set, LateralMotionControl/2 go through
the library's 4-signal checks instead of the stock ones, Lane_Assist_Data1 carries the angle-mode state,
and the pinion source replaces yaw and joins the selected RX list (stock, stock-switch or AOL).
- car/ford/carcontroller.py: one BluePilotLateral per Ford; while it's active it sends the steering and
LKA messages, otherwise the stock path runs unchanged. StarPilot's openpilot side attaches the per-frame
inputs and settings as bluepilot_inputs.
- safety tests: test.sh runs the library's safety tests by directory and gates the library headers'
coverage in a run of their own; test_ford_bluepilot_hooks.py covers where the bits ride, the Transit,
the pinion RX check on every list and the full-list guard. The qualification and mutation runners
include the library's safety tests.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
StarPilot's angle-only bluepilot_lateral adaptation and the BluePilot-derived curvature strategies (Mach-E,
classic, Explorer, generic CAN FD, new-port curvature, manual-turn latch, curvature preview, pinion
measurement) are removed, with their extended safety profiles 16/32/64 and the interim angle word 128. Ford
lateral is upstream's stock curvature path until the BluePilot lateral library is mounted.
StarPilot's own Ford features stay, re-keyed from the extended words to the stock ones:
- AOL: classic 32 -> 0, Mach-E 18 and the CAN FD trucks 66 -> 2 (+1 with openpilot long); the CAN FD
retained-display rules apply to word 2. Edge/Mondeo/Transit and the manual bit (256) are unchanged.
- release CAN FD long: word 3 (was 19/67); 19 and 67 are now retired and denied.
- stock cruise switch, CAN FD camera-lead radar handling, hands-free cluster: keyed on the Ford family.
- classic stock ACC (0) keeps the no-ACCDATA TX list the extended classic profile had.
Bits 9-14 of the Ford param are reserved for the BluePilot lateral library's startup bits
(safety/modes/ford_param.h); AOL and pandad mask them out of the profile word.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Preserve every node, grouping rule, shard count and timeout. Calibrate material module estimates from complete hosted outcomes with conservative scheduling margin.