Skip to content

chore: update rhiza to v1.2.1 - #889

Merged
tschm merged 2 commits into
mainfrom
rhiza_v1.2.1
Jul 17, 2026
Merged

chore: update rhiza to v1.2.1#889
tschm merged 2 commits into
mainfrom
rhiza_v1.2.1

Conversation

@tschm

@tschm tschm commented Jul 17, 2026

Copy link
Copy Markdown
Member

Summary

  • Bumps the template ref to v1.2.1 in .rhiza/template.yml (from v1.2.0)
  • Platform profile: github-project (unchanged; matches the GitHub origin)
  • Runs the bundled scripts/sync.py to apply upstream template changes; the 8 workflow conflicts were resolved taking the upstream side (all were the uses: …@v1.2.0@v1.2.1 ref bump)

Quality gates

Gate Result
make fmt (lint/format/pre-commit) ✅ PASS
make typecheck (ty + mypy --strict, 52 files) ✅ PASS
make docs-coverage (interrogate) ✅ PASS (100%, min 100%)
make deptry (dependency hygiene) ✅ PASS
make security (bandit) ✅ PASS
make validate ⚪ N/A (no such target in this downstream repo)
make test (suite + coverage gate) ✅ PASS (1215 passed, 5 skipped¹, 100% coverage, gate 100%)
test-layout parity (check_test_layout.py) ❌ FAIL (structural — see scorecard)

¹ 5 kaleido plot tests skipped: no Chrome/Chromium in the environment (environmental, not a code failure).

Scorecard (locally-owned scope)

Subcategory Score Notes
Linting / style 10 make fmt fully clean
Type safety 10 ty + mypy --strict clean over 52 modules
Docstring / API-doc coverage 10 interrogate 100% (gate 100%)
Test pass rate 10 1215 passing; 5 skipped only for missing Chrome
Test coverage & depth 10 100% line+branch coverage; snapshot & property suites
Dependency & security hygiene 10 deptry clean, bandit clean
Code complexity 9 radon avg A (2.86), no C-or-worse blocks, all modules MI grade A; data.py (808 LOC) and _stats/_performance.py (714 LOC) are the largest
Overall architecture 9 Protocol-based composition (4 _protocol.py interface modules), clean layering with cross-package imports flowing only to base exceptions, no import cycles
Test-layout parity 5 Tests organized by behaviour (tests/test_jquantstats/…) rather than the 1:1 tests/<pkg>/test_<name>.py mirror the bundled checker enforces
Template fidelity (make validate) out-of-scope / upstream (no target downstream)

Overall: 9/10. Excellent code quality, types, docs, and 100% coverage across a large surface. The single blemish is test-layout parity against the rhiza checker's 1:1 mirror expectation.

Highest-leverage improvement: reconcile test-layout parity — either migrate to the mirrored tests/<pkg>/test_<name>.py layout or configure/exempt the checker to accept the behaviour-grouped structure.

Recommendations (ordered by leverage)

  1. Reconcile test-layout parity (test-layout 5→10) — tests/ vs src/jquantstats/. Done when check_test_layout.py exits 0 (mirror the layout, or record the intentional grouping in the checker config).
  2. Split the largest modules (complexity 9→10) — src/jquantstats/data.py (808 LOC), _stats/_performance.py (714 LOC). Done when no src/ module exceeds ~500 LOC and radon MI stays grade A.

tschm and others added 2 commits July 17, 2026 16:57
Bump reusable workflow refs from v1.2.0 to v1.2.1 and update the
template lock (opt out of fuzzing/scorecard/weekly workflows).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 17, 2026 13:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the repository’s Rhiza template pin to v1.2.1 and syncs downstream template-managed artifacts (notably GitHub Actions workflows) so this repo stays aligned with the upstream jebel-quant/rhiza automation.

Changes:

  • Bump Rhiza template ref from v1.2.0v1.2.1 and update the synced template lock metadata (sha, synced_at, profiles/exclude).
  • Update template-managed GitHub Actions workflow uses: references to point at @v1.2.1.

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
.rhiza/template.yml Bumps the Rhiza template ref to v1.2.1.
.rhiza/template.lock Updates lock sha/ref and synced metadata; records excluded upstream workflow bundles.
.github/workflows/rhiza_release.yml Updates Rhiza action reference to @v1.2.1 for the release workflow.
.github/workflows/rhiza_paper.yml Pins reusable Rhiza workflow to @v1.2.1.
.github/workflows/rhiza_mutation.yml Pins reusable Rhiza workflow to @v1.2.1.
.github/workflows/rhiza_marimo.yml Pins reusable Rhiza workflow to @v1.2.1.
.github/workflows/rhiza_codeql.yml Pins reusable Rhiza workflow to @v1.2.1.
.github/workflows/rhiza_ci.yml Pins reusable Rhiza workflow to @v1.2.1.
.github/workflows/rhiza_book.yml Pins reusable Rhiza workflow to @v1.2.1.
.github/workflows/rhiza_benchmark.yml Pins reusable Rhiza workflow to @v1.2.1.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tschm
tschm merged commit 1b29a26 into main Jul 17, 2026
63 checks passed
@tschm
tschm deleted the rhiza_v1.2.1 branch July 17, 2026 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants