Minor findings from section 3 of the repository review, Addressing part. Source: docs/reviews/2026-09-10-repository-review.md (branch claude/repository-review-hpttwc). Line numbers refer to main @ 8ed80f6.
J1939Id.Decompose(uint) does not check for an extended frame. An 11-bit ID decomposes into nonsense fields without complaint.
ComposePgn silently discards the low byte of a PDU1 PGN instead of rejecting it or documenting the truncation.
J1939Name has no little-endian (de)serialization, which is why J1939NodeImpl.cs:434 reaches for BitConverter.ToUInt64 — platform-endian, and therefore wrong on a big-endian host. J1939-81 fixes the byte order on the wire; the type should own that conversion.
Minor findings from section 3 of the repository review, Addressing part. Source:
docs/reviews/2026-09-10-repository-review.md(branchclaude/repository-review-hpttwc). Line numbers refer tomain@8ed80f6.J1939Id.Decompose(uint)does not check for an extended frame. An 11-bit ID decomposes into nonsense fields without complaint.ComposePgnsilently discards the low byte of a PDU1 PGN instead of rejecting it or documenting the truncation.J1939Namehas no little-endian (de)serialization, which is whyJ1939NodeImpl.cs:434reaches forBitConverter.ToUInt64— platform-endian, and therefore wrong on a big-endian host. J1939-81 fixes the byte order on the wire; the type should own that conversion.