Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
c6fe01f
fix(wren): case-insensitive CTE name shadowing in CTERewriter (#1489)
goldmedal Apr 4, 2026
0e7c3d1
feat(wren): add strict query mode for SQL policy enforcement (#1500)
goldmedal Apr 4, 2026
dca9433
feat(wren): add store-tip hint after successful query (#1508)
goldmedal Apr 4, 2026
eed775c
feat(memory): seed query_history with canonical NL-SQL pairs on index…
goldmedal Apr 4, 2026
c7aa0ba
feat(cli-skills): strengthen self-learning guidance in wren-usage ski…
goldmedal Apr 4, 2026
bc78712
feat(wren): add type_mapping module and wren utils CLI + wren-generat…
goldmedal Apr 4, 2026
0b708f7
feat(wren): shared field registry + browser-based profile form (wren …
goldmedal Apr 4, 2026
1c0d3e4
feat(wren): add context command group for YAML-based MDL project mana…
goldmedal Apr 4, 2026
6a8ea38
feat(wren): add context validate with view dry-plan and description c…
goldmedal Apr 4, 2026
2a4302b
docs(wren): clarify catalog/schema as Wren Engine namespace, not DB s…
goldmedal Apr 4, 2026
e22342d
feat(wren): add context init --from-mdl to import MDL JSON as YAML pr…
goldmedal Apr 4, 2026
e3a5cf6
docs: add quickstart, update MDL docs, replace skills with CLI-based …
goldmedal Apr 4, 2026
d5a5d72
chore(skills): bump skill versions and add version check (#1519)
goldmedal Apr 4, 2026
c1fd9a5
chore(wren): prepare 0.2.0rc0 version
goldmedal Apr 4, 2026
5fad1ad
docs(quickstart): fix prerequisites, add venv step, correct CLI flags…
goldmedal Apr 5, 2026
24701de
docs(skills): update wren-usage skill to profile-based workflow
goldmedal Apr 5, 2026
e5aa72c
chore: enhance url description
goldmedal Apr 5, 2026
a5f1721
docs: add DuckDB catalog convention to table_reference docs
goldmedal Apr 5, 2026
982f92d
refactor(wren): merge validate and dry-run CLI commands (#1521)
goldmedal Apr 5, 2026
8ebbd83
chore: prepare 0.2.0rc1
goldmedal Apr 5, 2026
5b98bcf
docs: update CLAUDE.md for 0.2.0 CLI features
goldmedal Apr 5, 2026
5ee4c9f
chore: prepare 0.2.0 release
goldmedal Apr 7, 2026
c4018a6
fix(wren): address CodeRabbit review findings for CLI 0.2.0
goldmedal Apr 7, 2026
6f4e9f9
fix(wren): address CodeRabbit follow-up review findings
goldmedal Apr 7, 2026
d949e4e
fix(wren): address remaining CodeRabbit review findings
goldmedal Apr 7, 2026
9d2ed3a
fix(wren): validate model/view names in MDL import, fix skill namespa…
goldmedal Apr 7, 2026
9046add
docs(wren): rewrite Quick Start for project-based workflow
goldmedal Apr 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ Five main modules:
- **wren-core-base/** — Shared Rust crate with manifest types (`Model`, `Column`, `Metric`, `Relationship`, `View`). Has optional `python-binding` feature for PyO3 compatibility.
- **wren-core-py/** — PyO3 bindings exposing wren-core to Python. Built with Maturin. Published to PyPI.
- **ibis-server/** — FastAPI web server (Python 3.11). Provides REST API for query execution, validation, and metadata. Uses Ibis framework for data source connectivity.
- **wren/** — Standalone Python SDK and CLI (`wren-engine` on PyPI). Wraps `wren-core-py` + Ibis connectors into a single installable package with `wren` CLI tool. Includes optional LanceDB-backed memory layer for semantic schema/query retrieval.
- **wren/** — Python SDK and CLI (`wren-engine` on PyPI). Wraps `wren-core-py` + Ibis connectors into a single installable package with `wren` CLI tool. Features YAML-based MDL project management (`wren context`), named connection profiles (`wren profile`), strict SQL policy mode, and optional LanceDB-backed memory layer for semantic schema/query retrieval.
- **mcp-server/** — MCP server exposing Wren Engine to AI agents (Claude, Cline, Cursor).

Supporting modules: `wren-core-legacy/` (Java engine, fallback for v2 queries), `cli-skills/` (agent skill definitions), `mock-web-server/`, `benchmark/`, `example/`.
Supporting modules: `wren-core-legacy/` (Java engine, fallback for v2 queries), `skills/` (CLI-based agent skills: `wren-generate-mdl`, `wren-usage`), `skills-archive/` (legacy HTTP-based skills), `mock-web-server/`, `benchmark/`, `example/`.

## Build & Development Commands

Expand Down
83 changes: 83 additions & 0 deletions .github/workflows/wren-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,86 @@ jobs:
uv sync --extra ${{ matrix.extra }} --extra dev --find-links ../wren-core-py/target/wheels/
- name: Run ${{ matrix.datasource }} tests
run: uv run pytest ${{ matrix.test_file }} -v -m ${{ matrix.marker }}

test-ui:
name: ui tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: wren
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Cache Cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
./wren-core-py/target/
key: ${{ runner.os }}-cargo-wren-${{ hashFiles('**/Cargo.lock') }}
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Build wren-core-py wheel
working-directory: wren-core-py
run: |
pipx install poetry
poetry install --no-root
poetry run maturin build
- name: Install dependencies
run: |
uv lock --find-links ../wren-core-py/target/wheels/ --upgrade-package wren-core-py
uv sync --extra dev --extra ui --find-links ../wren-core-py/target/wheels/
- name: Run UI tests
run: uv run pytest tests/test_profile_web.py tests/test_field_registry.py -v

test-memory:
name: memory tests
runs-on: ubuntu-latest
defaults:
run:
working-directory: wren
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Cache Cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
./wren-core-py/target/
key: ${{ runner.os }}-cargo-wren-${{ hashFiles('**/Cargo.lock') }}
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Build wren-core-py wheel
working-directory: wren-core-py
run: |
pipx install poetry
poetry install --no-root
poetry run maturin build
- name: Install dependencies
run: |
uv lock --find-links ../wren-core-py/target/wheels/ --upgrade-package wren-core-py
uv sync --extra dev --extra memory --find-links ../wren-core-py/target/wheels/
- name: Cache sentence-transformers model
uses: actions/cache@v4
with:
path: ~/.cache/huggingface
key: hf-paraphrase-MiniLM-L3-v2
- name: Run memory tests
env:
WREN_EMBEDDING_MODEL: paraphrase-MiniLM-L3-v2
run: uv run pytest tests/unit/test_memory.py -v
140 changes: 0 additions & 140 deletions cli-skills/wren-usage/SKILL.md

This file was deleted.

17 changes: 17 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Wren Engine Documentation

Wren Engine is an open-source semantic engine for AI agents and MCP clients. It translates SQL queries through MDL (Model Definition Language) and executes them against 22+ data sources.

## Getting Started

- [Quick Start](quickstart.md) -- Set up a local semantic layer with the jaffle_shop dataset using the Wren CLI and Claude Code. (~15 minutes)

## Core Concepts

- [Wren Project](wren_project.md) -- Project structure, YAML authoring, and how the CLI compiles models into a deployable manifest.

### MDL Reference

- [Model](mdl/model.md) -- Define semantic entities over physical tables or SQL expressions.
- [Relationship](mdl/relationship.md) -- Declare join paths between models for automatic resolution.
- [View](mdl/view.md) -- Named SQL queries that behave as virtual tables.
Loading
Loading