lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

commit 682b62c0650bc6e8478a98f41dce4c9bdfb155c1
parent 2299d0a76221618a94f4c4e661b504c6faf4d4d8
Author: triesap <tyson@radroots.org>
Date:   Sun,  2 Aug 2026 16:50:15 +0000

storage-sqlite: align package manifest and module root

- expose the seven approved SQLite backend modules
- retain the exact prerelease identity and publication freeze
- enforce the required dependency and empty feature boundaries
- reject legacy storage and secret packages at the crate boundary

Diffstat:
Acrates/storage_sqlite/src/backup.rs | 1+
Acrates/storage_sqlite/src/config.rs | 1+
Acrates/storage_sqlite/src/integrity.rs | 1+
Mcrates/storage_sqlite/src/lib.rs | 10+++++++++-
Acrates/storage_sqlite/src/lock.rs | 1+
Acrates/storage_sqlite/src/migration.rs | 1+
Acrates/storage_sqlite/src/open.rs | 1+
Acrates/storage_sqlite/src/status.rs | 1+
Mcrates/storage_sqlite/tests/package_boundary.rs | 33+++++++++++++++++++++++++++++++++
9 files changed, 49 insertions(+), 1 deletion(-)

diff --git a/crates/storage_sqlite/src/backup.rs b/crates/storage_sqlite/src/backup.rs @@ -0,0 +1 @@ +//! SQLite backup and restore implementation boundary. diff --git a/crates/storage_sqlite/src/config.rs b/crates/storage_sqlite/src/config.rs @@ -0,0 +1 @@ +//! Validated SQLite configuration boundary. diff --git a/crates/storage_sqlite/src/integrity.rs b/crates/storage_sqlite/src/integrity.rs @@ -0,0 +1 @@ +//! SQLite integrity validation boundary. diff --git a/crates/storage_sqlite/src/lib.rs b/crates/storage_sqlite/src/lib.rs @@ -1 +1,9 @@ -//! SQLite storage backend for Radroots. +//! Native SQLite implementation of the backend-neutral Radroots storage SPIs. + +pub mod backup; +pub mod config; +pub mod integrity; +pub mod lock; +pub mod migration; +pub mod open; +pub mod status; diff --git a/crates/storage_sqlite/src/lock.rs b/crates/storage_sqlite/src/lock.rs @@ -0,0 +1 @@ +//! SQLite process and writer locking boundary. diff --git a/crates/storage_sqlite/src/migration.rs b/crates/storage_sqlite/src/migration.rs @@ -0,0 +1 @@ +//! Governed SQLite schema migration boundary. diff --git a/crates/storage_sqlite/src/open.rs b/crates/storage_sqlite/src/open.rs @@ -0,0 +1 @@ +//! SQLite storage opening boundary. diff --git a/crates/storage_sqlite/src/status.rs b/crates/storage_sqlite/src/status.rs @@ -0,0 +1 @@ +//! Passive SQLite storage status boundary. diff --git a/crates/storage_sqlite/tests/package_boundary.rs b/crates/storage_sqlite/tests/package_boundary.rs @@ -5,6 +5,18 @@ const ROOT: &str = include_str!("../src/lib.rs"); #[test] fn sqlite_storage_declares_the_final_backend_boundaries() { + for required in [ + "name = \"radroots_storage_sqlite\"", + "version = \"0.1.0-alpha\"", + "publish = false", + "[lib]\nname = \"radroots_storage_sqlite\"", + ] { + assert!( + MANIFEST.contains(required), + "manifest is missing `{required}`" + ); + } + assert!(!MANIFEST.contains("[features]")); assert_eq!( dependency_keys(MANIFEST), BTreeSet::from([ @@ -24,6 +36,27 @@ fn sqlite_storage_declares_the_final_backend_boundaries() { assert!(!MANIFEST.contains(forbidden)); assert!(!ROOT.contains(forbidden)); } + + assert_eq!( + public_modules(ROOT), + BTreeSet::from([ + "backup", + "config", + "integrity", + "lock", + "migration", + "open", + "status", + ]) + ); +} + +fn public_modules(source: &str) -> BTreeSet<&str> { + source + .lines() + .filter_map(|line| line.trim().strip_prefix("pub mod ")) + .filter_map(|module| module.strip_suffix(';')) + .collect() } fn dependency_keys(manifest: &str) -> BTreeSet<&str> {