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;
}

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-store-postgres-lib/tests/v003_variant_persistence.rs
// version: 1
// version: 2
#![warn(missing_docs)]
#![deny(unreachable_pub)]
@@ -59,9 +59,11 @@ fn v0_3_16_pre_004_legacy_observation_without_mapping_is_not_fabricated() {
}
#[test]
fn v0_3_16_pre_004_keeps_comparator_and_durable_conflict_scope_deferred() {
fn v0_3_16_pre_005_shared_comparator_is_active_but_durable_conflict_and_promotion_stay_deferred() {
let source = include_str!("../src/raw_transaction.rs");
assert!(!source.contains("RawTransactionVariantRelation::"));
assert!(source.contains("ksp_store_api::compare_raw_transaction_variants"));
assert!(source.contains("ksp_store_api::RawTransactionVariantRelation::CompatibleLessComplete"));
assert!(source.contains("ksp_store_api::RawTransactionVariantRelation::CompatibleMoreComplete"));
assert!(!source.contains("INSERT INTO ksp_raw_transaction_conflicts"));
assert!(!source.contains("UPDATE ksp_raw_transaction_canonical_selectors SET canonical_variant_id"));
return;