feat(desktop): Tauri shell + deploy_list bridge (ADR-3 slice-2) - #8
Merged
Conversation
…ice-1) A framework-light TypeScript web console: renders the deployment roster with each instance's canonical 6-state and ready/desired/current, refreshed by polling a Source. MockSource (fixtures) drives the standalone/browser build; TauriSource (desktop, slice-2) bridges to studio-cp via the Tauri global. Verified locally: tsc --noEmit clean, 8 vitest tests (rosterHtml), vite build produces a standalone dist/index.html. No core needed to run with mocks.
Scaffolds the desktop console (macOS/Windows) via the Tauri CLI (correct v2 boilerplate), then customizes: - src-tauri/src/lib.rs: async `deploy_list` command bridging to studio-cp::observe_services/observe_deployment, returning the console's Deployment[] wire shape. - Cargo.toml: studio-cp + aws-config deps; own [workspace] so the aws-heavy desktop build stays out of the root workspace/CI. - tauri.conf.json: withGlobalTauri (console's TauriSource uses the global bridge), identifier dev.openab.studio, empty beforeBuildCommand (CI builds the web skin explicitly). - CI: desktop.yml — Linux compile-validation of the Tauri app first; the macOS/Windows bundle matrix + updater/release (ADR-4) are follow-ons. Compile-blind + headless locally; desktop CI is the gate.
Adds a bundle-macos job on GitHub's free macOS runner (public repo): builds the web skin, installs the Tauri CLI, tauri build → uploads the .dmg/.app as an artifact. Unsigned for now (Gatekeeper bypass on first open); universal + signing + updater are ADR-4 follow-ons.
brettchien
force-pushed
the
feat/console-slice2
branch
from
August 9, 2026 15:29
2170373 to
8714618
Compare
brettchien
marked this pull request as ready for review
August 9, 2026 15:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Console slice-2: the Tauri desktop shell (macOS/Windows) over the studio-cp core. Stacked on #2 (needs studio-cp) + builds on the slice-1 web skin (#6).
What it adds
src-tauri/— Tauri v2 app (scaffolded via the official CLI, so the boilerplate is correct), customized with an asyncdeploy_listcommand that bridges tostudio-cp::observe_services/observe_deploymentand returns the console'sDeployment[]shape.withGlobalTaurion, so the slice-1TauriSource(window.__TAURI__.core.invoke) drives it with zero UI change —MockSource→ real core.src-tauriis its own[workspace]so the aws-heavy desktop build stays out of the rootcargo build --workspace/ CI..github/workflows/desktop.yml— stage 1: Linux compile-validation of the Tauri app. macOS/Windows bundling + the ADR-4 updater/release pipeline are deliberate follow-ons once compile is green.Verification reality: the authoring box can't build this (aws-sdk-ec2 > RAM, headless, wrong OS). Locally verified only: tauri configs valid,
deploy_listregistered, console still typechecks. The Rust bridge is CI-gated — desktop.yml is its first real compile.Deferred (need decisions): macOS/Windows bundle matrix; private-only distribution mechanism (S3 vs private repo, ADR-4 §6); OS code-signing.
Draft.