v0.3.13-pre.008

This commit is contained in:
2026-09-10 17:52:35 +02:00
parent 8bb530e9b4
commit 1f2720463b
18 changed files with 899 additions and 36 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/hardening.rs
// version: 17
// version: 18
//! External public, security, redaction and release-boundary hardening canaries for `pre.010`.
@@ -751,3 +751,38 @@ fn v0_3_13_pre_007_multi_source_supervisor_is_fail_closed_joined_and_does_not_pu
}
return;
}
#[test]
fn v0_3_13_pre_008_cross_source_convergence_is_bounded_conflict_checked_and_private() {
let root = include_str!("../src/lib.rs");
let persistence = include_str!("../src/persistence.rs");
let resources = include_str!("../src/runtime_resources.rs");
for required in [
"max_entries: usize",
"entries.len() >= self.max_entries",
"std::sync::Arc::strong_count(entry) == 1",
"known_hash_value != content_hash",
"record_observation(observation)",
"persistence.additional_observation_not_recorded",
] {
assert!(persistence.contains(required), "required pre.008 persistence hardening guard missing: {required}");
}
for required in [
"max_pending: usize",
"pending.len() >= self.max_pending",
"source.global_hydration_pending_saturated",
"tokio::sync::watch::channel",
"publish_and_remove",
] {
assert!(resources.contains(required), "required pre.008 hydration hardening guard missing: {required}");
}
for forbidden in [
"pub struct RawTransactionIngestPersistenceConvergence",
"pub struct RawTransactionIngestGlobalHydrationRegistry",
"pub fn persist_raw_transaction_ingest_converged_acquisition",
] {
assert!(!root.contains(forbidden), "pre.008 private convergence implementation leaked publicly: {forbidden}");
}
assert!(!resources.contains("unbounded_channel"));
return;
}