Skip to content

fix(coding-agent): bootstrap IPython kernel venv with the Windows interpreter path - #695

Closed
MarcusNeufeldt wants to merge 1 commit into
PrimeIntellect-ai:mainfrom
MarcusNeufeldt:fix/windows-kernel-venv-path
Closed

fix(coding-agent): bootstrap IPython kernel venv with the Windows interpreter path#695
MarcusNeufeldt wants to merge 1 commit into
PrimeIntellect-ai:mainfrom
MarcusNeufeldt:fix/windows-kernel-venv-path

Conversation

@MarcusNeufeldt

@MarcusNeufeldt MarcusNeufeldt commented Aug 6, 2026

Copy link
Copy Markdown

Summary

Fixes IPython kernel bootstrap on Windows. The kernel bootstrapper hardcoded the POSIX venv interpreter path (venv/bin/python) in both bootstrapVenv and the resolution path in ensureKernelPythonUncached. On Windows a uv-created venv places the interpreter at venv/Scripts/python.exe, so uv pip install --python <venv>/bin/python ... failed with exit code 2 and the IPython tool could never start.

Change

  • Added a small kernelVenvPython(venv) helper that selects Scripts\python.exe on win32 and bin\python elsewhere (mirroring the existing process.platform === "win32" pattern already used in this file).
  • Used it in both places that need the venv interpreter path.
  • Added a win32-layout test to kernel-bootstrap.test.ts (the fake uv now supports a Windows-style venv shape).
  • Updated docs/rlm-runtime.md and a changelog entry.

The POSIX path is unchanged, so existing Linux/CI behavior is preserved (the helper returns bin/python when process.platform is not win32; existing tests assert that path and stay green).

Testing

  • npm run check pre-commit hook: biome + tsgo --noEmit pass.
  • Manually verified the Windows path on a real Windows host: a patched install rebuilt the managed venv with the Scripts\python.exe layout, installed ipykernel + prime-agent-runtime + default packages, and a launched IPython kernel executed print(6*7) correctly.

Note

Fix IPython kernel venv bootstrap to use Scripts/python.exe on Windows

The venv interpreter path was hardcoded to the POSIX bin/python layout, causing bootstrap failures on Windows. A new kernelVenvPython helper in bootstrap.ts resolves to venv/Scripts/python.exe on win32 and venv/bin/python otherwise. This path is now used consistently across pip installs, skill sync, and the ensureKernelPython readiness check.

Macroscope summarized 93eb5a2.


Note

Low Risk
Scoped to kernel venv path resolution on Windows; POSIX paths are unchanged and covered by existing tests plus a new win32-layout test.

Overview
Fixes IPython kernel bootstrap on Windows by resolving the managed venv interpreter through a new kernelVenvPython() helper instead of hardcoding POSIX bin/python.

Previously, bootstrapVenv and ensureKernelPython always pointed uv pip install --python at venv/bin/python, which does not exist on Windows (Scripts\python.exe). Bootstrap could fail before the kernel could start.

The helper picks Scripts\python.exe when process.platform === "win32" and bin/python otherwise; POSIX behavior is unchanged. Docs and changelog note the dual layout; tests cover the Windows path via a fake uv that creates a Scripts venv.

Reviewed by Cursor Bugbot for commit 93eb5a2. Bugbot is set up for automated code reviews on this repo. Configure here.

@MarcusNeufeldt
MarcusNeufeldt marked this pull request as ready for review August 6, 2026 06:07

@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: 93eb5a2b7f

ℹ️ 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".


## [Unreleased]

### Fixed

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep the Unreleased section as a flat bullet list

Remove the new ### Fixed heading so this entry sits directly beneath ## [Unreleased]; repository changelogs explicitly prohibit Added/Changed/Fixed/Removed subsections in the unreleased section.

AGENTS.md reference: AGENTS.md:L109-L111

Useful? React with 👍 / 👎.

zhengr pushed a commit to zhengr/prime-agent that referenced this pull request Aug 8, 2026
…-ai#695)

New tool for asking users one or more questions with a tab-based interface.

Features:
- Single question: simple options list (similar to question tool)
- Multiple questions: tab bar navigation between questions
- Progress indicators: ■/□ checkboxes show answered state
- Submit tab: review all answers before submitting
- 'Type something' option: free-text input with options visible
- Full keyboard navigation: Tab/←→ between questions, ↑↓ for options

Use cases:
- Clarifying requirements with multiple aspects
- Getting user preferences across categories
- Multi-step confirmation dialogs

Example:
```typescript
{
  questions: [{
    id: "db",
    label: "Database",
    prompt: "Which database?",
    options: [
      { value: "pg", label: "PostgreSQL", description: "Relational" },
      { value: "mongo", label: "MongoDB", description: "Document store" }
    ]
  }, {
    id: "auth",
    label: "Auth",
    prompt: "Authentication method?",
    options: [
      { value: "jwt", label: "JWT" },
      { value: "session", label: "Sessions" }
    ]
  }]
}
```
zhengr pushed a commit to zhengr/prime-agent that referenced this pull request Aug 8, 2026
@sethkarten

Copy link
Copy Markdown
Contributor

Thank you for the report and proposed work. This root cause is now covered by maintainer-owned stacked PR #1163, authored independently from upstream/main.

We did not inspect or reuse this PR's diff, branch, commits, implementation code, or tests; its public description/comments were used only as a bug report. To keep one review surface, this PR is superseded by #1163 and is being closed.

The complete review stack is #1158#1165. It is being left unmerged for human review after CI and review-bot findings are cleared.

@sethkarten sethkarten closed this Aug 10, 2026
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