Skip to content

fix: finish wren-engine → wrenai rename cleanup - #2425

Merged
goldmedal merged 5 commits into
Canner:mainfrom
ttw225:fix/wrenai-rename-cleanup
Jul 3, 2026
Merged

fix: finish wren-engine → wrenai rename cleanup#2425
goldmedal merged 5 commits into
Canner:mainfrom
ttw225:fix/wrenai-rename-cleanup

Conversation

@ttw225

@ttw225 ttw225 commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Quote pip install 'wrenai[extra]' hints so they don't break under zsh glob expansion
  • Fix install hints/deps that still pointed at the wrong or pre-rename package name (wren[extra], wren-engine[trino], wren-engine>=0.5.0 in wren-pydantic/wren-langchain)
  • Bump wrenai version floor to >=0.7.0 (0.5.0/0.6.0 were published as wren-engine, before the rename)
  • Fix stale wren-engine metadata/links (Cargo.toml repo URL, CLAUDE.md, skill docs)

Test plan

  • pytest in core/wren (871 passed, Docker-dependent tests excluded)
  • Both SDK pyproject.toml files validated as parseable TOML

Summary by CodeRabbit

  • Documentation

    • Updated installation and compatibility guidance to use the new wrenai naming and version requirements.
    • Clarified CLI, SDK, and skill instructions to match the current package and command names.
  • Bug Fixes

    • Improved missing-dependency error messages to show the correct install commands with quoted extras.
    • Adjusted connector guidance so users see the right package names for optional components.
  • Tests

    • Updated and added tests to verify the new install hints and error messaging.

ttw225 added 5 commits July 2, 2026 21:44
…-name references

Unquoted `pip install wrenai[extra]` breaks under zsh glob expansion.
Also fixes install hints that pointed at the wrong or pre-rename
package name (`wren[extra]`, `wren-engine[trino]`) and a skill's
`author: wren-engine` metadata / two "installed wren-engine version"
docs that predate the wren-engine -> wrenai PyPI rename.
…ump version floor

The dependency declarations still named the pre-rename `wren-engine`
package with a `>=0.5.0` floor. `wrenai` only started publishing at
0.7.0 (0.5.0/0.6.0 were `wren-engine` releases), so `wren-engine>=0.5.0`
resolved to an abandoned package name instead of a real dependency.
…bump version floor

Same issue as wren-pydantic: dependency declarations named the
pre-rename `wren-engine` package with a `>=0.5.0` floor that never
existed under the `wrenai` name (which starts at 0.7.0).
…repo

The workspace repository URL and the example crate's clone
instructions still pointed at the archived Canner/wren-engine repo.
Sibling crates (wren-core-py, wren-core-wasm) already point at
Canner/WrenAI.
…bution

Repo-structure table, the wren-core-py README's product link, and
skill-distribution docs all still referenced the pre-rename
`wren-engine` PyPI package name instead of `wrenai`.
@github-actions github-actions Bot added documentation Improvements or additions to documentation dependencies Pull requests that update a dependency file python Pull requests that update Python code rust Pull requests that update rust code core skills labels Jul 2, 2026
@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Walkthrough

This PR renames references from the wren-engine package to wrenai throughout documentation, error/install hints, skill content, and SDK packaging files. Minimum required wrenai versions are bumped from >= 0.5.0 to >= 0.7.0 in compatibility tables and pyproject.toml dependency specs. A new unit test validates the updated install hint.

Changes

wren-engine to wrenai Rename

Layer / File(s) Summary
CLI install-hint strings and tests
core/wren/src/wren/connector/factory.py, core/wren/src/wren/connector/trino.py, core/wren/src/wren/memory/cli.py, core/wren/tests/connectors/test_trino.py, core/wren/tests/unit/test_connector_factory.py, core/wren/tests/unit/test_served_content_guard.py
Pip install hints in error messages now reference quoted wrenai[extra] specifiers instead of wren[extra]/wren-engine[extra]; tests updated and a new unit test added to cover this behavior.
Skill and skills documentation wording
core/wren/src/wren/skills_content/enrich-context/SKILL.md, core/wren/src/wren/skills_content/genbi/SKILL.md, core/wren/src/wren/skills_content/usage/SKILL.md, skills/AUTHORING.md, skills/README.md, skills/SKILLS.md, skills/wren/SKILL.md
Skill metadata author, version-matching guidance, and discovery stub command text updated to reference wrenai instead of wren-engine.
SDK pyproject dependency retargeting
sdk/wren-langchain/pyproject.toml, sdk/wren-pydantic/pyproject.toml
Core dependency and optional-dependency extras (datasource, memory, all, dev) switched from wren-engine[...]>=0.5.0 to wrenai[...]>=0.7.0.
READMEs and compatibility docs updates
.claude/CLAUDE.md, core/wren-core-py/README.md, core/wren-core/Cargo.toml, core/wren-core/wren-example/README.md, core/wren/README.md, docs/core/sdk/langchain.md, docs/core/sdk/pydantic.md, sdk/wren-langchain/README.md, sdk/wren-pydantic/README.md
Installation examples, compatibility tables, repository URLs, and CLI package descriptions updated to wrenai naming with quoted extras and bumped minimum versions.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • Canner/WrenAI#2254: Updates docs/core/sdk/langchain.md compatibility/version requirements, overlapping directly with this PR's changes.
  • Canner/WrenAI#2315: Modifies the same core/wren CLI dependency-install hint strings to reflect the wrenai package name.
  • Canner/WrenAI#2317: Renames wren-engine to wrenai in overlapping documentation/metadata areas.

Suggested reviewers: goldmedal

Poem

A rabbit hopped through docs today,
Swapped "wren-engine" for "wrenai" all the way 🐇
Quotes on pip installs, versions bumped anew,
Skills and READMEs got a fresh review,
Hop, hop, hooray — the rename's complete and true!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: completing the wren-engine to wrenai rename cleanup.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

@coderabbitai

coderabbitai Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Caution

Failed to replace (edit) comment. This is likely due to insufficient permissions or the comment being deleted.

Error details
{"name":"HttpError","status":500,"request":{"method":"PATCH","url":"https://api.github.com/repos/Canner/WrenAI/issues/comments/4866497464","headers":{"accept":"application/vnd.github.v3+json","user-agent":"octokit.js/0.0.0-development octokit-core.js/7.0.6 Node.js/24","content-type":"application/json; charset=utf-8"},"body":{"body":"<!-- This is an auto-generated comment: summarize by coderabbit.ai -->\n<!-- review_stack_entry_start -->\n\n[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/Canner/WrenAI/pull/2425?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)\n\n<!-- review_stack_entry_end -->\n<!-- This is an auto-generated comment: review in progress by coderabbit.ai -->\n\n> [!NOTE]\n> Currently processing new changes in this PR. This may take a few minutes, please wait...\n> \n> <details>\n> <summary>⚙️ Run configuration</summary>\n> \n> **Configuration used**: Repository UI\n> \n> **Review profile**: CHILL\n> \n> **Plan**: Pro\n> \n> **Run ID**: `a355080a-f3b3-45bb-a6ae-4af57e4cfbe0`\n> \n> </details>\n> \n> <details>\n> <summary>📥 Commits</summary>\n> \n> Reviewing files that changed from the base of the PR and between 0cf9fa3ece85141ce5dcf51f0eba1908a6d547ce and 9f9c0ea33a3b968fc14bda640acaadddc0540f1b.\n> \n> </details>\n> \n> <details>\n> <summary>📒 Files selected for processing (24)</summary>\n> \n> * `.claude/CLAUDE.md`\n> * `core/wren-core-py/README.md`\n> * `core/wren-core/Cargo.toml`\n> * `core/wren-core/wren-example/README.md`\n> * `core/wren/README.md`\n> * `core/wren/src/wren/connector/factory.py`\n> * `core/wren/src/wren/connector/trino.py`\n> * `core/wren/src/wren/memory/cli.py`\n> * `core/wren/src/wren/skills_content/enrich-context/SKILL.md`\n> * `core/wren/src/wren/skills_content/genbi/SKILL.md`\n> * `core/wren/src/wren/skills_content/usage/SKILL.md`\n> * `core/wren/tests/connectors/test_trino.py`\n> * `core/wren/tests/unit/test_connector_factory.py`\n> * `core/wren/tests/unit/test_served_content_guard.py`\n> * `docs/core/sdk/langchain.md`\n> * `docs/core/sdk/pydantic.md`\n> * `sdk/wren-langchain/README.md`\n> * `sdk/wren-langchain/pyproject.toml`\n> * `sdk/wren-pydantic/README.md`\n> * `sdk/wren-pydantic/pyproject.toml`\n> * `skills/AUTHORING.md`\n> * `skills/README.md`\n> * `skills/SKILLS.md`\n> * `skills/wren/SKILL.md`\n> \n> </details>\n> \n> ```ascii\n>  __________________________________________________________________________________________________________________________________________________________________________________________________________________\n> < In software, we rarely have meaningful requirements. Even if we do, the only measure of success that matters is whether our solution solves the customer's shifting idea of what their problem is. - Jeff Atwood >\n>  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------\n>   \\\n>    \\   (\\__/)\n>        (•ㅅ•)\n>        /   づ\n> ```\n\n<!-- end of auto-generated comment: review in progress by coderabbit.ai -->\n\n<!-- finishing_touch_checkbox_start -->\n\n<details>\n<summary>✨ Finishing Touches</summary>\n\n<details>\n<summary>🧪 Generate unit tests (beta)</summary>\n\n- [ ] <!-- {\"checkboxId\": \"f47ac10b-58cc-4372-a567-0e02b2c3d479\", \"radioGroupId\": \"utg-output-choice-group-unknown_comment_id\"} -->   Create PR with unit tests\n\n</details>\n\n</details>\n\n<!-- finishing_touch_checkbox_end -->\n<!-- tips_start -->\n\n---\n\nThanks for using [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=Canner/WrenAI&utm_content=2425)! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.\n\n<details>\n<summary>❤️ Share</summary>\n\n- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)\n- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)\n- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)\n- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)\n\n</details>\n\n\n<sub>Comment `@coderabbitai help` to get the list of available commands.</sub>\n\n<!-- tips_end -->"},"request":{"retryCount":3,"signal":{},"retries":3,"retryAfter":16}}}

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
core/wren-core-py/README.md (1)

