Overseer Kit — desktop (Track Q / Q3)
Cross-platform Tauri shell for the Q1 local web UI. The desktop app does not reimplement governance logic — it spawns the canonical ok app subprocess and loads the same loopback UI in a native window.
Prerequisites
- Python 3.11+ (system or
.venvat kit root) - Node.js + npm
- Rust 1.88+ via rustup (
desktop/src-tauri/rust-toolchain.tomlpins 1.88.0) - macOS / Windows / Linux toolchain for your target platform
Development
From the kit root:
# optional: bundle Python engine into Tauri resources (required before release builds)
./scripts/bundle-desktop-kit.sh
cd desktop
npm install
npm run tauri dev
Environment overrides:
| Variable | Purpose |
|---|---|
OVERSEER_KIT_ROOT |
Kit checkout (auto-detected when run from repo) |
OVERSEER_REPO_ROOT |
Governance repo to bind (defaults to kit root in dev) |
App icon (OK mark)
Source master: desktop/app-icon.png (same brand as docs/landing/assets/ok-mark-1024.png —
blue #1d4f91 rounded square + white OK). Tauri reads
desktop/src-tauri/icons/* via tauri.conf.json → bundle.icon.
Regenerate after changing the master:
cd desktop
npx @tauri-apps/cli icon app-icon.png -o src-tauri/icons
rm -rf src-tauri/icons/ios src-tauri/icons/android # not used by current targets
A new GitHub Release (signed + notarized .dmg) is required before Path 1 downloads show the
updated Dock/Finder icon. Editing icons in the repo alone does not change an already-installed app.
Release build
./scripts/bundle-desktop-kit.sh
cd desktop
npm run tauri build
Bundled installers place the Python engine under Tauri resources (resources/kit/). The Rust launcher resolves that tree at runtime.
Architecture
desktop/src-tauri/ Tauri shell (Rust)
launcher.rs spawns cli/ok app, parses startup banner
tools/desktop/ testable Python launcher contract + manifest checks
scripts/bundle-desktop-kit.sh copies engine into Tauri resources
Boundary: packaging only — no new api/* routes, subcommands, or exit codes.