commit fffa131884a7cf0d83fcbb7bc235684ca36d05c8
parent aa7c928953027d9f97e49f2ecc2e189cdae578e4
Author: triesap <tyson@radroots.org>
Date: Thu, 9 Jul 2026 18:09:24 +0000
transport: harden publish capability guard
- update source-boundary coverage for canonical capability fields
- require transport, configured, implementation, and delivery usability witnesses
- reject the retired transport publish implementation-state type
- verify rr-rs formatting, source-boundary, tests, and contract validation
Diffstat:
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/crates/transport/tests/source_boundary.rs b/crates/transport/tests/source_boundary.rs
@@ -260,7 +260,7 @@ fn generic_transport_status_sources_reject_retired_relay_shaped_names() {
}
#[test]
-fn transport_publish_capabilities_keep_readiness_and_usability_fields() {
+fn transport_publish_capabilities_keep_canonical_status_fields() {
let source_raw = read_source(
Path::new(env!("CARGO_MANIFEST_DIR"))
.parent()
@@ -271,16 +271,29 @@ fn transport_publish_capabilities_keep_readiness_and_usability_fields() {
let source = production_source(source_raw.as_str());
for required in [
- "pub implementation_state: TransportPublishImplementationState,",
+ "pub transport: String,",
+ "pub configured: bool,",
+ "pub implementation: TransportPublishImplementation,",
"pub usable_for_delivery: bool,",
- "TransportPublishImplementationState::Available",
- "TransportPublishImplementationState::PreviewUnavailable",
+ "TransportPublishImplementation::Real",
+ "TransportPublishImplementation::PreviewUnavailable",
+ "configured: true",
"usable_for_delivery: true",
"usable_for_delivery: false",
] {
assert!(
source.contains(required),
- "transport publish capabilities must retain readiness/usability field `{required}`"
+ "transport publish capabilities must retain canonical status field `{required}`"
+ );
+ }
+
+ for forbidden in [
+ "pub implementation_state: TransportPublishImplementationState,",
+ "TransportPublishImplementationState",
+ ] {
+ assert!(
+ !source.contains(forbidden),
+ "transport publish capabilities must not retain retired status field `{forbidden}`"
);
}
}