0.3.16-pre.005

This commit is contained in:
2026-09-21 19:31:35 +02:00
parent 19712aa7a6
commit 8b0fbf831e
14 changed files with 895 additions and 132 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-store-postgres-lib/tests/hardening_completeness.rs
// version: 27
// version: 28
#![warn(missing_docs)]
#![deny(unreachable_pub)]
@@ -594,7 +594,7 @@ fn v0_3_15_pre_012_fix_004_content_conflict_diagnostic_is_field_only_bounded_and
let Some(start) = start else {
return;
};
let end = source[start..].find("fn raw_transactions_equal(");
let end = source[start..].find("async fn rehydrate_transaction(");
assert!(end.is_some(), "missing RAW conflict logger end marker");
let Some(end) = end else {
return;
@@ -645,33 +645,42 @@ fn v0_3_15_pre_014_content_conflict_diagnostic_exposes_only_block_slot_and_bound
}
#[test]
fn v0_3_15_pre_014_fix_001_truncated_log_compatibility_is_narrow_and_keeps_canonical_content() {
fn v0_3_16_pre_005_postgres_uses_shared_fail_closed_variant_comparator_without_promotion() {
let source = include_str!("../src/raw_transaction.rs");
for required in [
"ActiveIncomingTruncatedLogs",
"ksp_store_api::compare_raw_transaction_variants",
"RawTransactionVariantRelation::Exact",
"RawTransactionVariantRelation::CompatibleLessComplete",
"RawTransactionVariantRelation::CompatibleMoreComplete",
"RawTransactionVariantRelation::Conflict",
"RawTransactionVariantRelation::Incomparable",
"ExistingTransactionMatch::ActiveCompatibleLessComplete",
"raw_acquisition_content_conflict",
] {
assert!(source.contains(required), "missing shared comparator integration guard: {required}");
}
for forbidden in [
"raw_transaction_incoming_truncated_log_messages_compatible",
"raw_meta_other_than_log_messages_mismatch",
"raw_log_messages_incoming_truncated_compatible",
"raw_log_message_is_exact_truncation_marker",
"marker_index >= stored.len()",
"incoming[..marker_index] != stored[..marker_index]",
"PostgreSQL Store accepted compatible truncated RAW transaction logs without replacing canonical content",
] {
assert!(source.contains(required), "missing narrow truncated-log compatibility guard: {required}");
assert!(!source.contains(forbidden), "backend-private convergence heuristic survived pre.005: {forbidden}");
}
let start = source.find("fn compare_existing_transaction(");
assert!(start.is_some(), "missing fix.001 existing-transaction comparison path");
assert!(start.is_some(), "missing pre.005 existing-transaction comparison path");
let Some(start) = start else {
return;
};
let end = source[start..].find("fn raw_transaction_incoming_truncated_log_messages_compatible(");
assert!(end.is_some(), "missing fix.001 compatibility helper boundary");
let end = source[start..].find("fn raw_transaction_content_conflict_diagnostic(");
assert!(end.is_some(), "missing pre.005 comparison boundary");
let Some(end) = end else {
return;
};
let comparison = &source[start..start + end];
assert!(comparison.contains("ExistingTransactionMatch::ActiveIncomingTruncatedLogs"));
assert!(comparison.contains("CompatibleLessComplete"));
assert!(comparison.contains("CompatibleMoreComplete"));
assert!(!comparison.contains("UPDATE ksp_raw_transactions SET payload"));
assert!(!comparison.contains("DELETE FROM ksp_raw_transactions"));
assert!(!comparison.contains("canonical_revision"));
return;
}