Skip to content

Honda Accord 11G: integrate native DOM control stack (NATIVE-01–14) - #111

Draft
J3DOK3DO wants to merge 13 commits into
firestar5683:Domfrom
J3DOK3DO:accord11g-dom-4486dc2f14-native-LKG-3-mvl-lowspeed-candidate
Draft

Honda Accord 11G: integrate native DOM control stack (NATIVE-01–14)#111
J3DOK3DO wants to merge 13 commits into
firestar5683:Domfrom
J3DOK3DO:accord11g-dom-4486dc2f14-native-LKG-3-mvl-lowspeed-candidate

Conversation

@J3DOK3DO

@J3DOK3DO J3DOK3DO commented Sep 1, 2026

Copy link
Copy Markdown

Description

This PR integrates the complete Honda Accord 11G control stack into StarPilot DOM's native architecture.

The implementation preserves DOM ownership of planning, MPC, longcontrol, radar, lateral control, model processing, delay estimation, Honda CAN handling, and parameter learning. Accord-specific behavior is applied through explicit HONDA_ACCORD_11G policy gates so generic DOM behavior and other Honda platforms retain their existing paths.

The current-DOM replay contains NATIVE-01 through NATIVE-14 as 13 commits (NATIVE-09/10 remains intentionally combined). The earlier LKG-only AGNOS 19.6.13 compatibility commit was intentionally omitted because current DOM requires AGNOS 19.6.16. The series replaces the earlier replay-style integration with focused native policy, lifecycle, diagnostics, and regression coverage.

Vehicle

  • Honda Accord 11th generation
  • Honda Bosch CAN-FD platform
  • openpilot longitudinal control
  • StarPilot DOM
  • Current DOM software contract: AGNOS 19.6.16
  • Road-validation environment for the predecessor head: AGNOS 19.6.13

Architecture and safety boundaries

  • Accord policy is gated by the Accord 11G fingerprint; it is not broadened to older HONDA_ACCORD platforms.
  • The Accord 11G CAN-FD radar path remains separate from the older 2018–2022 Accord Bosch-A radar implementation.
  • Non-Accord planner, MPC, longcontrol, radar, lateral, model, and location-learning behavior remains on DOM's native path.
  • Longitudinal-control disengagement immediately clears the Accord low-speed brake-PID state.
  • Parameter learning is prevented while reversing.
  • CAN-validity diagnostics are bounded and the Accord-specific diagnostic path is explicitly scoped to Accord 11G.
  • No Bluetooth cruise-control, wheel-control, UI-streaming, or unrelated vehicle feature is introduced by this series.

Commit series

NATIVE-01 — native longitudinal behavior contract

Defines the Accord 11G longitudinal policy in longitudinal_vehicle_tunes.py and adds a dedicated regression contract.

NATIVE-02 — planner envelope and projection

Integrates the Accord acceleration envelope and stable actuation-delay projection into DOM's native longitudinal planner without changing the default projection path.

NATIVE-03 — cruise and throttle policy

Integrates Accord-specific cruise acceleration limits and throttle permission behavior while preserving the existing DOM policy for all other vehicles.

NATIVE-04 — native MPC policy

Integrates the Accord lead extrapolation, follow, acceleration, and MPC behavior into the native longitudinal MPC implementation.

NATIVE-05 — native longitudinal control

Adds Accord-specific longitudinal state-transition and output policy to DOM's native longcontrol implementation, including stopping and starting behavior.

NATIVE-06 — native radar lead policy

Adds Accord 11G lead association, filtering, smoothing, stale-lead handling, and cut-in/cut-out behavior to the native radar process.

NATIVE-07 — native lateral and delay policy

Integrates Accord model-action scaling, lateral-delay behavior, model processing, controlsd policy, and lag estimation into the native DOM path.

NATIVE-08 — fixed PID gains

Prevents dynamic gain scaling from altering the Accord's validated fixed lateral PID gains.

NATIVE-09/10 — Honda lifecycle behavior

Adds the required LKAS HUD state-change pulse and moves learned Honda gas/wind persistence out of the real-time controller path.

NATIVE-11 — reverse-learning protection

Prevents learned delay and vehicle-parameter updates while the vehicle is reversing.

NATIVE-12 — bounded CAN-validity diagnostics

Adds bounded CAN parser diagnostics and Accord-only diagnostic context with parser and Honda regression coverage.

Current-DOM OS compatibility

The replay inherits current DOM's AGNOS 19.6.16 manifest and launch contract unchanged. The former LKG3-only AGNOS 19.6.13 compatibility commit was deliberately excluded from the PR replay; carrying it forward would have replaced current DOM boot/system images with an older OS contract.

NATIVE-13 — brake-to-gas handoff

Adapts the relevant behavior from MVL commit 314b3f16e14093db50648fc0dd2415de96babb19:

  • Retains negative low-speed brake-PID correction after the requested acceleration crosses the old brake/gas boundary.
  • Releases the retained correction by 0.02 per controller update.
  • Uses PID-adjusted target acceleration for the Accord propulsion crossover.
  • Resets immediately when longitudinal control disengages.
  • Clears stale nonnegative PID state.

This improves final brake release and avoids an abrupt brake-to-gas transition.

NATIVE-14 — expanded low-speed brake PID

Adapts the relevant behavior from MVL commit 83bf1f7295876c71b02baca839a37ff02e2f3c4f:

  • Activates the Accord low-speed brake PID for all requested acceleration below 0.001 m/s², rather than only requests below the old min_gas crossover.
  • Preserves the existing speed envelope: active above 0.001 m/s and below 3.0 m/s.
  • Leaves behavior at zero speed, at/above 3 m/s, and on other vehicles unchanged.

This improves gentle final deceleration, creeping control, stop settling, and brake release.

Files and scope

The conflict-resolved current-DOM PR contains 23 files covering only the native Accord integration and its tests:

  • Honda controller, state, CAN, and Honda tests
  • Native planner, MPC, longcontrol, radar, lateral, model, and delay paths
  • Accord-specific control regression files
  • CAN parser diagnostics and tests
  • Current DOM AGNOS files remain unchanged

There are no Bluetooth, Galaxy, wheel-control, UI-streamer, or unrelated vehicle files in the DOM-targeted patch.

Host verification

Conflict-resolved current-DOM replay

  • Current DOM base: 5122b8df4231f5eba95207cee538a595eaac9259
  • Resolved head: a7ea595e0a9e1e81335b22e7ded3902ca17229d5
  • GitHub comparison: 13 commits ahead, 0 behind; merge base equals the current DOM base
  • Scope: 23 files; 1,712 additions and 110 deletions
  • NATIVE-01–14 replayed cleanly; only the obsolete AGNOS 19.6.13 compatibility commit was omitted
  • Full SCons x86-64 host build: passed
  • Dedicated Accord NATIVE suite: 74 passed
  • Affected controls regression group: 748 passed, 2 qualified current-DOM baseline failures
  • Honda regression: 40 passed
  • CAN parser regression: 20 passed
  • Location regression: 14 passed, 1 skipped, 12 subtests passed
  • Scoped Ruff with the previously documented DOM exclusions (E501, F821, ISC002): passed
  • Python compilation and final diff check: passed
  • Final source and index: clean

The two qualified controls failures are unrelated to this PR and reproduce current-DOM inconsistencies: the existing generic force-stop helper returns 0.20 while its unchanged test expects 0.32, and a newly added Genesis G70 assertion expects differing outputs for two inputs that the unchanged Genesis helper currently maps to the same value. The PR does not modify either failed helper or either failing assertion.

