Skip to content

Coordinate Hermes graphical setup and native updates - #10443

Closed
spencerbull wants to merge 3 commits into
omacom:quattrofrom
spencerbull:hermes-native-updates
Closed

Coordinate Hermes graphical setup and native updates#10443
spencerbull wants to merge 3 commits into
omacom:quattrofrom
spencerbull:hermes-native-updates

Conversation

@spencerbull

@spencerbull spencerbull commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

AI -> Hermes should install the package in the menu terminal, open the desktop immediately, and let Hermes perform first-run installation inside the app. The earlier synchronous --now handoff built the runtime and desktop before showing the window.

Use a metadata-only check for the prebuilt package, then launch its entry point and wait separately for theme activation. Explicit CLI setup remains available through omarchy-install-hermes-cli --now. Native desktop and CLI readiness, shared profile homes, ownership-based predecessor cleanup, and preservation of user data and custom installations remain coordinated with the package.

Requires the hermes-desktop 2026.8.31-2 correction in omacom/omarchy-pkgs#334. Package PR #325 has merged, but its installer-only release does not provide the intended graphical setup; the new menu check rejects that payload without executing it. Publish the corrected package before this integration.

This PR remains draft while the final release-2 bootstrap, app/CLI update, and browser-session validation finish. Focused Hermes and CLI tests pass. Independent review and actual Omabot review will be reconciled against the final coordinated heads.

🤖 Generated by GPT-6 in Codex/T3 Code. Independent GPT-6 Codex review at xhigh is in progress.

@spencerbull

Copy link
Copy Markdown
Contributor Author

Omabot review: no remaining source blockers at 0e454df0edcf4c246565aa02dde4808bcaee94f7, coordinated with package 351f188d025d7e07d47bd1cb78bd11bada0ea2ac in omacom/omarchy-pkgs#325.

Claude Opus 5 in Claude Code, at default effort through Omabot’s subscription workflow, and an independent GPT-6 Codex review at xhigh agree on the final source. Setup waits for the native desktop and prompted CLI before reporting success; older packages are detected without forwarding unsupported flags to Electron. Cleanup requires proof of the old Omarchy CLI’s ownership. Removal preserves foreign launchers, local source changes, unpublished history, linked worktrees and user data by default.

Seven focused Hermes suites passed with 134+ assertions, alongside targeted mutation checks. The aggregate suite still has three failures—bin-style’s existing OpenClaw check, launch-about, and runtime-smoke—which each reproduce on untouched base 988da12. No hosted checks are currently reported for this Omarchy PR.

Separate runtime validation confirmed fresh installation of the coordinated package, correct desktop registration with a competing CLI on PATH, repeated setup without changes, successful CLI update, and a real in-app update/rebuild/relaunch from 779482 to 245e480. The host pacman replacement still awaits normal system authentication. Copilot requests produced no review or start event; no Copilot coverage is claimed. Ship the package before this integration.

🤖 Generated by GPT-6 in Codex/T3 Code. Reviewed by Claude Opus 5 at default effort through Omabot and GPT-6 Codex at xhigh.

@spencerbull
spencerbull marked this pull request as ready for review September 6, 2026 07:35

@smfworks smfworks left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review Summary

Verdict: Reviewed (comment) — no source blocker that should stop the package-first plan. One product hole and one merge conflict.

PR: #10443 — Finish Hermes native setup before launching the app
Package: omacom/omarchy-pkgs#325 must ship first (agreed).

Warning

  • HERMES_HOME inheritance. Install, CLI setup, theme handoff, and remove all honor ${HERMES_HOME:-$HOME/.hermes}. That is correct for an explicit custom data home (and the tests cover a path with spaces). It is wrong if Install > AI / Remove > AI is invoked from a Hermes profile session, where HERMES_HOME is ~/.hermes/profiles/<name>. That would provision or delete the profile tree instead of the machine install. Menu launch via omarchy-launch-floating-terminal-with-presentation is a clean env and is fine. Pin the Omarchy verbs to $HOME/.hermes unless the caller is clearly not a profile directory (or document that Install > AI must not run from a profile shell).

Suggestion

  • Conflict with #10460. That PR only swaps command -v gumomarchy-cmd-present gum in the Hermes and OpenClaw removers. This PR rewrites the Hermes gum line. Merge #10460 first (OpenClaw is otherwise still failing bin-style); rebase this so Hermes does not bring command -v back.

