# HAC-15 Desktop Build, Packaging, And Smoke Plan Date: 2026-03-27 UTC Owner: Senior Backend Engineer Issue: HAC-15 ## Goal Make the desktop repository usable through one stable build path, one stable package path, and one repeatable local Redis smoke path. ## Current Findings - The original `tauri.conf.json` pre-build and pre-dev commands assumed the wrong working directory and caused `tauri build` to fail before the real Rust/Tauri flow began. - The repo already had a valid desktop frontend build and a validated shared Rust backend core, but no stable `pnpm` workspace setup for the desktop shell. - QA had explicit blockers around missing seed data, missing Docker or smoke automation, and missing reusable build instructions. ## Changes In This Pass 1. Standardize the workspace on `pnpm` by adding `packageManager`, `pnpm-workspace.yaml`, and root desktop scripts. 2. Fix Tauri `beforeDevCommand` and `beforeBuildCommand` so they execute against the desktop workspace directly. 3. Add a Docker-backed Redis fixture with start, seed, and stop scripts. 4. Add a local desktop smoke runbook and refresh README and QA evidence docs around the new commands and fixture path. ## Verification - Passed: `cargo test -p redis-core` - Passed: `pnpm install --lockfile-only` - Passed: `pnpm run desktop:build` - Passed: `./scripts/redis-fixture/start.sh` - Passed: `./scripts/redis-fixture/seed.sh` - Passed: `./scripts/redis-fixture/stop.sh` - In progress: `pnpm run desktop:tauri:build` now clears the pre-build script failure and reaches Cargo dependency download and compile steps ## Remaining Risk - This heartbeat has not yet produced a saved unsigned package artifact for Linux, macOS, or Windows. - First-run Cargo package downloads remain slow and can serialize on the shared package-cache lock, so package verification should be rerun in a clean single-build window. - End-to-end smoke evidence inside the desktop UI still depends on frontend surfaces that are only partially implemented.