Location
src/bin/main.rs — the convert subcommand's error paths (two call sites both printing eprintln!("INVALID_ARGUMENT")).
Problem
On invalid input, the RELAY CLI convention requires convert to write the mapped RELAY sentinel error name to stderr so other tooling can diff/compare error behavior across protocol adapters (interop testing). rust-LIN instead writes the literal string INVALID_ARGUMENT, which isn't a defined RELAY sentinel name and doesn't even match this crate's own Error::InvalidFrame variant name. The exit code (1) is correct, but the printed sentinel text is not, which breaks any strict interop/diffing tooling that expects the mapped sentinel name on stderr.
Suggested fix
Emit the correctly mapped RELAY sentinel name (or the LIN-specific error name, consistent with how the crate's own Error enum names things) to stderr instead of the ad hoc INVALID_ARGUMENT string.
Filed from the 2026-07-29 ecosystem audit register; independently re-verified against current HEAD before filing.
Location
src/bin/main.rs— theconvertsubcommand's error paths (two call sites both printingeprintln!("INVALID_ARGUMENT")).Problem
On invalid input, the RELAY CLI convention requires
convertto write the mapped RELAY sentinel error name to stderr so other tooling can diff/compare error behavior across protocol adapters (interop testing). rust-LIN instead writes the literal stringINVALID_ARGUMENT, which isn't a defined RELAY sentinel name and doesn't even match this crate's ownError::InvalidFramevariant name. The exit code (1) is correct, but the printed sentinel text is not, which breaks any strict interop/diffing tooling that expects the mapped sentinel name on stderr.Suggested fix
Emit the correctly mapped RELAY sentinel name (or the LIN-specific error name, consistent with how the crate's own
Errorenum names things) to stderr instead of the ad hocINVALID_ARGUMENTstring.Filed from the 2026-07-29 ecosystem audit register; independently re-verified against current HEAD before filing.