# qa-scribe-core Active contributors: Douwe de Vries, vriesd ## Purpose `qa-scribe-core` is the reusable Rust library behind the desktop app and smoke harness. It owns the stable domain model and all local persistence behavior. ## Key source files | File | Purpose | | --- | --- | | `crates/qa-scribe-core/Cargo.toml` | Crate metadata and dependencies. | | `crates/qa-scribe-core/src/lib.rs` | Module exports and app status. | | `crates/qa-scribe-core/src/domain/mod.rs` | Domain DTO exports. | | `crates/qa-scribe-core/src/storage/mod.rs` | SQLite schema, migrations, indexes, and version checks. | | `crates/qa-scribe-core/src/services/session_service.rs` | Service facade. | | `crates/qa-scribe-core/src/attachments/mod.rs` | Managed files. | | `crates/qa-scribe-core/src/generation/workflow.rs` | Generation workflow. | | `crates/qa-scribe-core/src/ai/mod.rs` | Provider command construction. | ## Dependencies The crate uses `rusqlite` for SQLite, `serde` for DTOs, `specta` for exported types, `thiserror` for errors, `uuid` for IDs, `chrono` for timestamps, `sha2` for attachment hashes, and `base64` for previews and data URLs. ## Integration points The Tauri app depends on this crate through the workspace dependency declared in `Cargo.toml`. See [Rust core](systems--rust-core.md) for architecture and [Reference data models](reference--data-models.md) for domain objects.