v0.3.14-pre.013

This commit is contained in:
2026-09-12 20:43:43 +02:00
parent 8a0717c839
commit 09c91172ae
7 changed files with 537 additions and 9 deletions

View File

@@ -1,7 +1,7 @@
// file: crates/ksp-worker-raw-transaction-ingest-lib/tests/cross_layer_completeness.rs
// version: 2
// version: 3
//! Cross-layer completeness and security canaries through `0.3.13-pre.012`.
//! Cross-layer completeness and security canaries through `0.3.14-pre.013`.
fn dependency_names(manifest: &str) -> std::vec::Vec<&str> {
let mut section = "";
@@ -363,3 +363,127 @@ fn v0_3_13_pre_012_security_redaction_matrix_covers_all_live_sources_and_lower_l
assert!(postgres.contains("pre_009_backend_error_bridge_cannot_retain_external_error_or_secret_text"));
return;
}
#[test]
fn v0_3_14_pre_013_gap_repair_closure_keeps_one_transport_worker_common_raw_store_pipeline() {
let transport_transactions = include_str!("../../ksp-onchain-transport-lib/src/rpc_transactions.rs");
let transport_blocks = include_str!("../../ksp-onchain-transport-lib/src/rpc_blocks.rs");
let worker_root = include_str!("../src/lib.rs");
let worker_resources = include_str!("../src/runtime_resources.rs");
let worker_runtime = include_str!("../src/runtime.rs");
let worker_persistence = include_str!("../src/persistence.rs");
let common_raw_root = include_str!("../../ksp-raw-transaction-lib/src/lib.rs");
let store_api_root = include_str!("../../ksp-store-api/src/lib.rs");
let store = include_str!("../../ksp-store-lib/src/store.rs");
assert!(transport_transactions.contains("pub async fn get_transaction_observed("));
assert!(transport_blocks.contains("pub async fn get_block_observed("));
for required in [
"RawTransactionIngestContinuityContracts",
"RawTransactionIngestGlobalHydrationRegistry",
"RawTransactionAdmission",
"persist_raw_transaction_ingest_converged_acquisition",
] {
assert!(
worker_root.contains(required) || worker_resources.contains(required) || worker_runtime.contains(required),
"pre.013 Worker single-pipeline proof missing: {required}"
);
}
assert!(worker_persistence.contains("ksp_store_lib::RawTransactionWrite::persist_raw_transaction_acquisition"));
assert!(common_raw_root.contains("pub use self::acquisition::RawTransactionAcquisition;"));
assert!(common_raw_root.contains("pub use self::wire::RawSolanaMessageVersion;"));
assert!(store_api_root.contains("pub use self::model::raw_transaction::RawTransaction;"));
assert!(store_api_root.contains("pub use self::model::raw_transaction::RawTransactionObservation;"));
assert!(store.contains("persist_raw_transaction_acquisition"));
assert!(store.contains("record_raw_transaction_observation"));
for forbidden in [
"ksp_store_postgres_lib::",
"ksp_config_lib::",
"ksp_job_backfill_lib::",
"reqwest::",
"tokio_tungstenite::connect_async",
"yellowstone_grpc_proto::",
] {
assert!(
!worker_runtime.contains(forbidden) && !worker_resources.contains(forbidden) && !worker_persistence.contains(forbidden),
"pre.013 Worker bypassed the single facade pipeline: {forbidden}"
);
}
return;
}
#[test]
fn v0_3_14_pre_013_security_redaction_covers_gap_repair_and_terminal_paths() {
let transport_subscribe = include_str!("../../ksp-onchain-transport-lib/unit_tests/grpc_subscribe.rs");
let transport_unary = include_str!("../../ksp-onchain-transport-lib/unit_tests/grpc_unary.rs");
let worker_hardening = include_str!("hardening.rs");
let worker_root = include_str!("../src/lib.rs");
let common_raw = include_str!("../../ksp-raw-transaction-lib/unit_tests/canonical.rs");
let store_api = include_str!("../../ksp-store-api/tests/security_hardening.rs");
let store = include_str!("../../ksp-store-lib/tests/hardening_completeness.rs");
let postgres = include_str!("../../ksp-store-postgres-lib/tests/hardening_completeness.rs");
assert!(transport_subscribe.contains("yellowstone_subscribe_debug_omits_filter_names_and_future_payloads"));
assert!(transport_unary.contains("yellowstone_remote_status_does_not_copy_message_details_or_metadata"));
for required in [
"v0_3_14_pre_009_health_policy_is_present_future_coverage_gated_and_source_neutral",
"v0_3_14_pre_010_repair_fairness_shares_existing_bounds_without_second_pipeline",
"v0_3_14_pre_011_gap_observability_is_bounded_checked_and_redacted",
"v0_3_14_pre_012_shutdown_races_are_bounded_across_source_and_worker_drains",
] {
assert!(worker_hardening.contains(required), "pre.013 Worker security closure proof missing: {required}");
}
for forbidden in ["source_key", "provider_gap", "endpoint_gap", "signature_gap", "payload_gap"] {
assert!(!worker_root.contains(forbidden), "pre.013 public Worker root leaked sensitive gap material: {forbidden}");
}
assert!(common_raw.contains("pre_002_material_and_wire_debug_do_not_render_transaction_or_meta_material"));
assert!(store_api.contains("pre_007_raw_debug_surfaces_do_not_render_payload_hash_signature_or_account_bytes"));
assert!(store.contains("pre_009_secret_canary_never_crosses_settings_or_pre_io_error_debug"));
assert!(postgres.contains("pre_009_backend_error_bridge_cannot_retain_external_error_or_secret_text"));
return;
}
#[test]
fn v0_3_14_pre_013_legacy_v0_v1_remains_proven_after_gap_repair_hardening() {
let transport = include_str!("../../ksp-onchain-transport-lib/unit_tests/grpc_subscribe.rs");
let worker = include_str!("../unit_tests/runtime_resources.rs");
let common_raw = include_str!("../../ksp-raw-transaction-lib/unit_tests/wire.rs");
let store_api = include_str!("../../ksp-store-api/tests/public_api.rs");
for required in [
"yellowstone_transaction_update_decodes_current_storage_wire_including_v1_config_and_meta",
"yellowstone_block_update_reuses_transaction_account_entry_dtos_and_preserves_server_counts",
] {
assert!(transport.contains(required), "pre.013 Transport Legacy/V0/V1 proof missing: {required}");
}
for required in [
"v0_3_13_pre_004_legacy_v0_v1_block_materials_are_direct_common_raw_with_exact_version_and_index",
"v0_3_13_pre_006_http_block_polling_qualifies_legacy_v0_v1_and_rejects_ambiguous_or_future_versions",
"v0_3_14_pre_008_proven_full_ledger_epoch_survives_filtered_peer_loss_without_worker_respawn",
"v0_3_14_pre_012_source_fault_preserves_first_fault_and_aborts_non_cooperative_sibling",
] {
assert!(worker.contains(required), "pre.013 Worker Legacy/V0/V1 or continuity proof missing: {required}");
}
for required in [
"pre_006_legacy_v0_and_v1_wire_goldens_are_exact",
"RawSolanaMessageVersion::Legacy",
"RawSolanaMessageVersion::V0",
"RawSolanaMessageVersion::V1",
] {
assert!(common_raw.contains(required), "pre.013 Common RAW version proof missing: {required}");
}
assert!(store_api.contains("public_pre_003_raw_transaction_and_observation_are_constructible_from_crate_root"));
return;
}
#[test]
fn v0_3_14_pre_013_worker_and_backfill_remain_independent_producers() {
let worker = dependency_names(include_str!("../Cargo.toml"));
let backfill = dependency_names(include_str!("../../ksp-job-backfill-lib/Cargo.toml"));
assert!(!worker.contains(&"ksp-job-api"));
assert!(!worker.contains(&"ksp-job-backfill-lib"));
assert!(!backfill.contains(&"ksp-worker-api"));
assert!(!backfill.contains(&"ksp-worker-raw-transaction-ingest-lib"));
for shared in ["ksp-onchain-transport-lib", "ksp-raw-transaction-lib", "ksp-store-lib"] {
assert!(worker.contains(&shared), "Worker common RAW producer edge missing: {shared}");
assert!(backfill.contains(&shared), "Backfill common RAW producer edge missing: {shared}");
}
return;
}