v0.3.4-pre.009

This commit is contained in:
2026-08-30 23:39:43 +02:00
parent b756da5149
commit 13687ec2fe
7 changed files with 1555 additions and 19 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-store-postgres-lib/tests/hardening_completeness.rs
// version: 15
// version: 16
#![warn(missing_docs)]
#![deny(unreachable_pub)]
@@ -235,6 +235,41 @@ fn pre_009_backend_has_no_env_bypass_reverse_facade_edge_and_keeps_account_impls
return;
}
#[test]
fn pre_009_live_raw_account_proof_is_opt_in_isolated_secret_safe_and_cross_family() {
let live = include_str!("postgres_raw_account_live.rs");
for required in [
"#[ignore = \"opt-in real PostgreSQL RawAccountState proof; reads one dedicated URI from stdin\"]",
"std::io::stdin().read_line",
"managed_schema_preexisting_refusal",
"prove_schema_update_policy",
"prove_state_extremes",
"MAX_RAW_ACCOUNT_DATA_BYTES",
"u64::MAX",
"prove_atomic_idempotence_and_conflicts",
"prove_additional_observations",
"ReferenceNotFound",
"prove_pagination_and_cursors",
"KSPT",
"prove_cross_family_coexistence",
"persist_raw_transaction_acquisition",
"prove_concurrent_identical_insert",
"prove_concurrent_divergent_insert",
"prove_cancellation_rollback",
"task.abort()",
"cleanup_verification",
"ksp_raw_account_states",
"ksp_raw_account_observations",
"ksp_raw_transactions",
] {
assert!(live.contains(required), "missing pre.009 RawAccount live proof guard/scenario: {required}");
}
for forbidden in ["std::env", "KSP_SECRET_", "PGPASSWORD", "connection_uri = %", "connection_uri = ?", "println!(uri", "eprintln!(uri"] {
assert!(!live.contains(forbidden), "pre.009 RawAccount live proof contains forbidden secret/environment material: {forbidden}");
}
return;
}
#[test]
fn pre_009_live_raw_transaction_proof_is_opt_in_isolated_and_secret_safe() {
let live = include_str!("postgres_raw_transaction_live.rs");
@@ -251,6 +286,8 @@ fn pre_009_live_raw_transaction_proof_is_opt_in_isolated_and_secret_safe() {
"prove_cancellation_rollback",
"task.abort()",
"cleanup_verification",
"ksp_raw_account_states",
"ksp_raw_account_observations",
] {
assert!(live.contains(required), "missing pre.009 live proof guard/scenario: {required}");
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-store-postgres-lib/tests/postgres_raw_transaction_live.rs
// version: 4
// version: 5
#![warn(missing_docs)]
#![deny(unreachable_pub)]
@@ -18,7 +18,9 @@ const LIVE_INDEX_EXISTS_SQL: &str = r#"SELECT EXISTS (
AND indexname = 'ix_ksp_raw_transactions_slot_signature'
)"#;
const LIVE_LOCK_OBSERVATION_SQL: &str = "SELECT observation_key FROM ksp_raw_transaction_observations WHERE observation_key = $1 FOR UPDATE";
const LIVE_MANAGED_SCHEMA_DROP_SQL: &str = r#"DROP TABLE IF EXISTS ksp_raw_transaction_observations;
const LIVE_MANAGED_SCHEMA_DROP_SQL: &str = r#"DROP TABLE IF EXISTS ksp_raw_account_observations;
DROP TABLE IF EXISTS ksp_raw_account_states;
DROP TABLE IF EXISTS ksp_raw_transaction_observations;
DROP TABLE IF EXISTS ksp_raw_transaction_archive_payloads;
DROP TABLE IF EXISTS ksp_raw_transactions;
DROP TABLE IF EXISTS ksp_store_identity;
@@ -31,7 +33,9 @@ const LIVE_MANAGED_SCHEMA_EXISTS_SQL: &str = r#"SELECT EXISTS (
'ksp_store_identity',
'ksp_raw_transactions',
'ksp_raw_transaction_observations',
'ksp_raw_transaction_archive_payloads'
'ksp_raw_transaction_archive_payloads',
'ksp_raw_account_states',
'ksp_raw_account_observations'
)
AND table_type = 'BASE TABLE'
)"#;