Problem
The installer test suite stubs the codex command. That verifies our orchestration, but it cannot detect incompatibilities with Codex's real cache naming, config activation order, hook resolution, or startup reconciliation.
This allowed the installer to pass while a newly installed go-workflow plugin produced:
SessionStart hook (failed): hook exited with code 127
Stop hook (failed): hook exited with code 127
A second session worked, which is characteristic of a first-session lifecycle race.
Proposed coverage
Add an integration smoke test using a real supported Codex CLI:
- Create an isolated Codex test home/config.
- Register a local gopher-ai marketplace fixture.
- Install
go-workflow through the public plugin CLI.
- Start a fresh Codex session and complete a minimal turn.
- Assert the SessionStart and Stop hooks launch successfully and no exit-127 event is emitted.
- Repeat after upgrading the marketplace to a new plugin version.
- Verify the old root remains usable by a session started before the update.
If authentication or PTY constraints make this unsuitable for every PR, run it in a dedicated integration job or scheduled workflow with a pinned/current Codex matrix.
Acceptance criteria
- The test exercises the real Codex plugin installer and hook runtime rather than only a stub.
- First-install and update scenarios are both covered.
- Hook stderr/exit codes are captured with actionable diagnostics.
- A missing or prematurely removed hook path fails the job.
- The supported Codex version or version range is explicit.
Problem
The installer test suite stubs the
codexcommand. That verifies our orchestration, but it cannot detect incompatibilities with Codex's real cache naming, config activation order, hook resolution, or startup reconciliation.This allowed the installer to pass while a newly installed
go-workflowplugin produced:SessionStart hook (failed): hook exited with code 127Stop hook (failed): hook exited with code 127A second session worked, which is characteristic of a first-session lifecycle race.
Proposed coverage
Add an integration smoke test using a real supported Codex CLI:
go-workflowthrough the public plugin CLI.If authentication or PTY constraints make this unsuitable for every PR, run it in a dedicated integration job or scheduled workflow with a pinned/current Codex matrix.
Acceptance criteria