tangle


git clone https://radroots.dev/git/tangle.git
Log | Files | Refs | README | LICENSE

commit a1a0beb4c97e8e1e8c9331308c2eccad2a0db283
parent b52b9560ed4849fe3ef2f91f2080b32a0b69f4df
Author: triesap <tyson@radroots.org>
Date:   Sun, 14 Jun 2026 21:11:08 -0700

tests: prove pocket source boundary

- assert Pocket manifests and lock state use the approved fork revision
- reject alternate Pocket hosts in source-boundary tests
- align benchmark provenance with the store boundary constants
- keep the dependency proof inside existing store and benchmark crates

Diffstat:
Mcrates/tangle_bench/src/lib.rs | 12++++++++++++
Mcrates/tangle_store_pocket/src/lib.rs | 21+++++++++++++++++++++
2 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/crates/tangle_bench/src/lib.rs b/crates/tangle_bench/src/lib.rs @@ -2388,6 +2388,18 @@ mod tests { } #[test] + fn benchmark_pocket_source_matches_store_boundary() { + assert_eq!( + POCKET_SOURCE_REPOSITORY, + tangle_store_pocket::POCKET_SOURCE_REPOSITORY + ); + assert_eq!( + POCKET_SOURCE_REVISION, + tangle_store_pocket::POCKET_SOURCE_REVISION + ); + } + + #[test] fn projection_rebuild_scenario_recreates_groups_and_members() { let dataset = BenchDataset::generate(BenchDatasetConfig::new(3, 1, 1, 0, 2)).expect("dataset"); diff --git a/crates/tangle_store_pocket/src/lib.rs b/crates/tangle_store_pocket/src/lib.rs @@ -581,6 +581,27 @@ mod tests { } #[test] + fn pocket_dependency_boundary_matches_manifest_and_lock_state() { + let store_manifest = include_str!("../Cargo.toml"); + let groups_manifest = include_str!("../../tangle_groups/Cargo.toml"); + let lockfile = include_str!("../../../Cargo.lock"); + let approved_source = format!("git = \"{}\"", POCKET_SOURCE_REPOSITORY); + let approved_revision = format!("rev = \"{}\"", POCKET_SOURCE_REVISION); + let approved_lock_source = format!( + "git+{}?rev={}#{}", + POCKET_SOURCE_REPOSITORY, POCKET_SOURCE_REVISION, POCKET_SOURCE_REVISION + ); + + for manifest in [store_manifest, groups_manifest] { + assert!(!manifest.contains("mikedilger/pocket")); + assert!(manifest.contains(&approved_source)); + assert!(manifest.contains(&approved_revision)); + } + assert!(!lockfile.contains("mikedilger/pocket")); + assert!(lockfile.contains(&approved_lock_source)); + } + + #[test] fn pocket_store_handle_opens_syncs_and_exposes_tangle_tables() { let root = std::env::temp_dir().join(format!("tangle-pocket-store-{}", std::process::id())); let config = PocketStoreConfig::new(root.join("pocket"), PocketSyncPolicy::FlushOnShutdown)