A repository where every commit is gated the same way on every machine: the cargo workspace in the house shape (~/git/architecture/generic.md §1), a Tauri 2 shell with a strict IPC boundary, a Vite + React webview, and a Gitea Actions workflow that runs format, lint-as-error, tests and the webview build on the rust-gtk3 runner.
Why first
Everything else lands as a child of some epic through this gate. Type drift between Rust and TypeScript, an accidental allow-all capability, or a clippy warning that becomes a habit are all cheapest to prevent on day one.
Operator-owned decisions
Webview framework: React (house convention) rather than Svelte (monsoon). Decided: React.
Isolation pattern on from the start, even though it costs a second HTML entry. Decided: yes.
Definition of done
A push to main runs the workflow green on the self-hosted runner; a deliberate clippy warning, a hand-edited generated type, or a capability file granting a plugin permission without a description each turn it red. cargo tauri dev opens a window on Fedora that shows the workspace version obtained through a Tauri command.
## Goal
A repository where every commit is gated the same way on every machine: the cargo workspace in the house shape (`~/git/architecture/generic.md` §1), a Tauri 2 shell with a strict IPC boundary, a Vite + React webview, and a Gitea Actions workflow that runs format, lint-as-error, tests and the webview build on the `rust-gtk3` runner.
## Why first
Everything else lands as a child of some epic through this gate. Type drift between Rust and TypeScript, an accidental `allow-all` capability, or a clippy warning that becomes a habit are all cheapest to prevent on day one.
## Operator-owned decisions
- Webview framework: React (house convention) rather than Svelte (monsoon). **Decided: React.**
- Isolation pattern on from the start, even though it costs a second HTML entry. **Decided: yes.**
## Definition of done
A push to `main` runs the workflow green on the self-hosted runner; a deliberate clippy warning, a hand-edited generated type, or a capability file granting a plugin permission without a description each turn it red. `cargo tauri dev` opens a window on Fedora that shows the workspace version obtained through a Tauri command.
Children, in dependency order: #11 (isolation and capabilities), #12 (CI green on rust-gtk3), #13 (typed command client). The scaffold commit on main is the starting point for all three.
Children, in dependency order: #11 (isolation and capabilities), #12 (CI green on rust-gtk3), #13 (typed command client). The scaffold commit on `main` is the starting point for all three.
Done. #11, #12 and #13 are closed by commits on main; the definition of done holds: every push runs the gate on rust-gtk3 (first green run 4 min 24 s), a hand-edited generated type went red on PR #64's drift step, a clippy warning fails under -D warnings, the isolation pattern is on with a commented TOML capability file whose test refuses an undescribed permission, and cargo tauri dev shows a version that crossed the boundary as a typed struct. Not done and deliberately deferred: sccache, until wall clock costs a session.
Done. #11, #12 and #13 are closed by commits on `main`; the definition of done holds: every push runs the gate on `rust-gtk3` (first green run 4 min 24 s), a hand-edited generated type went red on PR #64's drift step, a clippy warning fails under `-D warnings`, the isolation pattern is on with a commented TOML capability file whose test refuses an undescribed permission, and `cargo tauri dev` shows a version that crossed the boundary as a typed struct. Not done and deliberately deferred: sccache, until wall clock costs a session.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
A repository where every commit is gated the same way on every machine: the cargo workspace in the house shape (
~/git/architecture/generic.md§1), a Tauri 2 shell with a strict IPC boundary, a Vite + React webview, and a Gitea Actions workflow that runs format, lint-as-error, tests and the webview build on therust-gtk3runner.Why first
Everything else lands as a child of some epic through this gate. Type drift between Rust and TypeScript, an accidental
allow-allcapability, or a clippy warning that becomes a habit are all cheapest to prevent on day one.Operator-owned decisions
Definition of done
A push to
mainruns the workflow green on the self-hosted runner; a deliberate clippy warning, a hand-edited generated type, or a capability file granting a plugin permission without a description each turn it red.cargo tauri devopens a window on Fedora that shows the workspace version obtained through a Tauri command.Children, in dependency order: #11 (isolation and capabilities), #12 (CI green on rust-gtk3), #13 (typed command client). The scaffold commit on
mainis the starting point for all three.Done. #11, #12 and #13 are closed by commits on
main; the definition of done holds: every push runs the gate onrust-gtk3(first green run 4 min 24 s), a hand-edited generated type went red on PR #64's drift step, a clippy warning fails under-D warnings, the isolation pattern is on with a commented TOML capability file whose test refuses an undescribed permission, andcargo tauri devshows a version that crossed the boundary as a typed struct. Not done and deliberately deferred: sccache, until wall clock costs a session.