v0.3.1-pre.003

This commit is contained in:
2026-08-29 07:51:09 +02:00
parent 11e4cde77f
commit ecc5607fd4
13 changed files with 1274 additions and 34 deletions

View File

@@ -1,10 +1,10 @@
// file: crates/ksp-store-api/tests/dependency_boundary.rs
// version: 1
// version: 2
//! Dependency canaries for the Store API scaffold.
//! Dependency canaries for the Store API RAW foundation.
#[test]
fn pre_002_manifest_has_exact_core_only_runtime_dependency() {
fn pre_003_manifest_keeps_exact_core_only_runtime_dependency() {
let manifest = include_str!("../Cargo.toml");
let dependencies_tail = manifest.split("[dependencies]").nth(1);
assert!(dependencies_tail.is_some(), "Store API dependencies section must exist");
@@ -49,26 +49,34 @@ fn pre_002_manifest_has_exact_core_only_runtime_dependency() {
}
#[test]
fn pre_002_source_boundary_separates_models_capabilities_and_backend_runtime() {
fn pre_003_source_boundary_keeps_raw_models_passive_and_backend_free() {
let crate_root = include_str!("../src/lib.rs");
let model_home = include_str!("../src/model.rs");
let raw_primitives = include_str!("../src/model/raw_primitives.rs");
let raw_transaction = include_str!("../src/model/raw_transaction.rs");
assert!(crate_root.contains("mod capability;"));
assert!(crate_root.contains("mod error;"));
assert!(crate_root.contains("mod model;"));
assert!(!crate_root.contains("pub mod "));
for forbidden in [
"ksp_store_lib",
"ksp_store_postgres_lib",
"ksp_onchain_transport_lib",
"ksp_program_api",
"serde::",
"sqlx::",
"tokio::",
"tokio_postgres::",
"std::env::",
"std::fs::",
"std::net::",
] {
assert!(!crate_root.contains(forbidden), "forbidden Store API crate-root dependency/surface detected: {forbidden}");
assert!(model_home.contains("raw_primitives"));
assert!(model_home.contains("raw_transaction"));
for source in [crate_root, model_home, raw_primitives, raw_transaction] {
for forbidden in [
"ksp_store_lib",
"ksp_store_postgres_lib",
"ksp_onchain_transport_lib",
"ksp_program_api",
"serde::",
"sqlx::",
"tokio::",
"tokio_postgres::",
"std::env::",
"std::fs::",
"std::net::",
] {
assert!(!source.contains(forbidden), "forbidden Store API dependency/runtime path detected: {forbidden}");
}
}
assert!(!raw_transaction.contains("RawLog"));
return;
}