Skip to content

[go-LIN-03] Internal packages still use the deprecated MaxID/MaxDataLen aliases; no staticcheck gate in CI #65

Description

@SoundMatt

Location

master/master.go (several sites, including the sporadic-group and schedule-entry validation), slave/slave.go, ldf/parser.go, cmd/lintool/main.go, and test file virtual/bus_test.go.

Finding

lin.go documents MaxID and MaxDataLen as deprecated in favor of LINMaxID and LINMaxDataLen, but the library's own production packages still reference the deprecated names in multiple places (e.g. master/master.go's sporadic-slot and schedule-entry ID checks, slave/slave.go's ID check, ldf/parser.go's ID check, and cmd/lintool/main.go's CLI argument validation). Running staticcheck over the module reports these as deprecation warnings. go vet ./... stays clean because vet doesn't flag use of documented-deprecated identifiers, and there is no staticcheck step in the CI workflow, so nothing currently catches this. I confirmed at current HEAD (commit 7c03bdd) that all of these call sites are unchanged and still use the deprecated names.

Recommendation

Replace the internal uses of MaxID/MaxDataLen with LINMaxID/LINMaxDataLen, and add a staticcheck step to CI so future deprecation regressions are caught automatically.

Filed from the 2026-07-29 ecosystem audit register; independently re-verified against current HEAD before filing.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions