0.3.17-pre.002

This commit is contained in:
2026-09-24 10:55:34 +02:00
parent a60397f08e
commit c56ae68834
15 changed files with 1995 additions and 17 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-store-api/tests/release_completeness.rs
// version: 6
// version: 7
//! Release-level boundary and completeness canaries for the backend-neutral Store API RAW surface.
#[test]
@@ -20,19 +20,24 @@ fn v0_3_8_pre_003_exact_crate_root_export_inventory_is_stable() {
"pub use ksp_core_lib::Pubkey;",
"pub use ksp_core_lib::Result;",
"pub use self::capability::StoreApiFuture;",
"pub use self::capability::StoreErrorClassifier;",
"pub use self::capability::raw_account::RawAccountObservationInspectionRead;",
"pub use self::capability::raw_account::RawAccountObservationRead;",
"pub use self::capability::raw_account::RawAccountObservationWrite;",
"pub use self::capability::raw_account::RawAccountStateRead;",
"pub use self::capability::raw_account::RawAccountStateInspectionRead;",
"pub use self::capability::raw_account::RawAccountStateRead;",
"pub use self::capability::raw_account::RawAccountStateWrite;",
"pub use self::capability::raw_conflict::RawTransactionConflictActionWrite;",
"pub use self::capability::raw_conflict::RawTransactionConflictHistoryRead;",
"pub use self::capability::raw_conflict::RawTransactionConflictInspectionRead;",
"pub use self::capability::raw_conflict::RawTransactionVariantInspectionRead;",
"pub use self::capability::raw_retention::RawTransactionRetentionRead;",
"pub use self::capability::raw_retention::RawTransactionRetentionWrite;",
"pub use self::capability::raw_transaction::RawTransactionInspectionRead;",
"pub use self::capability::raw_transaction::RawTransactionObservationInspectionRead;",
"pub use self::capability::raw_transaction::RawTransactionObservationRead;",
"pub use self::capability::raw_transaction::RawTransactionObservationWrite;",
"pub use self::capability::raw_transaction::RawTransactionRead;",
"pub use self::capability::raw_transaction::RawTransactionInspectionRead;",
"pub use self::capability::raw_transaction::RawTransactionWrite;",
"pub use self::error::ERROR_CODE_RAW_CONFLICT;",
"pub use self::error::ERROR_CODE_RAW_MODEL_INVALID;",
@@ -40,9 +45,27 @@ fn v0_3_8_pre_003_exact_crate_root_export_inventory_is_stable() {
"pub use self::error::ERROR_CODE_RAW_PROVENANCE_INVALID;",
"pub use self::error::ERROR_CODE_RAW_QUERY_INVALID;",
"pub use self::error::ERROR_CODE_RAW_RETENTION_INVALID;",
"pub use self::error::StoreErrorClass;",
"pub use self::model::raw_account::RawAccountObservation;",
"pub use self::model::raw_account::RawAccountState;",
"pub use self::model::raw_account::RawAccountStateReference;",
"pub use self::model::raw_conflict::RawTransactionConflictAction;",
"pub use self::model::raw_conflict::RawTransactionConflictActionOutcome;",
"pub use self::model::raw_conflict::RawTransactionConflictActionRequest;",
"pub use self::model::raw_conflict::RawTransactionConflictDetail;",
"pub use self::model::raw_conflict::RawTransactionConflictEventKind;",
"pub use self::model::raw_conflict::RawTransactionConflictEventOrigin;",
"pub use self::model::raw_conflict::RawTransactionConflictEventSummary;",
"pub use self::model::raw_conflict::RawTransactionConflictHistoryQuery;",
"pub use self::model::raw_conflict::RawTransactionConflictInspectionQuery;",
"pub use self::model::raw_conflict::RawTransactionConflictParticipantSummary;",
"pub use self::model::raw_conflict::RawTransactionConflictReference;",
"pub use self::model::raw_conflict::RawTransactionConflictResolution;",
"pub use self::model::raw_conflict::RawTransactionConflictResolutionAction;",
"pub use self::model::raw_conflict::RawTransactionConflictSummary;",
"pub use self::model::raw_conflict::RawTransactionVariantDetail;",
"pub use self::model::raw_conflict::RawTransactionVariantInspectionQuery;",
"pub use self::model::raw_conflict::RawTransactionVariantSummary;",
"pub use self::model::raw_inspection::RawAccountObservationInspectionQuery;",
"pub use self::model::raw_inspection::RawAccountObservationSummary;",
"pub use self::model::raw_inspection::RawAccountStateInspectionQuery;",
@@ -87,7 +110,6 @@ fn v0_3_8_pre_003_exact_crate_root_export_inventory_is_stable() {
"pub use self::model::raw_retention::RawTransactionRetentionTransition;",
"pub use self::model::raw_retention::RawTransactionTombstone;",
"pub use self::model::raw_transaction::RawTransaction;",
"pub use self::model::raw_transaction::compare_raw_transaction_variants;",
"pub use self::model::raw_transaction::RawTransactionConflictStatus;",
"pub use self::model::raw_transaction::RawTransactionObservation;",
"pub use self::model::raw_transaction::RawTransactionReference;",
@@ -97,6 +119,7 @@ fn v0_3_8_pre_003_exact_crate_root_export_inventory_is_stable() {
"pub use self::model::raw_transaction::RawTransactionVariantReference;",
"pub use self::model::raw_transaction::RawTransactionVariantRelation;",
"pub use self::model::raw_transaction::RawTransactionVariantRelationReason;",
"pub use self::model::raw_transaction::compare_raw_transaction_variants;",
];
expected.sort_unstable();
assert_eq!(actual, expected);
@@ -122,7 +145,16 @@ fn v0_3_8_pre_003_exact_production_module_inventory_is_raw_only() {
};
assert_eq!(
model_names,
std::vec!["raw_account.rs", "raw_inspection.rs", "raw_outcome.rs", "raw_pagination.rs", "raw_primitives.rs", "raw_retention.rs", "raw_transaction.rs"]
std::vec![
"raw_account.rs",
"raw_conflict.rs",
"raw_inspection.rs",
"raw_outcome.rs",
"raw_pagination.rs",
"raw_primitives.rs",
"raw_retention.rs",
"raw_transaction.rs"
]
);
let capability_names = rust_file_names(root.join("capability").as_path());
assert!(capability_names.is_ok());
@@ -130,13 +162,15 @@ fn v0_3_8_pre_003_exact_production_module_inventory_is_raw_only() {
std::result::Result::Ok(value) => value,
std::result::Result::Err(_) => return,
};
assert_eq!(capability_names, std::vec!["raw_account.rs", "raw_retention.rs", "raw_transaction.rs"]);
assert_eq!(capability_names, std::vec!["raw_account.rs", "raw_conflict.rs", "raw_retention.rs", "raw_transaction.rs"]);
return;
}
#[test]
fn pre_007_public_evolutive_enums_remain_non_exhaustive() {
let sources = [
include_str!("../src/error.rs"),
include_str!("../src/model/raw_conflict.rs"),
include_str!("../src/model/raw_outcome.rs"),
include_str!("../src/model/raw_pagination.rs"),
include_str!("../src/model/raw_primitives.rs"),
@@ -145,6 +179,12 @@ fn pre_007_public_evolutive_enums_remain_non_exhaustive() {
];
for enum_name in [
"RawAcquisitionOrigin",
"RawTransactionConflictAction",
"RawTransactionConflictActionOutcome",
"RawTransactionConflictEventKind",
"RawTransactionConflictEventOrigin",
"RawTransactionConflictResolution",
"RawTransactionConflictResolutionAction",
"RawEntityWriteOutcome",
"RawObservationWriteOutcome",
"RawRetentionState",
@@ -156,6 +196,7 @@ fn pre_007_public_evolutive_enums_remain_non_exhaustive() {
"RawTransactionVariantRelation",
"RawTransactionVariantRelationReason",
"RawTransactionVariantWriteOutcome",
"StoreErrorClass",
] {
assert_non_exhaustive(&sources, enum_name);
}
@@ -169,6 +210,7 @@ fn pre_007_interface_store_ownership_and_negative_scope_remain_explicit() {
include_str!("../src/lib.rs"),
include_str!("../src/model.rs"),
include_str!("../src/model/raw_account.rs"),
include_str!("../src/model/raw_conflict.rs"),
include_str!("../src/model/raw_inspection.rs"),
include_str!("../src/model/raw_outcome.rs"),
include_str!("../src/model/raw_pagination.rs"),
@@ -177,6 +219,7 @@ fn pre_007_interface_store_ownership_and_negative_scope_remain_explicit() {
include_str!("../src/model/raw_transaction.rs"),
include_str!("../src/capability.rs"),
include_str!("../src/capability/raw_account.rs"),
include_str!("../src/capability/raw_conflict.rs"),
include_str!("../src/capability/raw_retention.rs"),
include_str!("../src/capability/raw_transaction.rs"),
];
@@ -207,7 +250,9 @@ fn pre_007_interface_store_ownership_and_negative_scope_remain_explicit() {
#[test]
fn v0_3_8_pre_003_capability_inventory_stays_fine_grained_without_runtime_facade() {
let sources = [
include_str!("../src/capability.rs"),
include_str!("../src/capability/raw_account.rs"),
include_str!("../src/capability/raw_conflict.rs"),
include_str!("../src/capability/raw_retention.rs"),
include_str!("../src/capability/raw_transaction.rs"),
];
@@ -228,6 +273,11 @@ fn v0_3_8_pre_003_capability_inventory_stays_fine_grained_without_runtime_facade
"pub trait RawAccountStateRead: std::marker::Send + std::marker::Sync {",
"pub trait RawAccountStateInspectionRead: std::marker::Send + std::marker::Sync {",
"pub trait RawAccountStateWrite: std::marker::Send + std::marker::Sync {",
"pub trait RawTransactionConflictActionWrite: std::marker::Send + std::marker::Sync {",
"pub trait RawTransactionConflictHistoryRead: std::marker::Send + std::marker::Sync {",
"pub trait RawTransactionConflictInspectionRead: std::marker::Send + std::marker::Sync {",
"pub trait RawTransactionVariantInspectionRead: std::marker::Send + std::marker::Sync {",
"pub trait StoreErrorClassifier: std::marker::Send + std::marker::Sync {",
"pub trait RawTransactionObservationInspectionRead: std::marker::Send + std::marker::Sync {",
"pub trait RawTransactionObservationRead: std::marker::Send + std::marker::Sync {",
"pub trait RawTransactionObservationWrite: std::marker::Send + std::marker::Sync {",