Road-validated predecessor candidate

  • Python compile: passed
  • Scoped Ruff: passed
  • Focused Honda suite after NATIVE-13: 28 passed
  • Focused Honda suite after NATIVE-14: 40 passed
  • Native control/planner/MPC/radar/lateral regression group: 732 passed
  • Honda/CAN/location regression group: 74 passed, 1 skipped, 12 subtests passed
  • SCons host build: passed
  • Final diff check: passed
  • Final source worktree: clean

Candidate identity:

  • Head: 3bda5ad69a423ef7e286f0d3c03ae2cfd9b8ad9d
  • Candidate diff SHA-256: 37250b72e86d64ebb40de3cc3192c72e19f397e7bc9e0db578406bce21d0f589
  • Sealed host-verification evidence SHA-256: cdae492f25b2098ca2ffa68530b75fa120bf2a71e7f249ad5767cc8a350d31b9

Earlier cumulative native validation

The NATIVE-01–12 stack was cumulatively verified and replayed onto the LKG-derived validation line. Focused verification included:

  • Native longitudinal policy tests
  • DOM longitudinal planner/MPC regression tests
  • Native longcontrol tests
  • Native radar tests
  • Native lateral and latcontrol tests
  • Honda controller tests
  • CAN parser tests
  • Lag-estimation and parameter-learning tests
  • Host build and architecture checks

Road verification

The road evidence below applies to the behavior-equivalent predecessor stack ending at 3bda5ad69a423ef7e286f0d3c03ae2cfd9b8ad9d. The current-DOM replay preserves the NATIVE patches but has not yet been installed on the vehicle; the PR therefore remains a draft pending a short device boot/smoke check and proportionate road confirmation.

NATIVE-01–12 baseline

NATIVE-01–12 were road validated on the LKG-derived native full-validation stack:

  • Reference commit: 52c7e8160b9b67df5b1711dac92b8e071257a6b5
  • Tag: accord11g-dom-native-full-road-validated-20260830
  • Lateral and longitudinal control, radar, LKAS, UI behavior, and repeated complete vehicle shutdown/restart cycles were validated.
  • The LKG-derived AGNOS 19.6.13 line completed repeated cold/full restart checks without the persistent startup DTC behavior observed on a separate newer-DOM device candidate.

NATIVE-13/14 final road validation

The NATIVE-13/14 candidate was tested across extended morning and evening driving, including the intended low-speed operating region.

Driver-observed validation included:

  • 0–3 m/s gentle deceleration
  • creeping behavior
  • complete-stop settling
  • brake release
  • brake-to-gas transition
  • lead departure
  • repeated stop-and-go
  • normal engagement/disengagement
  • repeated vehicle shutdown/restart
  • stationary LKAS/radar/CAN checks

The low-speed changes behaved normally throughout the completed driving sessions. No behavior indicating a NATIVE-13/14 low-speed-control regression was observed.

Evening connector incident

One evening-drive interruption occurred after a physical harness/connector disturbance. Focused qlog evidence provides the following sequence; wall-clock times are reconstructed from tar-preserved qlog segment-close timestamps because the embedded qlog clock was stale:

Approximate UAE time Evidence
17:32 openpilot engaged normally; Panda permitted controls.
17:41 Normal disengagement.
17:51 openpilot engaged again.
18:04 Abrupt canValid=false, canTimeout=true, cruise disabled, controls revoked, and Panda relayMalfunction.
18:04 UI emitted CAN Bus Disconnected: Likely Faulty Cable / canBusMissing/permanent.
18:05 CAN validity returned, but relayMalfunction and steerUnavailable remained latched; UI requested a vehicle restart.
18:07 Affected route ended.
18:13 New route after stopping and reseating the harness; the vehicle was engageable again.
18:32 Lane-change UI behavior was normal.
18:36 openpilot engaged again with controlsAllowed=true and cruise enabled.

This is classified as a high-confidence external harness/connector CAN-path interruption:

  • Expected CAN traffic disappeared abruptly rather than degrading with low-speed actuation.
  • Panda recorded a relay/harness-related temporary fault.
  • CAN validity recovered independently of the low-speed controller.
  • The Honda LKAS fault remained latched until restart, consistent with a communication interruption.
  • Reseating the connector and restarting restored normal engagement.
  • NATIVE-13/14 modify low-speed gas/brake PID values only; they do not change Panda relay operation, CAN bus selection, CAN receive validity, firmware, startup sequencing, or harness behavior.

The incident is therefore documented as an external validation anomaly, not a merge blocker or evidence of a NATIVE-13/14 regression.

Non-blocking observations

  • Panda reported a temporary interruptRateCan2 fault after reconnection. The system remained engageable and subsequently reached controlsAllowed=true. This should be monitored on future clean boots and investigated separately if it recurs without connector movement.
  • Six cruiseMismatch observations occurred earlier in the route. They did not coincide with the CAN loss, did not prevent continued operation, and are not introduced by NATIVE-13/14.
  • No automatic DTC-clearing mechanism was used or added.

Validation evidence

Compact road-validation bundle

  • File: native14-final-road-validation-20260902-203808.tar.gz
  • SHA-256: 98fd0043cd0e86bcfa6df145c076e366d28ec81c97f7d0764661953970b57d03
  • Captures candidate identity, AGNOS version, current journals, kernel log, tmux output, collection metadata, and the incident note.
  • The included system journal begins after the connector cycle and confirms a clean post-recovery boot.

Full forensic collection

  • File: accord-log-hub-20260902-195324.tar.gz
  • SHA-256: 31d890e6483be49fcc6b5d7cc43fd6955a64a440cc4d6376837caaa397d864e6
  • Size: 3,109,941,558 bytes
  • Route telemetry files: 514
  • Collection status: complete; source and copied hashes matched.

Focused incident qlogs

  • File: native14-incident-qlogs-20260902-1720-1815-20260902-212755.tar.gz
  • SHA-256: b114cc4ad18a684c0d5f95ca555c0dae3a7ea1ceddc4633a03a636e1ffbe2fa8
  • 95 qlogs, 45,257,693 uncompressed qlog bytes
  • Coverage: 16:58–18:36 UAE
  • Affected route: 0000006d--c77c455c32
  • Recovery route: 0000006f--f5c3bdebf5
  • 102 internal evidence files independently rehashed successfully after extraction.

Data-quality note: the selected qlogs contained a stale embedded wall clock reporting 28 July 2026. Selection used tar-preserved file modification times, and incident times are therefore approximate to the one-minute segment boundary. The raw qlogs remain intact. A first-pass summary decoder also stopped early on a structured radar/event wrapper in each qlog; this did not affect the CAN, Panda, controls, alert, and recovery transitions cited above.

The binary evidence bundles are retained outside the source branch and are available to maintainers on request. Their hashes are included here so transferred copies can be authenticated without adding large logs to the repository.

Known exclusions and follow-up work

The following remain intentionally excluded and will be evaluated separately:

  • Bluetooth cruise-control/startup sequencing and related DTC investigation
  • AGNOS cross-layout agnos.json resolver changes
  • UI streaming
  • Additional PID gain or brake scaling changes
  • Extending low-speed PID operation to exactly zero speed or above 3 m/s
  • Automatic DTC clearing
  • Wholesale replay of the rewritten MVL history

Review request

This is a complete native Accord 11G integration rather than a generic DOM behavior change. Review should focus on:

  1. Accord 11G fingerprint isolation.
  2. Planner/MPC/longcontrol state and reset behavior.
  3. Separation of Accord 11G CAN-FD radar from older Accord Bosch-A radar.
  4. Lateral/model/delay compatibility.
  5. Honda real-time lifecycle behavior.
  6. Bounded CAN diagnostics.
  7. Low-speed brake-PID release and activation boundaries.

Submission status

Merge conflicts are resolved and the current-DOM replay is host verified. GitHub reports the head as 13 commits ahead, 0 behind, and mergeable.

