Skip to content

docs: correct INTEROP-ARCHITECTURE.md's DDS framing, add hardening-readiness table - #189

Merged
SoundMatt merged 1 commit into
mainfrom
docs/interop-hardening-investigation
Aug 21, 2026
Merged

docs: correct INTEROP-ARCHITECTURE.md's DDS framing, add hardening-readiness table#189
SoundMatt merged 1 commit into
mainfrom
docs/interop-hardening-investigation

Conversation

@SoundMatt

Copy link
Copy Markdown
Owner

A background investigation checked real CI history for whether CAN, DDS, and MQTT's probe-then-skip jobs can genuinely succeed on ubuntu-latest, ahead of attempting INTEROP-05 hardening. Adds a findings table to section 3:

Also corrects the doc's own DDS framing: it previously implied cpp-DDS had a long-established, proven local-build pattern. Re-checked against real history — cpp-DDS carried the identical bug through 7 of its own preceding runs and fixed it essentially concurrently with go-DDS/rust-DDS, not earlier.

No spec version bump — non-normative doc, mirrors RCP-ARCHITECTURE.md's update precedent.

SoundMatt/RELAY THEME-K (#125).

Sign-off: DCO

…adiness table

A background investigation checked real CI history (gh run/job logs, not
assumptions) for whether CAN, DDS, and MQTT's probe-then-skip jobs can
genuinely succeed on GitHub's standard ubuntu-latest runner, ahead of
attempting the INTEROP-05 hardening step this document scopes.

Findings, added as a new table in section 3:

- CAN (go/cpp/rust): confirmed NOT safe to harden. 24/24 checked runs
  across all three repos fail identically with
  "modprobe: FATAL: Module vcan not found" -- the vcan kernel module is
  genuinely absent on GitHub-hosted runners, not merely flaky. This
  document's original caution here was correct.
- DDS (go/cpp/rust): bug is genuinely fixed (all three now build the
  CycloneDDS peer locally instead of pulling a nonexistent tag), but each
  repo has only 1 confirmed successful run so far -- not enough evidence
  to trust a source-build step as reliable yet. Deferred, not hardened.
- MQTT (go/rust): safe to harden now. 6/6 checked runs succeed against
  the real eclipse-mosquitto:2 service container. Hardened in a companion
  PR to each repo (SoundMatt/go-mqtt#83, SoundMatt/rust-MQTT#37).

Also corrects this document's own DDS framing: an earlier draft implied
cpp-DDS had a pre-existing, proven local-build pattern the other two DDS
repos could copy. Re-checked against cpp-DDS's own CI history: it carried
the identical nonexistent-tag bug through at least 7 of its own preceding
runs and was fixed in its own most recent commit, essentially concurrently
with go-DDS and rust-DDS (all three landed within the last two days), not
earlier. The underlying Dockerfile.cyclonedds pattern itself is still
correct and was ported accurately -- only the historical framing was
wrong. Left uncorrected, this class of imprecise claim is exactly what
this document's own "every claim independently re-verified" standard
exists to catch.

No spec version bump -- non-normative coordinating document, mirrors this
repo's established practice for RCP-ARCHITECTURE.md updates.

SoundMatt/RELAY THEME-K (#125).

Signed-off-by: Matt <47545907+SoundMatt@users.noreply.github.com>
@SoundMatt
SoundMatt merged commit a44d004 into main Aug 21, 2026
8 checks passed
@SoundMatt
SoundMatt deleted the docs/interop-hardening-investigation branch August 21, 2026 15:30
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