# Smoke harness Active contributors: Douwe de Vries, vriesd ## Purpose The smoke harness runs core QA Scribe workflows without the Tauri GUI. It gives CI and local development a fast way to catch storage, attachment, generation context, and cascade regressions. ## Key source files | File | Purpose | | --- | --- | | `crates/qa-scribe-app/src/main.rs` | Main non-GUI smoke workflow. | | `crates/qa-scribe-app/src/generation_smoke.rs` | Scripted provider workflow for generation smoke coverage. | | `package.json` | Defines `bun run smoke` as `cargo run -p qa-scribe-app`. | ## How it works The harness uses `qa-scribe-core` directly. It creates core objects, writes them through `SessionService`, exercises attachment and draft behavior, reconciles state, and verifies deletion behavior. Because it bypasses the webview, failures usually point to Rust core or storage regressions rather than React view issues. ## Integration points The smoke harness validates [Rust core](systems--rust-core.md), [Managed attachments](features--managed-attachments.md), and [AI-assisted Testware](features--ai-assisted-testware.md) at the core workflow level.