Looks good

  • Waiting for hermes-desktop --install / --check before launch instead of racing first-run Electron.
  • Predecessor receipt + owns_predecessor so mise cleanup is not “rm whatever is named hermes”.
  • Remove keeps dirty checkouts, extra worktrees, unpublished history, and customized wrappers; user data still defaults to no.
  • Older packages detected via pacman -Qlq rather than forwarding unknown flags into Electron.
  • Namespace sandbox (--disable-setuid-sandbox when unshare works) is the right Omarchy path; do not add --no-sandbox here.

I did not re-run the 134 Hermes assertions; relying on the stated local results and that quattro still has the three unrelated aggregate failures.

@spencerbull

spencerbull commented Sep 7, 2026

Copy link
Copy Markdown
Contributor Author

Addressed the profile-home finding in 61fb0b0dc806bbb3bdbd931d3e391202252de820, coordinated with omacom/omarchy-pkgs#325 at beb164a9a218ce680737ef46a94e05786fd9e72c.

Install, CLI setup/readiness/cleanup, theme handoff, and removal now share a home resolver before operating. An inherited <root>/profiles/<name> resolves to the shared installation root, while explicit custom roots and symlink spelling remain supported. Removal continues to preserve profile and root data by default. The theme unit receives the resolved home explicitly.

Independent GPT-6 Codex review at xhigh found no confirmed blockers and exercised the actual install/CLI/package and removal/CLI chains in disposable fixtures. All eight focused Hermes suites pass with 140 assertions, and seven deliberate mutations are caught. The full suite completes with the same three previously reproduced baseline failures: bin-style, launch-about, and runtime-smoke. Omabot is being rerun on these new commits next.

On #10460: it is still open, and this PR is currently mergeable against quattro. The Hermes remover already invokes gum directly because it is a default runtime dependency, so it does not restore the flagged command -v check. If #10460 lands first, the overlapping Hermes hunk should retain that direct invocation; the OpenClaw correction belongs to #10460. Ship the coordinated package first.

🤖 Generated by GPT-6 in Codex/T3 Code. Reviewed by GPT-6 Codex at xhigh.

@spencerbull

Copy link
Copy Markdown
Contributor Author

Omabot final review: no confirmed source blockers at 61fb0b0dc806bbb3bdbd931d3e391202252de820, coordinated with omacom/omarchy-pkgs#325 at beb164a9a218ce680737ef46a94e05786fd9e72c.

Claude Opus 5 in Claude Code, at default effort through Omabot’s subscription workflow, and the independent GPT-6 Codex review at xhigh both found the profile-resolution change consistent with Hermes’ supported root/profile layout. Setup, readiness, cleanup, theme handoff, and removal select the shared installation home while preserving explicit custom roots and existing ownership safeguards. No further source changes were required.

All eight focused Hermes suites passed with 140 reported assertions, and seven targeted mutation checks caught the removed fixes. The independent review also exercised the actual command chain in disposable fixtures. The full suite completed with exactly the same three previously reproduced baseline failures: bin-style, launch-about, and runtime-smoke. No hosted checks are reported for this PR. The real rebuilt package additionally passed profile-session readiness and warm setup; GUI and native theme activation from a profile were not rerun in this follow-up.

Ship the coordinated package first; both PRs are required for the complete profile fix. The #10460 overlap is addressed in the preceding reply: retain the direct gum invocation if that PR lands first. Maintainer merge decisions remain pending.

🤖 Generated by GPT-6 in Codex/T3 Code. Reviewed by GPT-6 Codex at xhigh and Claude Opus 5 at default effort through Omabot.

spencerbull and others added 2 commits September 7, 2026 02:25
Wait for the package to finish the writable runtime and desktop before launch or legacy CLI cleanup. Preserve installation ownership through retries and remove only unchanged, published runtime work while retaining user data by default.

Co-Authored-By: GPT-6 Codex (xhigh) <noreply@openai.com>
@spencerbull spencerbull changed the title Finish Hermes native setup before launching the app Coordinate Hermes graphical setup and native updates Sep 7, 2026
@spencerbull spencerbull closed this Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants