Skip to content

Warn on RTE-widened models and fix false ARXML/A2L desyncs - #35

Merged
longvo92 merged 2 commits into
mainfrom
dev/rte-model-codegen-warning-38ceda
Aug 22, 2026
Merged

Warn on RTE-widened models and fix false ARXML/A2L desyncs#35
longvo92 merged 2 commits into
mainfrom
dev/rte-model-codegen-warning-38ceda

Conversation

@longvo92

Copy link
Copy Markdown
Owner

Summary

  • New: cross-model +RTE advisory. When one model's generated C gains an RTE access point while a peer model's C stayed byte-identical, the batch was a single-model quick regen — the RTE layer and peer SWCs were not rebuilt, so the new access point cannot be integrated as-is. Flagged in the report, the CLI and (new) the viewer.
  • Fix: ARXML/A2L "changed but the code didn't follow" advisory now triggers on the parsed access-point diff, not the file's verdict. Shared library packages (base types, compu-methods, units) get rewritten on every export and were raising false desync warnings on files where no port, runnable, event or calibration object actually moved.
  • Fail-safe: a file the tool could not parse that far — malformed XML, or binary content — still raises the advisory. Nothing was proven about its access points, so it is never treated as noise.
  • Viewer: both advisories now render live, bottom-left under the quick-changes panel, reusing the same consistency_advisories() seam the report and the CLI already use — one source of truth across all three surfaces.

Why

A regenerated model that only widens its RTE interface still needs the AUTOSAR architecture regenerated before the code integrates; nothing in the tool said so before this. Separately, the existing ARXML/A2L advisory was keyed on the file's diff verdict, so routine library churn (base types, compu-methods) was raising false alarms — reported by the user as a real false-positive in their workflow.

Test plan

  • python -m unittest discover -s tests — 715 tests pass (headless + Qt via QT_QPA_PLATFORM=offscreen)
  • python -m ruff check . — clean
  • Rendered the viewer panel offscreen in both themes (dark/light) and visually verified placement, colors, background
  • Ran the CLI against tests/fixtures/demo and confirmed both advisories fire with the expected messages
  • New tests cover: RTE-added-with-identical-peer, peer-regenerated-is-quiet, no-peer-is-quiet, library-churn-is-quiet, unparseable/binary ARXML+A2L stay flagged, combined-list sort order

…false ARXML desyncs

A quick single-model regen that gains an RTE access point cannot be
integrated on its own -- the RTE layer and the peer SWCs have to be
regenerated too. A peer model whose C stayed identical is the proof the
batch skipped them: a real regenerate rewrites at least a timestamp
banner everywhere.

The ARXML/A2L advisory now triggers on a parsed access-point move
instead of the file's verdict. Shared library packages (base types,
compu-methods, units) are rewritten on every export and were raising
false desync warnings. A file that could not be parsed that far still
warns -- unprovable is never noise.

Both advisories now also render in the viewer, bottom-left under the
quick-changes panel, off the same seam the report and the CLI use.
@longvo92
longvo92 merged commit f2093b2 into main Aug 22, 2026
6 checks passed
@longvo92
longvo92 deleted the dev/rte-model-codegen-warning-38ceda branch August 23, 2026 04:40
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