feat(desktop): bundle a self-contained Avibe Runtime - #1041
Conversation
|
@codex review |
|
@codex review |
|
@codex review |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4ab7756b32
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…untime' into feature/self-contained-desktop-runtime # Conflicts: # .github/workflows/desktop-package.yml # desktop/README.md # desktop/runtime-host/src/launcher.rs # desktop/runtime-host/src/private_runtime.rs # desktop/scripts/build-runtime-bundle.py # docs/plans/tauri-desktop-vertical-slice.md # tests/test_upgrade_flow.py # vibe/api.py # vibe/cli.py
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9e8a6551a1
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7909611306
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0cac62dea3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ef4fa001a2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Ship the desktop shell with an app-private, verified Avibe Runtime so a new user does not need to install uv, Python, Node.js, ripgrep, or Codex.
The build pins and verifies CPython, Node.js, the complete target-specific Codex package, Python dependencies, and the Avibe wheel; creates a deterministic Runtime archive; embeds it in the Tauri package; verifies the archive and installed tree before execution; and launches the private interpreter in isolated mode. The Codex CLI, code-mode host, ripgrep sidecar, and platform shell/sandbox resources retain their package layout. A corrupt install is repaired once from the immutable app resource and otherwise fails closed.
Desktop-managed installs no longer offer or perform Python package self-upgrades. Desktop application updates own the Runtime lifecycle: the Controller reports the immutable archive identity, the UI forwards only that authoritative value, matching daemons are adopted, superseded daemons hand over gracefully before service reuse, and old extracted trees are pruned only after the successor is proven ready.
The current review fixes also require the UI and Controller process identities to match before readiness, validate every directly launched Codex helper, suppress backend self-updates for the bundled Codex, expose a localized in-app private-Runtime uninstall action that preserves
~/.avibe, stop every confirmed managed Runtime before deletion while failing closed on unknown ownership, allow inactive corrupt installs to be removed without repair, complete identity handover within the same startup run, and let Python's boundedvibe stoplifecycle remain the single handover timeout authority.Scenarios
Evidence
codex-pathprecedence, executable ripgrep repair, Controller-owned Runtime identity, version-aware daemon handover including polling-time mismatches, readiness-gated cleanup, explicit uninstall ownership states, inactive corrupt-tree removal, and central-catalog native localization.vibe start --no-open-browser, exact/ready, cleanvibe stop, and readiness disappearance checks under an isolated AVIBE_HOME. The package verifier now also runs the bundled ripgrep binary.Distribution scope
The package workflow requires one validated SemVer and stamps it into macOS Apple Silicon DMG, macOS Intel DMG, and Windows x64 NSIS acceptance artifacts. Production release remains gated on Developer ID/notarization for macOS and Authenticode signing for Windows, including the executable Runtime payload before it is archived.
Residual manual checks