3-3: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Stale "Wren Engine" anchor text remains after rename.

Line 3 still displays "Wren Engine" as link text while the URL now points to the WrenAI repo, leaving a mismatched label. Consider updating the anchor text to "WrenAI" for consistency with the rename.

✏️ Proposed fix
-Python bindings for [wren-core](../wren-core), the Rust semantic engine behind [Wren Engine](https://github.com/Canner/WrenAI). Built with [PyO3](https://github.com/PyO3/pyo3) and [Maturin](https://github.com/PyO3/maturin).
+Python bindings for [wren-core](../wren-core), the Rust semantic engine behind [WrenAI](https://github.com/Canner/WrenAI). Built with [PyO3](https://github.com/PyO3/pyo3) and [Maturin](https://github.com/PyO3/maturin).
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@core/wren-core-py/README.md` at line 3, The README link text is stale: the
reference in the opening description still says Wren Engine even though it now
points to the WrenAI repository. Update the anchor text in the README
introduction to match the new project name, using the existing markdown link
near the wren-core and PyO3/Maturin description.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@core/wren-core-py/README.md`:
- Line 3: The README link text is stale: the reference in the opening
description still says Wren Engine even though it now points to the WrenAI
repository. Update the anchor text in the README introduction to match the new
project name, using the existing markdown link near the wren-core and
PyO3/Maturin description.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: a355080a-f3b3-45bb-a6ae-4af57e4cfbe0

📥 Commits

Reviewing files that changed from the base of the PR and between 0cf9fa3 and 9f9c0ea.

📒 Files selected for processing (24)
  • .claude/CLAUDE.md
  • core/wren-core-py/README.md
  • core/wren-core/Cargo.toml
  • core/wren-core/wren-example/README.md
  • core/wren/README.md
  • core/wren/src/wren/connector/factory.py
  • core/wren/src/wren/connector/trino.py
  • core/wren/src/wren/memory/cli.py
  • core/wren/src/wren/skills_content/enrich-context/SKILL.md
  • core/wren/src/wren/skills_content/genbi/SKILL.md
  • core/wren/src/wren/skills_content/usage/SKILL.md
  • core/wren/tests/connectors/test_trino.py
  • core/wren/tests/unit/test_connector_factory.py
  • core/wren/tests/unit/test_served_content_guard.py
  • docs/core/sdk/langchain.md
  • docs/core/sdk/pydantic.md
  • sdk/wren-langchain/README.md
  • sdk/wren-langchain/pyproject.toml
  • sdk/wren-pydantic/README.md
  • sdk/wren-pydantic/pyproject.toml
  • skills/AUTHORING.md
  • skills/README.md
  • skills/SKILLS.md
  • skills/wren/SKILL.md

@goldmedal goldmedal left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@ttw225 nice catch. Thanks 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation python Pull requests that update Python code rust Pull requests that update rust code skills

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants