Conversation
📝 WalkthroughWalkthroughThis PR systematically updates tool versions across GitHub Actions workflows (uv 0.10.8 → 0.10.9, setup-uv v7.3.1 → v7.5.0), standardizes shell script message formatting with bracketed tags, modifies Rhiza template sync to enforce exact version pinning, introduces artifact handling for Marimo notebooks, and updates related configuration files. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
📝 Coding Plan
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. Comment |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/rhiza_validate.yml (1)
32-37:⚠️ Potential issue | 🟠 MajorUse exact Rhiza version in validation step.
Line 37 uses a floating constraint (
rhiza>=0.8.0), which breaks reproducibility against the pinned version0.12.1in.rhiza/.rhiza-version. Update this workflow to use exact version pinning like the other workflows.Proposed fix
- name: Validate Rhiza config # don't run this in rhiza itself. Rhiza has no template.yml file. if: ${{ github.repository != 'jebel-quant/rhiza' }} shell: bash run: | - uvx "rhiza>=0.8.0" validate . + RHIZA_VERSION="$(cat .rhiza/.rhiza-version)" + uvx "rhiza==${RHIZA_VERSION}" validate .🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/rhiza_validate.yml around lines 32 - 37, The workflow uses a floating Rhiza constraint in the uvx call (uvx "rhiza>=0.8.0" validate .) which breaks reproducibility versus the pinned version in .rhiza/.rhiza-version; change the uvx invocation to use an exact pin (e.g., uvx "rhiza==0.12.1" validate .) or programmatically read the version from .rhiza/.rhiza-version and pass it as uvx "rhiza==<version>" so the validation step matches the pinned Rhiza version.
🧹 Nitpick comments (4)
.rhiza/tests/sync/test_rhiza_version.py (4)
71-73: Stale comment doesn't match the updated assertion.Same issue here - the comment references
rhiza>=but the assertion checks forrhiza==.out = proc.stdout - # Check that rhiza>= is used with the version variable + # Check that rhiza== is used with the version variable assert 'uvx "rhiza==' in out or "rhiza==" in out🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.rhiza/tests/sync/test_rhiza_version.py around lines 71 - 73, The comment above the assertion in test_rhiza_version.py is stale: update the comment that currently says "Check that rhiza>= is used with the version variable" to reflect the actual assertion which checks for equality (rhiza==); locate the block using the variable out and the assertion line containing assert 'uvx "rhiza==' in out or "rhiza==" in out and modify the comment to describe that the test verifies rhiza== is present (or alternatively change the assertion to check for >= if you intended a range), ensuring comment text matches the implemented assertion.
134-137: Stale comment doesn't match the updated assertion.The comment on line 135 still references
rhiza>=VERSIONbut the assertion checks forrhiza==.- # The format should be: uvx "rhiza>=VERSION" summarise . + # The format should be: uvx "rhiza==VERSION" summarise . assert 'uvx "rhiza==' in out🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.rhiza/tests/sync/test_rhiza_version.py around lines 134 - 137, Update the stale test comment to match the actual assertion: the test checks for 'uvx "rhiza==' so change the comment that currently says `rhiza>=VERSION` to reflect the equality format (e.g., `rhiza==VERSION`) or invert the assertion to check for `>=` if that was intended; modify the comment near the assertions and/or adjust the assertion string in the test to keep them consistent with each other (referencing the assertion lines that contain 'uvx "rhiza==' and "summarise").
64-66: Stale comment doesn't match the updated assertion.The comment on line 65 still references
rhiza>=but the assertion now checks forrhiza==. Consider updating the comment to reflect the exact version pinning behavior.out = proc.stdout - # Check that rhiza>= is used with the version variable + # Check that rhiza== is used with the version variable assert 'uvx "rhiza==' in out or "rhiza==" in out🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.rhiza/tests/sync/test_rhiza_version.py around lines 64 - 66, The comment above the assertion in test_rhiza_version.py is outdated (mentions rhiza>=) while the assertion checks for an exact pin (checks for 'uvx "rhiza==' or "rhiza=="); update the comment to describe that the test verifies exact version pinning (rhiza==) and mention the assertion using the variable out to avoid confusion.
125-128: Stale comment doesn't match the updated assertion.The comment on line 126 still references
rhiza>=VERSIONbut the assertion checks forrhiza==.- # The format should be: uvx "rhiza>=VERSION" sync . + # The format should be: uvx "rhiza==VERSION" sync . assert 'uvx "rhiza==' in out🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.rhiza/tests/sync/test_rhiza_version.py around lines 125 - 128, Update the stale inline comment that references `rhiza>=VERSION` to match the actual assertion which checks for `rhiza==` in the test (`test_rhiza_version.py`), or alternatively change the assertion to check for `rhiza>=` if that was intended; locate the assertion lines containing the string checks ('uvx "rhiza==' and "sync .") and make the comment text consistent with the checked operator (`==`) so the comment and the assertions (`assert 'uvx "rhiza==' in out`) are aligned.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In @.github/workflows/rhiza_validate.yml:
- Around line 32-37: The workflow uses a floating Rhiza constraint in the uvx
call (uvx "rhiza>=0.8.0" validate .) which breaks reproducibility versus the
pinned version in .rhiza/.rhiza-version; change the uvx invocation to use an
exact pin (e.g., uvx "rhiza==0.12.1" validate .) or programmatically read the
version from .rhiza/.rhiza-version and pass it as uvx "rhiza==<version>" so the
validation step matches the pinned Rhiza version.
---
Nitpick comments:
In @.rhiza/tests/sync/test_rhiza_version.py:
- Around line 71-73: The comment above the assertion in test_rhiza_version.py is
stale: update the comment that currently says "Check that rhiza>= is used with
the version variable" to reflect the actual assertion which checks for equality
(rhiza==); locate the block using the variable out and the assertion line
containing assert 'uvx "rhiza==' in out or "rhiza==" in out and modify the
comment to describe that the test verifies rhiza== is present (or alternatively
change the assertion to check for >= if you intended a range), ensuring comment
text matches the implemented assertion.
- Around line 134-137: Update the stale test comment to match the actual
assertion: the test checks for 'uvx "rhiza==' so change the comment that
currently says `rhiza>=VERSION` to reflect the equality format (e.g.,
`rhiza==VERSION`) or invert the assertion to check for `>=` if that was
intended; modify the comment near the assertions and/or adjust the assertion
string in the test to keep them consistent with each other (referencing the
assertion lines that contain 'uvx "rhiza==' and "summarise").
- Around line 64-66: The comment above the assertion in test_rhiza_version.py is
outdated (mentions rhiza>=) while the assertion checks for an exact pin (checks
for 'uvx "rhiza==' or "rhiza=="); update the comment to describe that the test
verifies exact version pinning (rhiza==) and mention the assertion using the
variable out to avoid confusion.
- Around line 125-128: Update the stale inline comment that references
`rhiza>=VERSION` to match the actual assertion which checks for `rhiza==` in the
test (`test_rhiza_version.py`), or alternatively change the assertion to check
for `rhiza>=` if that was intended; locate the assertion lines containing the
string checks ('uvx "rhiza==' and "sync .") and make the comment text consistent
with the checked operator (`==`) so the comment and the assertions (`assert 'uvx
"rhiza==' in out`) are aligned.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: e7be992c-90a4-43e3-8fae-254c822bcfdb
⛔ Files ignored due to path filters (1)
.rhiza/template.lockis excluded by!**/*.lock
📒 Files selected for processing (19)
.github/hooks/session-end.sh.github/hooks/session-start.sh.github/workflows/copilot-setup-steps.yml.github/workflows/renovate_rhiza_sync.yml.github/workflows/rhiza_benchmarks.yml.github/workflows/rhiza_book.yml.github/workflows/rhiza_ci.yml.github/workflows/rhiza_marimo.yml.github/workflows/rhiza_release.yml.github/workflows/rhiza_sync.yml.github/workflows/rhiza_validate.yml.pre-commit-config.yaml.rhiza/.rhiza-version.rhiza/make.d/marimo.mk.rhiza/rhiza.mk.rhiza/template.yml.rhiza/tests/sync/test_rhiza_version.pybook/marimo/notebooks/rhiza.pyruff.toml
Summary by CodeRabbit
New Features
Chores
Refactor