app

Local-first trade for farms and co-ops
git clone https://radroots.dev/git/app.git
Log | Files | Refs | README | LICENSE

commit bb8c76c25027b2c8871c35fec82fe3b75bab6d05
parent 2626ab342494a993f277cb3ebf8bdec7536b8a31
Author: triesap <tyson@radroots.org>
Date:   Sun,  2 Aug 2026 19:37:06 +0000

build(core): verify the native FFI library

- build the UniFFI crate as a current-host dynamic library
- retain the Rust library form for workspace verification
- document the canonical Cargo artifact location
- record the successful native artifact checkpoint

Diffstat:
Mdocs/architecture/rust-ffi-boundary.md | 14++++++++++++++
Mdocs/implementation/nostr-runtime-rcld.md | 2+-
2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/docs/architecture/rust-ffi-boundary.md b/docs/architecture/rust-ffi-boundary.md @@ -25,3 +25,17 @@ The public snapshot DTO carries revisioned lifecycle, account, session, relay, profile, and safe-error values. It contains no credential field. A generated account's nsec is confined to the explicit one-time receipt added with the command boundary. + +## Native artifact + +The FFI crate builds as both an `rlib` for Rust tests and a `cdylib` for the JVM +binding. Build the current-host development artifact from the capsule root: + +```sh +cargo build --manifest-path core/Cargo.toml -p radroots-studio-ffi +``` + +On macOS this produces +`core/target/debug/libradroots_studio_ffi.dylib`. Other desktop hosts use the +platform-equivalent `radroots_studio_ffi` dynamic-library filename under the +same Cargo profile directory. diff --git a/docs/implementation/nostr-runtime-rcld.md b/docs/implementation/nostr-runtime-rcld.md @@ -524,7 +524,7 @@ handoff commit sequence. - [x] 41. Create UniFFI scaffolding and DTO mapping. - [x] 42. Expose approved AppCore commands through UniFFI. - [x] 43. Expose observer callback and deregistration through UniFFI. -- [ ] 44. Build native library artifacts from Cargo. +- [x] 44. Build native library artifacts from Cargo. - [ ] 45. Add Gradle task for Cargo build. - [ ] 46. Add Gradle UniFFI binding generation and generated source set. - [ ] 47. Stage native library for development, tests, and packaged app.