From e0fce612afd05996e16af40be7a983dbda6b3cb9 Mon Sep 17 00:00:00 2001 From: eren23 Date: Sun, 14 Jun 2026 15:01:36 +0200 Subject: [PATCH 1/2] fix(packaging): ship src/ra in the wheel/sdist (uv_build module-name) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The project is named "kai", so uv_build's default module discovery packages only src/kai and silently drops src/ra — the recursive-LM framework that kai imports (`from ra... import ...`). As a result `pip install kai @ git+...` produces an install that crashes on `import ra`. Declare both top-level modules so ra ships too: [tool.uv.build-backend] module-root = "src" module-name = ["kai", "ra"] Verified: the unfixed wheel contained only `kai`; the fixed wheel contains kai + ra; a fresh py3.12 venv installs the wheel and imports kai.main + ra.core.types with no source tree on the path. Co-Authored-By: Claude Opus 4.8 (1M context) --- pyproject.toml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index d185f074..3f43d54c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,6 +2,15 @@ requires = ["uv_build>=0.8.17,<0.9.0"] build-backend = "uv_build" +[tool.uv.build-backend] +# Ship BOTH top-level modules under src/. The project is named "kai", so the +# default uv_build discovery packages only src/kai and drops src/ra — the +# recursive-LM framework that kai imports (`from ra... import ...`). Without +# this, `pip install kai @ git+...` produces an install that crashes on +# `import ra`. List both root modules so the wheel/sdist include ra too. +module-root = "src" +module-name = ["kai", "ra"] + [project] name = "kai" version = "0.1.0" From 2a0442fb8c22da6e2cfa806f6a5e79a6ed23ad17 Mon Sep 17 00:00:00 2001 From: eren23 Date: Sun, 14 Jun 2026 15:05:07 +0200 Subject: [PATCH 2/2] style(packaging): drop verbose comment from uv build-backend block The why is in the prior commit message + PR description. Co-Authored-By: Claude Opus 4.8 (1M context) --- pyproject.toml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3f43d54c..e3f3155a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,11 +3,6 @@ requires = ["uv_build>=0.8.17,<0.9.0"] build-backend = "uv_build" [tool.uv.build-backend] -# Ship BOTH top-level modules under src/. The project is named "kai", so the -# default uv_build discovery packages only src/kai and drops src/ra — the -# recursive-LM framework that kai imports (`from ra... import ...`). Without -# this, `pip install kai @ git+...` produces an install that crashes on -# `import ra`. List both root modules so the wheel/sdist include ra too. module-root = "src" module-name = ["kai", "ra"]