Repository navigation
feat: prepare matching Codex voice builds without delaying text startup - #62
WingedGuardian wants to merge 1 commit into
Conversation
Keep text startup independent of voice provisioning and global npm packages unchanged. Qualify private native builds before activation and preserve owned launcher rollback.
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. |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Codex upgrades can invalidate a manually installed native voice relay. Add opt-in managed mode that launches normal text Codex while a systemd user worker prepares a private copy of the exact installed release and its matching Windows helper. Global npm installations remain untouched. Only builds that pass identity, manifest hashes, native handshake, runtime initialization and device enumeration become eligible on the next launch.
The existing relay handles audio. Transient registry/SSH failures retry in the background; incompatible or modified builds are held without repeated downloads. Immutable builds remain available to active sessions. Manage/unmanage verify ownership, preserve the previous launcher and permissions, and retain prepared builds for recovery. Manager source upgrades require a new state directory; native Codex updates remain automatic.
Validation: 36 Python tests passed, including the existing relay suite and new publication interruption, upgrade race, fallback, ownership, status and rollback regressions. Reproductions were observed failing before fixes. An isolated Windows PowerShell fixture using native 0.163 resources passed fresh staging, reuse, malformed JSON, missing-file/hash rejection and transient registry classification; the global helper stayed unchanged. Actual CLI exec preserved arguments, environment, working directory and exit status. A disposable systemd unit executed the generated updater at literal dollar/percent paths and was removed afterward. No audio devices were opened. Local architect and sequential security reviews passed after fixes; Ruff, privacy scan, gitleaks and whitespace checks passed. Shape: 464 counted lines.
Limits: Windows integration used installed 0.163 resources; this does not establish spoken audio on 0.164 or future releases. After merge, adopt managed mode with the documented explicit launcher ownership hash, inspect status, then run doctor --audio against its prepared relay state and verify an F8 conversation. This PR does not deploy or replace a live launcher.