fix(workbuddy): repair product-specific installation and repeat setup - #98
Conversation
The previous installer assumed one configuration root and the WorkBuddy process name; its tests mocked pgrep and could not catch Electron or overseas builds. Add host preflight and real installer regression fixtures, isolate configuration receipts, and reuse verified packages. Prepare 0.2.1 as a repair candidate without asserting pending desktop or device acceptance.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d87f25478b
ℹ️ 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".
| ### Roll back | ||
|
|
||
| Finish tasks, close WorkBuddy's OpenGUI mirrors and quit WorkBuddy. `~/.workbuddy/opengui/local-install.json` records each affected file and its backup. Restore the previous MCP and Hook configuration, Skill, and previous installation metadata if present, then reopen WorkBuddy. A `null` backup means that file did not exist before installation; remove only this installation's entries if other settings have since been added. Preserve subsequent unrelated edits, old packages and caches. Never reset the entire WorkBuddy configuration or touch DSH/Codex state. | ||
| Finish tasks, close WorkBuddy's OpenGUI mirrors and quit WorkBuddy. `~/.workbuddy/opengui/local-install-<configuration-id>.json` records each affected file and its backup. Restore the previous MCP and Hook configuration, Skill, and previous installation metadata if present, then reopen WorkBuddy. A `null` backup means that file did not exist before installation; remove only this installation's entries if other settings have since been added. Preserve subsequent unrelated edits, old packages and caches. Never reset the entire WorkBuddy configuration or touch DSH/Codex state. |
There was a problem hiding this comment.
Update the remaining rollback receipt path
For a fresh 0.2.1 installation, install-local.mjs writes only local-install-<configuration-id>.json, but the local-install instructions later in this README (line 93) still direct maintainers to opengui/local-install.json. That legacy file will not exist for a fresh install, so the documented rollback cannot locate the recorded backups; update the local workflow to use the per-configuration receipt or the installState path printed by the installer. CLAUDE.mdL239-L242
Useful? React with 👍 / 👎.
WorkBuddy installations could write into the wrong product directory and miss a running Electron host, leaving OpenGUI unavailable or lifecycle Hooks ineffective. The installer now reads the selected application metadata, checks the 5.5.3 minimum and Hook declarations before downloads, and detects the application and its helpers before configuration writes.
Host configuration and runtime state remain separate. Each configuration root has its own installation receipt; explicit legacy repair restores only unchanged installer-owned files. Unknown same-name MCP entries are preserved. Verified downloads and installed dependencies are reused, and unchanged configuration returns ALREADY_CONFIGURED. This prepares the independent WorkBuddy 0.2.1 repair candidate and updates installation guidance.
Validation:
GitHub push CI passed on Node 22/24 and packaged startup on macOS, Linux and Windows: https://github.com/Core-Mate/OpenGUI/actions/runs/34228661977
Remaining acceptance: desktop task submission stayed disabled during UI validation, so host-level tool invocation, Hook continuation/stop and phone acceptance are not claimed. Owen's overseas build still needs retesting. Stable-release readiness flags remain false; no Release is published by this PR.