ADR-0003: Tauri shell replaces the SwiftUI shell

Date: 2026-06-13 · Status: Accepted · Supersedes ADR-0001 and ADR-0002

Context

The SwiftUI shell (ADR-0002) reached the UI layer and proved buggy and slow to iterate on — layout instability, fragile state, and a heavy C-FFI/JSON-string bridge (ADR-0001) just to move data between Rust and Swift. The core is already Rust; the bridge was overhead that existed solely because the shell was a different language.

Decision

Replace the entire Swift shell (Tabibu/, TabibuMonitor/, TabibuHelper/) and the C-FFI crate (tabibu-ffi, core/include/) with a Tauri v2 application in app/:

Rationale

Consequences

Verification

cargo build of app/src-tauri is clean; npx tauri build --debug produces Tabibu.app + DMG; the app launches and renders the sidebar, nav, icons, and FDA state. Core workspace unchanged: 95 tests still pass.