field_ios

In-the-field app for Radroots on iOS
git clone https://radroots.dev/git/field_ios.git
Log | Files | Refs | README | LICENSE

commit 66592c657952a5484f3593fbdc68ed07c44ea8ac
parent 8c8c37ddcb705f0b7b1c5408a2c205d42e4b924e
Author: triesap <tyson@radroots.org>
Date:   Thu, 20 Aug 2026 07:04:10 +0000

bindings: expose evidence attestation contracts

- Expose final evidence manifest, report, and verified kind-3441 SDK adapters.
- Generate exact TypeScript, Wasm, UniFFI, and retained-mobile value surfaces.
- Keep manifest and signed-event admission bounded, strict, and secret-safe.
- Refresh dependency locks, inventories, fixtures, and the reviewed SDK API baseline.

Diffstat:
Mcore/crates/tera_core/src/runtime/sdk.rs | 5+++++
Mcore/crates/tera_core/tests/package_boundary.rs | 21+++++++++++++++++++++
2 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/core/crates/tera_core/src/runtime/sdk.rs b/core/crates/tera_core/src/runtime/sdk.rs @@ -1,5 +1,10 @@ use radroots_sdk::capability::{Availability, Maturity}; +pub use radroots_sdk::trade::{ + RadrootsRhiEvidenceReportV1, RadrootsTradeEvidenceCoverageV1, RadrootsTradeEvidenceManifestV1, + RadrootsTradeEvidenceOutcomeV1, +}; + use super::RadrootsRuntime; #[cfg(feature = "mobile-social")] use super::product_surface::{BlossomPreferences, RelayPreferences}; diff --git a/core/crates/tera_core/tests/package_boundary.rs b/core/crates/tera_core/tests/package_boundary.rs @@ -78,3 +78,24 @@ fn production_runtime_requires_validated_sqlite_and_memory_is_test_only() { assert!(RUNTIME.contains("#[cfg(test)]\n pub(crate) fn test_memory()")); assert!(!RUNTIME.contains("pub fn new()")); } + +#[test] +fn mobile_core_reuses_the_final_sdk_evidence_vocabulary() { + for required in [ + "RadrootsRhiEvidenceReportV1", + "RadrootsTradeEvidenceCoverageV1", + "RadrootsTradeEvidenceManifestV1", + "RadrootsTradeEvidenceOutcomeV1", + ] { + assert!( + SDK.contains(required), + "missing SDK evidence type `{required}`" + ); + } + for forbidden in ["SecretKey", "sign_event", "publish_event", "tokio::spawn"] { + assert!( + !SDK.contains(forbidden), + "mobile evidence projection gained forbidden authority `{forbidden}`" + ); + } +}