Commit Graph

232 Commits

Author SHA1 Message Date
firestar5683 6ef0150b0c Keep planner inputs fresh during settings refresh 2026-10-14 11:01:09 -05:00
firestar5683 fc94b2c274 Preserve fresh control authority during lag recovery 2026-10-14 09:48:36 -05:00
firestar5683 6b857c377b Reduce healthy driver-monitoring checks 2026-10-14 09:34:52 -05:00
firestar5683 5857c59aef Restore in-car Force Offroad controls 2026-10-14 09:12:10 -05:00
firestar5683 8079b9cfef Clarify lane centering strength scale 2026-10-14 09:00:54 -05:00
firestar5683 526f049f64 Revert "Restore planner isolation and prioritize audio playback"
This reverts commit 2d6c9cb241.
2026-10-14 08:34:59 -05:00
firestar5683 2d6c9cb241 Restore planner isolation and prioritize audio playback 2026-10-14 08:25:15 -05:00
firestarsdog 6720940d1b Build ARM64 device artifacts for replay 2026-10-14 05:16:18 -04:00
firestar5683 9891fcae0b Make offline map tests checkout independent 2026-10-13 23:57:52 -05:00
firestar5683 b0dd101b38 Qualify Galaxy settings and control defaults 2026-10-13 23:39:58 -05:00
firestar5683 72ef147f07 Complete Galaxy settings and vehicle controls 2026-10-13 23:07:13 -05:00
firestar5683 a019b9788f Trace SPI lock holders and control-loop waits 2026-10-13 21:07:39 -05:00
firestar5683 2be57378d6 Repair release checks and run mutation locally 2026-10-13 20:34:43 -05:00
firestar5683 db1c5a7445 Fix startup locks and restore onroad behavior
Release inherited Params locks correctly across fork and exec. Preserve qualified lateral armed intent through temporary faults, restore the Big UI CEM gauge, improve speed typography, and hide unavailable CEM initialization text. Include matching device artifacts and focused regression coverage.
2026-10-13 19:44:58 -05:00
firestar5683 d9e6fef798 Preserve CEM hold across clock sampling 2026-10-13 14:41:43 -05:00
firestar5683 304b0105c1 Trace planner publication delays 2026-10-13 14:34:10 -05:00
firestar5683 eda46d9ecc Correct CEM clock sampling bounds 2026-10-13 14:21:51 -05:00
firestar5683 268668a39b Trace CAN producer delays 2026-10-13 10:57:06 -05:00
firestar5683 f54ba5711c Keep CEM recovery cutoff stable 2026-10-13 10:37:45 -05:00
firestar5683 566838a019 Preserve temporary steering intent and CEM settings 2026-10-13 10:20:08 -05:00
firestar5683 0cc8d91b69 Add vehicle-specific Panda wake settings 2026-10-13 07:08:18 -05:00
firestar5683 2d321aeb6c Preserve stock lateral intent during temporary lag 2026-10-13 04:07:50 -05:00
firestar5683 4dd0036141 Preserve control recovery during temporary lag
Keep existing ordinary controls under the normal soft-disable countdown when current vehicle data and native permissions remain healthy. Preserve original command deadlines and qualify retained steering intent against completed publication provenance.
2026-10-13 03:27:31 -05:00
firestar5683 b2d62aa85a Update Card fixtures and keep startup traffic fresh 2026-10-12 23:41:03 -05:00
firestar5683 6f67fde67c Publish vehicle state before radar processing 2026-10-12 23:12:24 -05:00
firestar5683 8275858f4e Restore ordinary control recovery after source gaps 2026-10-12 22:48:33 -05:00
firestar5683 fefb631774 Preserve lateral intent through temporary lag 2026-10-12 21:39:39 -05:00
firestar5683 2cb6e18f0b Instrument CAN receive scheduling boundaries 2026-10-12 19:17:00 -05:00
firestar5683 834705eae8 Reconcile control inputs before authority decisions 2026-10-12 18:43:25 -05:00
firestar5683 a7e7ba591c Restore inherited Card worker scheduling 2026-10-12 18:33:34 -05:00
Dom fdd8bbfdf1 aol: retain established intent across newly received expired combined proof
Handle a strictly newer same-identity combined proof first consumed after
its output lease expires. Require an established healthy combined Ioniq6
baseline, valid fresh-at-publication source, healthy current native requests
and permission for both axes, and unchanged original retention bounds.

Advance only accepted signature/sequence. Do not renew source/native clocks,
extend output leases, grant expired commands, rearm after genuine disarm,
or automatically restore longitudinal control.

Validation: 940 tests on exact f04b source, 19 additional independent cases,
783 unchanged imported modules plus two intended files, Ruff and ty pass.
A prior run with stale test-fixture provenance is retained and superseded.
Road88 supports the mechanism; its exact consumed proof is unlogged.
This repairs intent retention, not the underlying producer delay.
Update protected inventory receipt.
2026-10-12 15:53:11 -06:00
Dom f04b5d1693 selfdrived: short-circuit redundant final-publication qualification
Evaluate the existing active-axis and source-age predicates before the
pure vehicle qualification predicate. Preserve the same captured clock,
branch body, deadlines, native permission checks and output behavior.

Validation: 39 exact owner-output/clock comparisons, 1728 Capnp cases,
and 851 broad plus 70 rebased functional passes. An unchanged Card-only
host timing test failed in aggregate and passed isolated without importing
SelfdriveD; retain that performance limitation rather than claim all-green.

One qualification call is removed on the healthy fixture path. Host timing
benefit is small/noisy and is not evidence that road stalls are fixed.
Update protected source inventory receipt.
2026-10-12 15:45:34 -06:00
Dom 091f640ac3 card: move conditional settings reads off the control loop
Use the existing settings worker for proactive conditional-mode source
verification. Adopt one immutable snapshot per Card frame, with verified
age strictly below 500 ms. Busy, invalid, or stale snapshots defer
conditional proposals without disengaging ordinary control or AOL.

Preserve fresh per-request SafeMode and gesture mapping checks. Replay
retains its source-clock synchronous owner. Polling phase changes; no
blanket one-second cached permission is added.

Validation: 353 aggregate tests, independent boundary and actual-control
continuity checks, exact source imports and inventory receipt verification.
Measured conditional source reads on main drop from 36 to zero over a
three-second initialized fixture; worker reads increase proactively.
This removes a blocking path, not a demonstrated cure for all road stalls.
2026-10-12 15:38:20 -06:00
Dom 2878c992b2 diagnostics: capture bounded Ioniq control timing and latch-clear evidence
Enable compact Card phase capture for qualified Ioniq6 production runs,
including unlatched ordinary control. Record publication gaps, source and
receive clocks, thread CPU, settings-worker context, and latch-clear reasons.

Add bounded SelfdriveD phase, admission, original-proof and Ratekeeper
snapshots with off-thread reporting and suppression counters. Preserve
control predicates, original deadlines, thresholds and scheduling policy.

Validation: 583 combined tests pass on unchanged rerun; an initial host
wall-time microbenchmark failure and isolated pass are retained. Exact-source
import audits and independent review pass. Host overhead is measured, not
a target-device bound. This adds diagnostics, not a producer-lag fix.

Update protected source inventory receipt.
2026-10-12 14:49:44 -06:00
Dom f169ca0f4c selfdrived: check bounded proof deferral after intent drain
Use the same post-drain clock for source-expiry deferral and intent
admission, avoiding premature state disable when draining crosses the
source freshness cutoff. Preserve the original proof and deadline.

Add cutoff, follow-through, and restrictive-input regression coverage.
Update the protected source inventory receipt.

Validation: 416 focused aggregate tests and 79 independent boundary and
restriction checks; exact source import audits, Ruff, and ty pass.
This addresses a reproduced admission race, not underlying producer lag.
2026-10-12 14:19:45 -06:00
Dom 6c4dde8a07 Restore Ioniq 6 friction threshold and error behavior only
Exclude HYUNDAI_IONIQ_6 from the recent Hyundai CAN-FD highway friction wrapper, restoring original friction threshold/error passthrough in both controller modes. Preserve all steering limits, ramp rates, startup PID settings, scalar calibration, other vehicles, native assets and dropout repairs.

Update regression expectations and add exact Ioniq friction passthrough coverage. Focused suite: 22 passed; 559 repository Python imports match exact parent plus the three intended files. Independent numerical checks: 80,640 comparisons. Protected inventory receipt independently verified. This is the user-requested tuning revert, not a lag fix or on-device qualification.
2026-10-12 12:52:39 -06:00
Dom e3446423d6 Resolve matched availability recovery before failing the pending join
A recovered axis and its healthy event can arrive through separate sockets in either order. After a previously verified availability pause, resolve an exact fresh healthy LAT-only recovery pair before treating the pending first half as unmatched failure.

Require the original pending deadline, exact newer event association, unchanged session/producer/epoch/inventory, fresh source and positive native LAT authority. Preserve failed-state, physical cancellation, restrictive events and native-denial handling. This only clears join bookkeeping; it grants no output and extends no lease.

Add 24 regression cases. Exact parent fails four split-recovery positives while together-delivery and restriction controls pass. Candidate focused suite: 396 passed; independent adversarial review: 58 passed. Import inventory and protected receipt verified. Host qualification is not road verification; separate lag/producer stalls remain unresolved.
2026-10-12 12:42:54 -06:00
Dom fb38c11888 Preserve fresh AOL renewal during an already-held brake
Recognize the existing qualified Ioniq lateral-only held-brake override when checking fresh-source renewal after an old output deadline. Exempt only recurring pedalPressed USER_DISABLE; retain new physical edges, other disable events, source/intent/session validation, native permission checks, and all expired-output enforcement. Do not extend leases or reenable longitudinal control.

Add 28 owner/Controls/Card regression cases and update two old held-brake handoff expectations. Clean serial focused suite: 369 passed; independent adversarial review: 56 passed. Exact parent import inventory and protected receipt verified. Host validation is not device/road qualification; separate lag and producer-stall failures remain under investigation.
2026-10-12 12:29:47 -06:00
Dom b494d5c880 Remove redundant CAN signal-history dictionary lookups
Clear the existing value lists directly rather than repeatedly looking up the address and signal key. Preserve aliases, lazy registration and in-place mutation semantics; decoding, validation and scheduling are unchanged.

51 CAN tests and 56 independent combined tests passed, including 1,000 paired mixed updates. Recorded actual-Card output and parser state match the parent. Repeated host component measurements saved approximately 45 microseconds across the three-parser fixture; no whole-Card or road-stall fix is claimed.

No native artifacts changed.
2026-10-12 12:16:24 -06:00
Dom 3cda7e5ac9 Reconcile fresh queued input after the previous axis packet expires
Do not gate nonblocking carState reconciliation on an old output packet's deadline. Process queued physical samples once before selected-source owners and the state-machine decision; retain the existing total 32-envelope bound, freshness/native/intent checks and no blocking wait beyond the old deadline.

Controlled route52-shaped retained-timeout schedules reproduce stale-selected-carState/fresh-intent rejection on the parent, including ordinary unlatched critical disable. Candidate consumes the fresh pair before deciding. 341 focused tests and 84 independent adversarial cases passed; exact-source import audit, Ruff, type and inventory checks passed.

No lease extension, scheduling rewrite or native artifact change. Separate Card production gaps remain unproven fixed.
2026-10-12 12:06:30 -06:00
firestar5683 8a0249abef Keep native zero-time polling nonblocking 2026-10-12 11:16:48 -06:00
firestar5683 f38c17f4a2 Avoid scheduler waits in nonblocking message reads 2026-10-12 10:57:46 -06:00
Dom 2c1b7d86a0 Match reduced authority test fixture to production carControl subscription
Initialize carControl as subscribed but unseen, then feed the preceding actual Controls packet with its original timestamp and validity. Preserve all expired-source withdrawal and recovery assertions; add unseen-to-received coverage.

Reproduces and resolves three KeyError failures from exact 25252cb CI. 317 owner/runtime/projection tests plus five independent initialization/packet guard cases passed; Ruff and type checks passed. Production and native code unchanged.
2026-10-12 10:29:22 -06:00
Dom 25252cb91e Fix early source-expiry handoff without losing restrictive intent bursts
Check bounded retention after event processing before source-expiry handling mutates authority. Preserve only the original unexpired proof for one normal tick; track all intent drains in the step so a later empty drain cannot conceal an intermediate deny.

Preserve fd14 fresh-owner continuity semantics and reconcile five legacy test expectations. Add early handoff and engagement/deny recovery regressions. 239 distinct focused tests and 277 platform tests passed; Ruff, type checks and exact-source import/inventory audits passed.

No native artifacts or lease extensions. This does not establish a fix for the separate measured Card production stall.
2026-10-12 10:05:15 -06:00
firestar5683 fd14b4b396 Keep fresh authority independent of expired output 2026-10-12 09:46:32 -06:00
Dom 4ef9686a91 Fix premature Ioniq axis withdrawal during fresh-input handoff
Keep an existing unexpired axis proof for one normal iteration when the selected source expires at publication, without renewing the proof or re-running stateful owners. Preserve physical overrides, restrictive intents, original deadlines and alerts; reject stale construction-time publication.

Add 79 owner-chain cases and refresh the protected source inventory. 183 focused tests, lint and type checks pass. Longer Card producer stalls remain outside this fix.
2026-10-12 08:27:40 -06:00
firestar5683 2f16acaf36 Preserve Bolt lateral intent through belt transitions 2026-10-12 06:32:06 -06:00
firestar5683 e55db51af5 Preserve Bolt lateral intent during driver overrides 2026-10-12 02:20:45 -06:00
firestar5683 4ca2636966 Match Toyota dashboard lanes to lateral control 2026-10-11 23:23:00 -06:00
Dom c43abae38e Fix post-drain clock validation in bounded controls input wait
Validate newly received intent against a post-drain clock while retaining the original absolute wait cap and output lease. Add full-owner regression and restrictive boundary coverage. Refresh the protected source inventory without changing native artifacts.
2026-10-11 20:21:05 -06:00