Repository navigation
Scope the Codex plugin probe to the 37signals marketplace - #995
Merged
Merged
Conversation
A signed-in Codex answers `plugin list --available --json` only after it fetches the remote openai-curated catalog, which on a cold cache takes about 35 seconds. The Codex stub now answers only the listing scoped to the 37signals marketplace, and these tests fail the way a new machine does: setup installs the plugin, then reports "Cannot query Codex plugins".
On a signed-in Codex, `codex plugin list --available --json` first fetches the remote openai-curated catalog: about 35 seconds and 10,000+ plugins on a cold cache. The probe's 5 second deadline killed it before Codex wrote that cache, so setup verification and doctor failed with "Cannot query Codex plugins" on every run, even though the plugin had installed. Asking for the 37signals marketplace alone answers in tens of milliseconds and returns both plugin IDs the checks read. `--marketplace` has been on `codex plugin list` since before `--available`, so every Codex that ran the old probe runs this one.
Contributor
There was a problem hiding this comment.
No issues found across 4 files
Tip: Get a Slack DM when cubic finishes reviewing your PRs. Connect Slack
View guided diff | Turn on auto-fix | Re-trigger cubic
Contributor
There was a problem hiding this comment.
🟢 Approved
No active review issues are reported for the marketplace-scoped Codex probe change.
No open issues 🎉
What changed in this PR
Scopes the shared Codex plugin probe to the 37signals marketplace, avoiding remote catalog fetches that can exceed the timeout during setup and doctor checks.
Changes:
- Adds
--marketplace 37signalsto the probe and diagnostic hints. - Updates test assertions and the Codex stub to require the scoped command.
[!TIP]
If you aren't ready for review, convert to a draft PR.
Click "Convert to draft" or rungh pr ready --undo.
Click "Ready for review" or rungh pr readyto reengage.
| File | Description |
|---|---|
| internal/harness/codex.go | Scopes the plugin query and updates failure hints. |
| internal/harness/codex_test.go | Verifies scoped query arguments and hints. |
| internal/commands/wizard_codex_test.go | Updates setup expectations and the Codex stub. |
| internal/commands/doctor_test.go | Verifies doctor makes one scoped query. |
Review effort: Balanced
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
On a new machine with Codex signed in,
basecamp setup codexinstalls the plugin and then reports "Cannot query Codex plugins".basecamp doctorreports the same thing every time it runs afterward (card). The probe runscodex plugin list --available --json. When Codex is signed in, that command first fetches OpenAI's remote plugin catalog, which takes about 35 seconds on a cold cache. Our 5 second deadline stops Codex before it saves that catalog, so the cache never warms and every later probe times out too.What changed
--marketplace 37signals). Codex skips the remote catalog whenever--marketplacenames a local marketplace (source).Scope
--marketplacehas been oncodex plugin listsince before--availableexisted, so any Codex that ran the old probe also runs this one.Verification
basecamp setup codexfails after 18s with "Cannot query Codex plugins", and doctor fails both Codex checks. On this branch, setup succeeds in 3s, and doctor shows "Installed and enabled" and "Up to date (0.22.0)".bin/cipasses.Summary by cubic
Fixes the Codex plugin probe timing out on machines with Codex signed in by scoping the query to the 37signals marketplace.
The probe previously ran
codex plugin list --available --json, which fetches OpenAI's remote plugin catalog (~35s on a cold cache) and exceeds the 5s deadline, so setup and doctor always failed with "Cannot query Codex plugins". Now the probe passes--marketplace 37signals, which skips the remote catalog and returns in milliseconds. The failure hint shows the same scoped command, and the test stub now answers only the scoped listing.Written for commit cc8181f. Summary will update on new commits.