fix(codex): migrate stale desktop runtimes - #1027
Conversation
Request changes — the fix is dead code in production + two real regressionsReviewed the full diff, the connector source, the codex test suite, and the production launch path. The design is right (discover → validate → apply to Signet-owned paths only, preserve third-party hooks). But the "apply" wiring never fires in production, and two of the new code paths introduce regressions. All three verified empirically, not just by reading. 🔴 Critical:
|
|
Addressed the review findings and rebased this PR onto the latest main.
Added regression coverage for Bun-style argv, malformed hooks files, and symlinked runtimes. Verified with |
c19ad0b to
bdc1082
Compare
0084767 to
f067a77
Compare
Summary
Fixes #1024. Codex Desktop packaging updates can move its bundled Node executable, leaving Signet-owned lifecycle hooks and MCP stdio configured with a dead absolute path. The connector now discovers and validates the current bundled runtime before rewriting those Signet-owned commands.
Changes
--version.Type
feat— new user-facing feature (bumps minor)fix— bug fixrefactor— restructure without behavior changechore— build, deps, config, docsperf— performance improvementtest— test coveragePackages affected
@signet/core@signet/daemon@signet/cli/ dashboard@signet/sdk@signet/connector-*@signet/webpredictorScreenshots
N/A — no UI changes.
PR Readiness (MANDATORY)
INDEX.md+dependencies.yaml) — connector-install behavior only; no product spec dependency changed.node --version; scanning is depth bounded.main(existing format/type drift, stale generated route/content guards, and local SQLite extension loading).Migration Notes (if applicable)
Testing
bun testpasses —bun test integrations/codex/connector/src/config-toml.test.ts: 59 pass, 0 fail. Fullbun testhas only failures reproduced on untouchedmain: three Rust route-parity guard failures, one generated web-content-index guard failure, and this macOS hosts SQLite build cannot loadvec_version().bun run typecheckpasses — connector package passes. Root typecheck failures are pre-existing daemon type errors reproduced on untouchedmain.bun run lintpasses — touched files pass Biome. Root lint has 726 pre-existing diagnostics reproduced on untouchedmain.AI disclosure
Assisted-bytag in commit)Notes
The connector uses the current Codex Desktop runtime only when the installed Signet JS entry points can be identified. Otherwise it retains the existing portable Signet command fallback.