The NATIVE behavior is road validated on the preserved predecessor head 3bda5ad69a…. This PR remains a draft until the rebased head a7ea595e0a… receives a device boot/smoke check and proportionate road confirmation. The documented connector interruption remains non-blocking and is not attributed to this patch series.

@J3DOK3DO
J3DOK3DO changed the base branch from StarPilot to Dom September 1, 2026 04:43
@J3DOK3DO J3DOK3DO changed the title Accord11g dom 4486dc2f14 native lkg 3 mvl lowspeed candidate Honda Accord 11G: integrate native DOM control stack (NATIVE-01–14) Sep 1, 2026

J3DOK3DO commented Sep 2, 2026

Copy link
Copy Markdown
Author

Native-14 road-validation update

The PR description has been updated with the completed NATIVE-13/14 road validation and the focused qlog analysis.

Key result:

  • Extended low-speed road testing passed.
  • At approximately 18:04 UAE, qlogs captured an abrupt canValid=false / canTimeout=true transition with Panda relayMalfunction and canBusMissing/permanent.
  • CAN validity returned in the next segment, while Honda's LKAS fault remained latched until restart.
  • After the harness was reseated and the vehicle restarted, the recovery route was engageable and later reached controlsAllowed=true.
  • The incident is classified as a high-confidence physical harness/connector interruption, not a NATIVE-13/14 control regression.

Evidence identities:

  • Candidate HEAD: 3bda5ad69a423ef7e286f0d3c03ae2cfd9b8ad9d
  • Compact road-validation bundle: 98fd0043cd0e86bcfa6df145c076e366d28ec81c97f7d0764661953970b57d03
  • Full forensic collection: 31d890e6483be49fcc6b5d7cc43fd6955a64a440cc4d6376837caaa397d864e6
  • Focused 95-qlog incident bundle: b114cc4ad18a684c0d5f95ca555c0dae3a7ea1ceddc4633a03a636e1ffbe2fa8

The connector incident is documented as non-blocking. Host verification and road validation are complete; the patch series is ready for maintainer review.

@J3DOK3DO
J3DOK3DO force-pushed the accord11g-dom-4486dc2f14-native-LKG-3-mvl-lowspeed-candidate branch from 3bda5ad to a7ea595 Compare September 2, 2026 17:56

J3DOK3DO commented Sep 2, 2026

Copy link
Copy Markdown
Author

Current-DOM conflict resolution completed

PR #111 has been replayed onto the live Dom head and GitHub now reports it as mergeable.

  • Base: 5122b8df4231f5eba95207cee538a595eaac9259
  • New head: a7ea595e0a9e1e81335b22e7ded3902ca17229d5
  • Comparison: 13 commits ahead, 0 behind
  • Scope: 23 files, 1,712 additions, 110 deletions
  • Original road-validated head preserved at branch accord11g-native14-road-validated-3bda5ad69a-backup
  • NATIVE-01–14 retained; NATIVE-09/10 remains combined
  • Obsolete LKG-only AGNOS 19.6.13 compatibility commit omitted; current DOM AGNOS 19.6.16 files are unchanged

Verification on the isolated current-DOM replay:

  • Full SCons x86-64 host build: passed
  • Dedicated Accord NATIVE tests: 74 passed
  • Affected controls suite: 748 passed, 2 qualified current-DOM baseline failures
  • Honda: 40 passed
  • CAN parser: 20 passed
  • Location: 14 passed, 1 skipped, 12 subtests passed
  • Scoped Ruff with documented DOM exclusions: passed
  • Python compile and diff checks: passed
  • Final source/index: clean

The two qualified failures are unrelated live-DOM inconsistencies and are not in symbols modified by this PR: the generic force-stop helper/test expectation mismatch, and a Genesis G70 helper/test expectation mismatch.

The PR remains a draft pending a device boot/smoke check and proportionate road confirmation of the rebased head.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant