Skip to content

docs(providers): qualify Qoder native executable precedence across PATH folders - #7615

Merged
lidge-jun merged 1 commit into
devfrom
docs/qoder-exe-precedence
Oct 23, 2026
Merged

lidge-jun merged 1 commit into
devfrom
docs/qoder-exe-precedence

Conversation

@lidge-jun

@lidge-jun lidge-jun commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Summary

Follow-up to #7527 for its CodeRabbit note on guides/providers.md. The Windows executables bullet said each Qoder preset launches its native executable "even if an installer's .cmd dispatcher such as qodercn.cmd is found first". The resolver's native preference applies per file name within one PATH folder, so that overstates it. The bullet now says: within one folder the .exe wins over a same-name .cmd; a later candidate name such as qoderclicn.exe anywhere on PATH wins over qodercn.cmd; and an earlier folder holding only qodercn.cmd still shadows a later folder's qodercn.exe. Docs only, English page only (the sentence has no locale copies).

Refs #7518

Verification

  • Docs-only change; hosted docs site build runs on this PR.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Summary by CodeRabbit

  • Documentation
    • Clarified how Windows PATH ordering determines which Qoder executable or command script runs, including precedence across folders and candidate names.
    • Removed the statement that a native executable is used when a dispatcher is found first.

@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner October 23, 2026 09:18
@github-actions

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T09:20:22.292296Z 3326456 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Oct 23, 2026
@coderabbitai

coderabbitai Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
📥 Commits

Reviewing files that changed from the base of the PR and between 9534c0c and 3326456.

📒 Files selected for processing: 1
  • docs-site/src/content/docs/guides/providers.md

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

📝 Walkthrough

The provider guide now documents specific Windows executable precedence rules for Qoder: .exe can take precedence over .cmd within a folder or across candidate names, while an earlier PATH folder containing only qodercn.cmd still takes precedence over a later folder’s qodercn.exe.

Changes: Qoder Windows PATH precedence

Layer / File(s) Summary
Document Windows executable precedence
docs-site/src/content/docs/guides/providers.md
The guide replaces the claim that a native executable is always used when a dispatcher appears first. It documents precedence by file extension, candidate name, and PATH folder. The dispatcher error and argument-forwarding notes remain.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Possibly related PRs

  • lidge-jun/opencodex#7527: Introduced the Windows executable lookup behavior that this guide now describes.
  • lidge-jun/opencodex#7595: Changed Qoder executable resolution behavior that this guide documents, including the distinction between candidate-name and PATH-folder precedence.
Merge Risk: ⚪ Minimal · up to 33264

No actionable merge-blocking risk was found in this documentation-only change.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the documentation change that clarifies Qoder native executable precedence across PATH folders.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3326456926

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

([Global](https://qoder.com/account/integrations), [CN](https://qoder.cn/account/integrations)) and paste it as the provider's API key. The stored key reaches the CLI only as `QODER_PERSONAL_ACCESS_TOKEN` (Global) or `QODERCN_PERSONAL_ACCESS_TOKEN` (CN) in a scoped child environment.
- **Region Isolation:** Each preset accepts only its canonical destination (`https://qoder.com` or `https://qoder.cn`) and resolves its own executable. Credentials, model cache, usage, and health are independent; neither region falls back to the other. An older custom provider named `qoder` with a different destination keeps its existing adapter and URL.
- **Windows executables:** Each preset launches its CLI's native executable (`qoder.exe` or `qodercli.exe` for Global, `qodercn.exe` or `qoderclicn.exe` for CN) when one is on PATH, even if an installer's `.cmd` dispatcher such as `qodercn.cmd` is found first. Qoder turns pass empty `--tools` and `--setting-sources` values to keep the CLI's built-in tools and local settings out, and a dispatcher that forwards through PowerShell drops those empty values. When only such a dispatcher is found, the turn fails before the CLI starts with `cli_dispatcher_drops_empty_args`; add the folder holding the native executable to PATH (the official CN installer places it in `%USERPROFILE%\.qoder-cn\bin\qoderclicn`) and retry. A dispatcher that passes arguments straight through, such as an npm shim, keeps working.
- **Windows executables:** Each preset launches its CLI's native executable (`qoder.exe` or `qodercli.exe` for Global, `qodercn.exe` or `qoderclicn.exe` for CN) when one is on PATH. Within one PATH folder the `.exe` wins over a same-name `.cmd`, and a later candidate name such as `qoderclicn.exe` anywhere on PATH wins over `qodercn.cmd`; an earlier PATH folder that holds only `qodercn.cmd` still shadows a later folder's `qodercn.exe`. Qoder turns pass empty `--tools` and `--setting-sources` values to keep the CLI's built-in tools and local settings out, and a dispatcher that forwards through PowerShell drops those empty values. When only such a dispatcher is found, the turn fails before the CLI starts with `cli_dispatcher_drops_empty_args`; add the folder holding the native executable to PATH (the official CN installer places it in `%USERPROFILE%\.qoder-cn\bin\qoderclicn`) and retry. A dispatcher that passes arguments straight through, such as an npm shim, keeps working.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Qualify the later-alias precedence claim

If an earlier PATH directory also contains qoderclicn.cmd, whichFromPath("qoderclicn") stops at that dispatcher, so a qoderclicn.exe in a later directory is never returned and resolveCodingAgentBinary falls back to the first qodercn.cmd. Therefore, the new claim that the later candidate executable wins “anywhere on PATH” is false for installations with both aliases shimmed; qualify it to exclude an earlier same-name dispatcher.

AGENTS.md reference: docs-site/AGENTS.md:L8-L10

Useful? React with 👍 / 👎.

@lidge-jun
lidge-jun merged commit c4d4bb2 into dev Oct 23, 2026
30 checks passed
@lidge-jun
lidge-jun deleted the docs/qoder-exe-precedence branch October 23, 2026 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant