Comparing openai:main...devrandom:main · openai/codex · GitHub
Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: openai/codex
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: devrandom/codex
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 8 files changed
  • 2 contributors

Commits on Jul 2, 2026

  1. core: fall back to flattened name when resolving MCP tool calls

    OpenAI-compatible providers (e.g. stock vLLM) emit a flat function-call
    name without the Responses `namespace` field. Tools are advertised under
    the namespaced key ("mcp__kagi") with bare member names
    ("kagi_search_fetch"), so the delimiter-joined wire form
    ("mcp__kagi__kagi_search_fetch") no longer hashes to the registered key.
    Resolve such calls by re-deriving the joined name from each registered
    ToolName (mirroring `join_tool_name` in handlers/mcp.rs) and accept raw
    concatenation for namespaces that carry their own trailing delimiter.
    Only runs on the miss path, so providers that do send `namespace` are
    unaffected; flattened-name collisions are still prevented upstream by
    the catalog's hash-suffixing of colliding namespaces.
    devrandom committed Jul 2, 2026
    Configuration menu
    Copy the full SHA
    c574659 View commit details
    Browse the repository at this point in the history
  2. Add local build notes and low-memory release profile override

    NOTES.md captures the local setup knowledge (carried dispatch patch, vLLM
    Responses quirks, Kagi shim, AppArmor userns profile). The root
    .cargo/config.toml overrides release LTO so the final link survives a
    31 GiB host; plain `cargo build --release` now works without flags.
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    devrandom and claude committed Jul 2, 2026
    Configuration menu
    Copy the full SHA
    c8a87b6 View commit details
    Browse the repository at this point in the history
  3. core: skip fallback-metadata warning when context window is configured

    Custom-provider model slugs are never in the model catalog, so every turn
    warned "Model metadata for `<slug>` not found" even after the user
    explicitly supplied model_context_window — the piece of metadata the
    warning exists to flag. Emit it only when no explicit context window is
    configured.
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    devrandom and claude committed Jul 2, 2026
    Configuration menu
    Copy the full SHA
    220cec5 View commit details
    Browse the repository at this point in the history
  4. Disable built-in OpenAI provider and bundled ChatGPT catalog

    Gate both built_in_model_providers (drops the "openai" entry) and
    load_remote_models_from_file (drops the bundled models.json catalog) behind
    CODEX_DISABLE_OPENAI_BUILTIN. When unset, behavior is unchanged; when set,
    /model no longer offers ChatGPT/OpenAI presets and the OpenAI provider must
    be re-added via config.toml if needed.
    
    Local carry: upstream will not accept this. Re-enable by unsetting the env
    var.
    devrandom committed Jul 2, 2026
    Configuration menu
    Copy the full SHA
    0a0ba48 View commit details
    Browse the repository at this point in the history
  5. core: make MCP tools work with custom OpenAI-compatible providers

    Self-hosted vLLM-style providers don't implement the Responses namespace-tools
    extension or hosted tools. Three coordinated fixes so MCP tools dispatch:
    
    - model-provider: custom providers (requires_openai_auth=false) advertise
      namespace_tools/web_search/image_generation=false, mirroring Amazon Bedrock.
      Stops the namespace group descriptor (e.g. "mcp__kagi") being sent as a
      callable, and suppresses the hosted web_search tool the backend can't service.
    - spec_plan: when namespace tools are unsupported, flatten namespace groups into
      plain function tools with delimiter-joined names (members live inside the
      group spec, so filtering it out would drop the tools).
    - registry: dispatch fallback matching flat/bare tool names for providers that
      omit the Responses namespace field on function calls.
    
    Verified end-to-end: kagi_search_fetch dispatches and returns results through
    minimax-m3 on vLLM 0.24.
    
    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    devrandom and claude committed Jul 2, 2026
    Configuration menu
    Copy the full SHA
    d5234bb View commit details
    Browse the repository at this point in the history
Loading