Skip to content

(feat) add better request error details - #31

Merged
tibo-openai merged 1 commit into
openai:mainfrom
montasaurus:adam/add-error-details
Apr 16, 2025
Merged

tibo-openai merged 1 commit into
openai:mainfrom
montasaurus:adam/add-error-details

Conversation

@montasaurus

Copy link
Copy Markdown
Contributor

If there's an error (like requiring verification) then the responses are opaque, for example: https://x.com/juanstoppa/status/1912563974123741641

Signed-off-by: Adam Montgomery <montgomery.adam@gmail.com>
@tibo-openai tibo-openai changed the title Add Request Error Details (feat) add better request error details Apr 16, 2025
@tibo-openai

Copy link
Copy Markdown
Collaborator

Could you reformat the file, ci is currently failing with

3s
Run npm run format

> @openai/codex@0.[1](https://github.com/openai/codex/actions/runs/14499356965/job/40675429903?pr=31#step:5:1).04160940 format
> prettier --check src tests

Checking formatting...
[warn] src/utils/agent/agent-loop.ts
[warn] Code style issues found in the above file. Forgot to run Prettier?

@tibo-openai

Copy link
Copy Markdown
Collaborator

ty

@tibo-openai
tibo-openai merged commit 94889dd into openai:main Apr 16, 2025
mazdak pushed a commit to mazdak/codex that referenced this pull request Sep 3, 2025
Validated and approved by Validator Agent. See openai#31 and openai#32 for follow-ups.
friel-openai referenced this pull request in friel-openai/codex Sep 16, 2026
Passive agent mail previously counted as pending root input even though
it
could not start a root turn. A due supervisor wake could therefore
return
without starting either a helper or a root turn, then clear its durable
wake.

Give each supervisor attempt a revocable permit while its helper starts
and
runs. Root turns and mail that requests a turn claim continuation
through
the same transition boundary. Whichever side claims first owns the next
side effect; the losing helper is retired before it can select an
action.

Keep due wakes durable until a successor owns continuation. Passive mail
remains queued while the supervisor proceeds, and failed helper starts
replace due wakes with durable retries.

The projected test suite keeps nextest's slow-test signal at 60 seconds
but
allows 120 seconds before termination on the constrained GitHub runner.
jiangshengdev added a commit to jiangshengdev/codex that referenced this pull request Sep 17, 2026
soddygo added a commit to nuwax-ai/codex that referenced this pull request Sep 24, 2026
External review (44 findings) triage — these 7 confirmed items fixed:

- openai#22 codex-config and codex-core TEST targets had 11 compile errors
  (ModelProviderInfo literals missing experimental_bridge; a WireApi
  match missing Anthropic). All patched; test targets now compile under
  no/single/both bridge features.
- openai#9 MCP flat-name resolution was DEAD in the production dispatch path:
  router.rs wraps the bridge's namespace-less flat name with
  with_default_namespace() BEFORE registry lookup, so the fallback's
  namespace.is_none() guard never fired — MCP tools were unresolvable
  via the chat bridges in real usage. The original unit test called
  registry.tool() directly with a plain name, bypassing the router (a
  false green). Fix: the fallback now resolves through the flat index
  regardless of the incoming namespace (safe: the index only contains
  namespaced tools, which the exact-key lookup already missed); new
  regression test drives the router-wrapped form.
- openai#8 Both bridges synthesized fixed txt_0/rsn_0 item IDs every turn;
  retained assistant history dedupes by ID, so each new message
  REPLACED the previous one. IDs now carry a per-turn unique suffix
  (nanos + counter).
- openai#31 The nextest live-test config never applied: it sat at the
  repository root (cargo workspace — and thus nextest config lookup —
  is rooted at codex-rs/) AND used invalid syntax ([[test-group]],
  group=). Merged into codex-rs/.config/nextest.toml with the official
  [test-groups.<name>] tables and test-group = override keys, per-test
  slow-timeout/retries with exponential backoff, and the ci profile the
  workflow references; config parse verified. Corollary: the earlier
  "per-vendor groups fixed rate limiting" claim was unfounded — the
  observed retries came from upstream's default retries=1.
- openai#29 Cassette replay fell back to LIVE on missing/corrupt fixtures,
  silently consuming vendor quota in declared-offline runs; now fails
  fast with the record hint.
- openai#30 The nightly workflow passed only API keys — vendors() skips
  entries without URLs/models, so every scenario would silently skip.
  The workflow now passes complete per-vendor config and fails when no
  vendor tests are listed.
- openai#35 The marker assertion matched the raw JSON line (the command
  string contains the marker too), so broken stdout capture could
  still pass; now parses the completed event and asserts the
  aggregated_output field specifically.

Verified: full live matrix 64/64 (mimo+glm+step), offline replay
43/43 with credentials removed, rig bridge units 18/18, config/core
test targets compile.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants