Skip to content

2026-07 backlog sweep: RELAY v1.11, diagnostic/sporadic frames, CLI/Docker/doc fixes - #45

Merged
SoundMatt merged 1 commit into
mainfrom
fix/backlog-2026-07
Jul 27, 2026
Merged

2026-07 backlog sweep: RELAY v1.11, diagnostic/sporadic frames, CLI/Docker/doc fixes#45
SoundMatt merged 1 commit into
mainfrom
fix/backlog-2026-07

Conversation

@SoundMatt

Copy link
Copy Markdown
Owner

Full sweep of the 21 issues that were open at the start of this pass (2026-07-27), triaged and actioned as below.

Issues fixed here

RELAY spec conformance

Bug fixes

New capabilities

Docs

All new safety-relevant code carries //fusa:req///fusa:test annotations and corresponding .fusa-reqs.json entries (13 new requirements: REQ-MASTER-014/015/016, REQ-STATS-001..008); gofusa trace -req-coverage 100 and -sec-tested 100 both pass at 100%.

Closed as already-resolved (not part of this PR's commit — closed directly with evidence)

  • safety: FMEA review and ASIL-B argument completion #12 (FMEA review/ASIL-B completion) — gofusa trace already reported 100% requirement traceability and 100% test coverage on main before this pass, and has been continuously CI-gated since v1.1.0 (§20 continuous conformance), superseding the original one-time-review ask. See issue comment for full evidence.

Left open (out of scope for this pass — comment posted on each explaining why)

Verification

  • gofmt -l . — clean
  • go vet ./... — clean
  • go test ./... -race -count=1 — all pass (221 tests)
  • Per-package coverage: all library packages ≥ 89% (CI floor is 85%)
  • go test -fuzz=... -fuzztime=2000x for all three fuzz targets — clean
  • relay conform --strict / relay interop --protocol LIN against the built cmd/go-lin binary with RELAY v1.11.0 — both PASS
  • Full gofusa gate suite (check, trace -req-coverage 100, trace -sec-tested 100, cyber, vuln, qualify, verify) — all green with go-FuSa v0.33.3

…, CLI/Docker/doc fixes

RELAY spec conformance:
- Bump github.com/SoundMatt/RELAY to v1.11.0 (go.mod, CI relay pins); relay
  versions now reports ALIGNED=true instead of drifting on spec_version 1.10
- cmd/go-lin's optional send/subscribe commands now implement the spec
  §11.2 flag signatures: `send --id <uint> --data <hex>` and
  `subscribe --format json --count N`
- Docker: add a go-lin image target/stage carrying the spec §13.5
  io.relay.* labels, published as ghcr.io/soundmatt/go-lin (previously only
  the non-conformant quickstart/lintool images were published)
- README documents cmd/go-lin (the RELAY-conformant CLI) as the primary
  CLI; cmd/lintool is now clearly marked legacy

Bug fixes:
- virtual.Bus.CloseWithDrain now returns lin.ErrTimeout (and counts
  undelivered frames into DropCount) when ctx expires before draining
  completes, instead of silently returning nil; the test that had locked
  in the wrong behavior now asserts the correct one
- lin.FromMessage now wraps ErrInvalidFrame for an out-of-range or
  unparseable message ID, so errors.Is(err, lin.ErrInvalidFrame) works
- master.Node.SetSchedule now accepts an empty schedule, matching the
  documented lin.MasterBus.SetSchedule contract (Run still fails fast on
  an empty schedule via the independent REQ-MASTER-009 guard)

New capabilities:
- Diagnostic frames (LIN 2.x §4.2.3): lin.MasterRequestFrame /
  lin.SlaveResponseFrame single-frame wire encoding, plus
  master.Node.Diagnostics driving the master-request/slave-response
  exchange
- Sporadic frames (LIN 2.x §2.3.2.4): master.Node.SetSporadicGroup /
  SetPending select the highest-priority pending candidate for a shared
  schedule slot, or skip the slot when nothing is pending
- ldf.DB.Encode: write-direction signal encoding (the inverse of Decode)
- New stats package: frames/sec, per-ID counters, estimated bus load
- go-FuSa CLI pin bumped v0.30.0 -> v0.33.3 (CI + release-artifact
  workflow); test coverage already exceeds the 85% CI floor on every
  library package (91-100%)
- Runnable Example* functions for the core lin/virtual/master/ldf/stats
  API surface (pkg.go.dev)

Docs:
- ROADMAP.md replaced the stale pre-RELAY release plan with the actual
  v0.1.0-v1.2.0 history and re-baselined open work against the current
  issue tracker
- Added CHANGELOG.md

Closes #37
Closes #38
Closes #43
Closes #42
Closes #41
Closes #40
Closes #39
Closes #9
Closes #6
Closes #10
Closes #2
Closes #4
Closes #11
Closes #44

Signed-off-by: Matt Jones <47545907+SoundMatt@users.noreply.github.com>
@SoundMatt
SoundMatt merged commit fdd8204 into main Jul 27, 2026
14 checks passed
@SoundMatt
SoundMatt deleted the fix/backlog-2026-07 branch July 27, 2026 16:35
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