Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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 .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ jobs:
# not from a fresh unpinned resolve that can pull in a regressed
# release (see the fastapi 0.137 incident, #903).
- name: Install dependencies
run: uv sync --frozen --extra dev --python ${{ matrix.python-version }}
run: uv sync --frozen --python ${{ matrix.python-version }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

CRITICAL: uv sync does not install [dependency-groups] dev by default

PEP 735 dependency groups require --group <name> or --all-groups to install. The dev group is not special — it is not installed automatically. CI will fail because pytest and other test dependencies will be missing.

Suggested change
run: uv sync --frozen --python ${{ matrix.python-version }}
run: uv sync --frozen --group dev --python ${{ matrix.python-version }}

Reply with @kilocode-bot fix it to have Kilo Code address this issue.


# SPA bundle is stubbed by tests/conftest.py — see pytest_configure.
# The real build is exercised in the spa-build job below.
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:
enable-cache: true

- name: Install dependencies
run: uv sync --frozen --extra dev --python 3.12
run: uv sync --frozen --python 3.12

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

CRITICAL: uv sync does not install [dependency-groups] dev by default

Same issue as the shards job — lint step will fail without test dependencies.

Suggested change
run: uv sync --frozen --python 3.12
run: uv sync --frozen --group dev --python 3.12

Reply with @kilocode-bot fix it to have Kilo Code address this issue.


- name: Check for syntax errors
run: uv run --no-sync python -m compileall tinyagentos/ -q
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ To keep this sustainable, **all contributors must agree to the Contributor Licen
```bash
git clone https://github.com/jaylfc/taOS.git
cd tinyagentos
uv sync --extra dev
uv sync

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

CRITICAL: uv sync no longer installs dev dependencies

With deps moved to [dependency-groups], uv sync alone won't install pytest. Contributors following these instructions will be unable to run tests.

Suggested change
uv sync
uv sync --group dev

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

# Build the desktop SPA - static/desktop/ is gitignored (generated artifact)
cd desktop && npm install && npm run build && cd ..
uv run pytest tests/ --ignore=tests/e2e -n auto
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,7 @@ uv run exo
## Development

```bash
uv sync --extra dev
uv sync

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

CRITICAL: uv sync no longer installs dev dependencies

Same issue as CONTRIBUTING.md — developers following these instructions won't get test tooling.

Suggested change
uv sync
uv sync --group dev

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

uv run pytest tests/ --ignore=tests/e2e -n auto # ~7,400 tests
cd desktop && npx vitest run # ~1,900 desktop tests
```
Expand Down
10 changes: 6 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,12 @@ proxy = ["litellm[proxy]>=1.93.0", "prisma>=0.11.0"]
# dependency or fresh installs abort. torrent_downloader guards the import and
# falls back to a direct download when it is absent.
torrent = ["libtorrent>=2.0.9"]
e2e = [
"pytest>=9.1.1",
"pytest-playwright>=0.5.0",
]

[dependency-groups]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

CRITICAL: dev moved to [dependency-groups] but not installed by default

PEP 735 does not auto-install named groups. uv sync installs only the default group. To install dev, callers must pass --group dev or --all-groups.


Reply with @kilocode-bot fix it to have Kilo Code address this issue.

dev = [
"pytest>=9.1.1",
"pytest-asyncio>=0.23.0",
Comment thread
qodo-code-review[bot] marked this conversation as resolved.
Comment on lines +70 to 73

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Remediation recommended

2. Security job uses dev extra 🐞 Bug ≡ Correctness

The repo still references installing the removed dev project extra (in the security workflow via
pip install -e "\.[dev,proxy,worker]" and in internal docs via uv sync --extra dev), but dev
is no longer defined as an optional extra in pyproject.toml after being moved to
[dependency-groups].dev. This makes CI dependency installation and contributor setup instructions
incorrect (and potentially failing), reducing audit reliability and blocking dev/test environment
setup.
Agent Prompt
## Issue description
The repository still installs/requests the removed `dev` *project extra* in multiple places (CI security workflow uses `pip install -e ".[dev,proxy,worker]"`, and internal docs instruct `uv sync --extra dev`), but this PR moves dev dependencies to `[dependency-groups].dev` and removes `optional-dependencies.dev`. Update CI and docs so they install the intended dev dependencies using the new dependency-group approach (or reintroduce a compatible `dev` extra if that interface must remain supported).

## Issue Context
- Dependency groups are not the same as project extras; pip extras require entries under `[project.optional-dependencies]`.
- The security job needs an environment containing the dependencies it intends to audit; installing a non-existent extra can produce an incomplete environment or fail.
- Internal contributor/agent guidance appears likely to be reused/copy-pasted, so stale commands can block setting up a working dev/test environment.
- Choose an approach:
  - Prefer aligning CI with dependency groups (e.g., use `uv` in the workflow and sync the appropriate groups), then run `pip-audit` in that environment.
  - Alternatively, reintroduce a `dev` optional extra (potentially mirroring the dependency-group list) to keep `pip install -e ".[dev,...]"` / `--extra dev` working.

## Fix Focus Areas
- .github/workflows/security.yml[36-52]
- .claude/skills/taos-development-skill/SKILL.md[441-564]
- .claude/skills/taos-development-skill/soul.md[47-70]
- pyproject.toml[57-83]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Expand All @@ -75,10 +81,6 @@ dev = [
"respx>=0.21.0",
"websockets>=12.0",
]
e2e = [
"pytest>=9.1.1",
"pytest-playwright>=0.5.0",
]

[tool.setuptools.packages.find]
include = ["tinyagentos*"]
Expand Down
44 changes: 25 additions & 19 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading