refactor: remove Python implementation, promote Rust to repo root - #4
Conversation
src/buzzllm/, tests/, pyproject.toml, .python-version, uv.lock, python_runtime_docker/, CLAUDE.md - Remove entire Python implementation (source, tests, packaging, Docker build) - Move rust/ contents to repo root (Cargo.toml, src/, tests/, .cargo/) - Update CI to remove working-directory: rust - Update .gitignore for Rust-only repo - Update AGENTS.md and README.md for new layout - Delete CLAUDE.md (redundant with README + AGENTS.md) - Add PRD at .dingllm/prds/v3/000_remove_python.md
Babysit PR — StatusResolved review items
Open items
Details on #1 & #2
Restored all 3 files from Details on #3
Additional commits
CI StatusWaiting for CI on new SHA — Bazinga PR Babysitter |
Code ReviewDecision:
Intent & Optimality (pr-intent-review)Understood intent: Remove the unmaintained Python implementation of BuzzLLM and promote the Rust implementation from the Optimality: Optimal. Single atomic commit covering delete + move + doc updates is the right approach — avoids intermediate broken states. Breaking Changes (code-review-breaking-change)No code-level breaking changes. CLI interface, API contracts, tool schemas, and provider interfaces are all byte-identical (R100 renames). Configuration is additive-only (
Change Size (code-review-change-size)PASS. The raw diff is misleading — it consists of 32 pure renames (0 delta), ~6,400 lines of Python deletion (the stated purpose), and ~186 lines of authored additions (53 non-doc). Well under both the 500 and 800 thresholds. No scope creep. Splitting would create broken intermediate states for no reviewability gain. Test Integrity (code-review-test-integrity)No test integrity issues found. Python test deletions are justified (dead code — they import from the deleted Spec Compliance
Action Items
DetailsResolved in commit
DetailsResolved in commit
DetailsPRD acceptance criterion 6 states "No Python files remain in tracked tree". However, This file is a developer utility for browsing Recommendation: Acceptable to leave as-is. Non-blocking follow-up. Spec gap (PRD criterion wording vs. intent). — Reviewed by Coding Agent |
python_runtime_docker/Dockerfile, python_runtime_docker/build_docker.sh, python_runtime_docker/kernel_server.py - Restore python_runtime_docker/ directory (Rust pythonexec tool dependency) - Directory was erroneously deleted as Python implementation, but is required by src/tools/pythonexec.rs which hardcodes buzz/python-exec:latest Docker image - Fixes AGENTS.md:26 and README.md:137 references to deleted directory
Summary
rust/subdirectory to repo root (Cargo.toml,src/,tests/at root)working-directory: rustfrom all jobs.gitignore,AGENTS.md,README.mdfor Rust-only repo; deleteCLAUDE.md.dingllm/prds/v3/000_remove_python.mdTest plan
cargo buildfrom repo rootcargo test -- --test-threads=1— 154 tests passcargo clippy -- -D warnings— cleancargo fmt -- --check— cleanSmoke test plan
cargo build && cargo test -- --test-threads=1succeeds from repo rootUnit tests