Conformance and claim boundary
This page is the repository’s wording guardrail. It exists so the rest of the book can stay readable without accidentally making a bigger promise than the checked-in evidence supports.
What we can say
Safe wording is narrow and evidence-based:
- machbus contains ISO 11783, J1939, and NMEA 2000 related codecs and stack components;
- listed flows are fixture-tested, virtual-bus-tested, binding-smoked, or trace-replayed exactly where the docs say they are;
- local validation is performed with
make verify; - SocketCAN and vcan tooling exists for operator-run captures.
Phrases that must not appear as public claims
The test suite keeps these phrases out of README/package/public reference text unless they appear here as explicit non-claims:
- AEF certified
- ISOBUS certified
- conformant implementation
- fully conformant
- fully compliant
- production-ready
- production ready
- hardware-tested
- hardware tested
- interoperability tested
- PlugFest validated
- field-proven
- speaks the same wire as a real
Those phrases are dangerous because each one sounds like external evidence or certification. Local unit tests, virtual-bus tests, vcan smokes, or trace replay do not create that external evidence by themselves.
Evidence classes
| Evidence class | Current status | Where to look |
|---|---|---|
| Local build/test gate | Present | Makefile, book/src/reference/validation-history.md |
| Standards-text review | Present for the areas named in the audit page | book/src/reference/audit/standards-text-audit.md |
| Public claim boundary | Present | this page and book/src/conformity/ |
| Protocol fixtures | Present for selected flows | tests/protocol_fixtures.rs, tests/fixtures/, book/src/reference/assets/protocol_matrix.csv |
| AgIsoStack/reference-style bytes | Present for selected rows only | tests/agisostack_compat.rs, tests/fixtures/oracle/agisostack_manifest.txt |
| C ABI behavior | Present for exposed facade calls | src/ffi.rs, include/machbus.h, examples/c_abi/ |
| Python behavior | Present for exposed facade calls | src/python/mod.rs, examples/python_binding/regression.py |
| SocketCAN/vcan tooling | Present | examples/socketcan_capture.rs, examples/candump_replay.rs |
| Physical-bus reports | Evidence contract exists; no completed reports/traces yet | tests/fixtures/hardware/capture_requirements.txt, tests/fixtures/hardware/capture_reports/ |
| AEF-style external validation | Not present in this checkout | no report checked in |
Current hardware statement
There is a checked-in physical-bus report directory, but it currently contains
no completed reports/traces yet. The requirement rows are all missing, which
is deliberate. It prevents a future reader from mistaking planned capture work
for completed evidence.
A row can move out of missing only when it names a reduced trace with
reduced-hardware provenance and a schema-complete capture report.
Explicit non-claims
- No AEF certification is claimed.
- No real machine safety claim is made.
- Nothing in this checkout is currently AEF-tested.
- No official ISO 11783 text is embedded in this repository.
- Reviewing behaviour against the standards text is not conformance testing. The standards-text audit checked field orders, ranges, timings and reserved-bit rules against licensed copies of the documents; that says nothing about how a given tractor behaves and moves no row in this table. “Checked against the text” is safe wording; “conformant” remains on the forbidden list above.
- No PGN value in this crate is evidenced by the standards. ISO 11783-1 §7, ISO 11783-7 §4.2 and ISO 11783-11 §4.1 each place the assignments in the electronic database at isobus.net instead. Citations beside PGN constants name the clause defining the message, not one stating its number.
- No broad external peer compatibility statement is made beyond the exact local fixtures, virtual-bus tests, checked-in traces, and reports named in the docs.
- No binary compatibility is promised for Rust internals; the documented Rust API and generated C/Python facades are the intended public surfaces.