🎨 Palette: Add tabular numerals to body and clean up unused transitions - #586
Conversation
Added `font-variant-numeric: tabular-nums;` to the `body` of HTML reports and removed unused `opacity` transitions. This ensures numbers align vertically in tables and charts, improving readability and scan-ability, while also removing dead CSS rules left over from a previous opacity change.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
Warning Review limit reached
Next review available in: 55 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughThe report CSS enables tabular numerals globally and removes opacity transitions from table rows while retaining background-color transitions. ChangesReport CSS updates
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
|
@coderabbitai review Review exact current head |
|
@opencode-agent @cwl-noema-review Final independent formal exact-head review requested for Exact-head repository evidence is complete: CI |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
expected='22c8a096eb3425de49b9a0d481c9ef3697800db5'
actual="$(git rev-parse HEAD)"
printf 'HEAD=%s\nEXPECTED=%s\n' "$actual" "$expected"
if [ "$actual" != "$expected" ]; then
echo 'ERROR: checked-out revision does not match requested commit' >&2
exit 2
fi
echo '--- COMMIT ---'
git show -s --format=fuller "$expected"
echo '--- CHANGED FILES AGAINST FIRST PARENT ---'
git diff-tree --no-commit-id --name-status -r "${expected}^" "$expected"
echo '--- DIFF AGAINST FIRST PARENT ---'
git diff --find-renames --find-copies "${expected}^" "$expected"
echo '--- CANDIDATE REPORT/STYLE FILES ---'
fd -t f -E .git | rg -i '(^|/)(report|.*\.(css|scss|sass|html|jinja|j2|template))$|report.*\.(css|scss|sass|html|jinja|j2)$' || true
echo '--- ALL TRANSITION, OPACITY, FOCUS, AND HOVER RULES ---'
rg -n -i -C 4 '(transition|opacity|:focus(?:-visible)?|:hover|\.bar-row\b|tbody\s+tr)' \
-g '*.{css,scss,sass,html,htm,jinja,j2}' . || true
echo '--- NUMERIC FONT-VARIANT AND REPORT NUMERIC MARKUP ---'
rg -n -i -C 3 '(font-variant-numeric|font-feature-settings|tabular-nums|metric|number|value|count|percent|chart|table)' \
-g '*.{css,scss,sass,html,htm,jinja,j2}' . || trueLength of output: 3105 🏁 Script executed: #!/bin/bash
set -euo pipefail
file='python/fast_mlsirm/report.py'
echo '--- SOURCE OUTLINE ---'
ast-grep outline "$file" --items all --view expanded
echo '--- EMBEDDED CSS AND TEMPLATE CONTEXT (LINES 520-860) ---'
sed -n '520,860p' "$file"
echo '--- ALL RELEVANT CSS DECLARATIONS IN REPORT SOURCE ---'
rg -n -i -C 5 '(opacity|transition|:hover|:focus|:focus-visible|\.bar-row\b|tbody\s+tr|font-variant-numeric|font-feature-settings)' "$file"
echo '--- NUMERIC AND REPORT-MARKUP EMISSION CONTEXT ---'
rg -n -i -C 4 '(format\(|f["'\'']|\.to_html\(|<table|<tr|<td|<th|bar-row|chart|metric|count|percent|number|value)' "$file"
echo '--- REPORT TESTS AND THEIR RELEVANT ASSERTIONS ---'
fd -t f -E .git | rg -i '(^|/)(test|tests)(/|_).*\.py$|report.*test.*\.py$|test.*report.*\.py$' || true
rg -n -i -C 4 '(report|html|bar-row|tbody|opacity|transition|font-variant|tabular)' \
-g '*.py' -g '!python/fast_mlsirm/report.py' . || true
echo '--- FULL-PARENT DIFF STATISTICS AND WHITESPACE CHECK ---'
git diff --check '22c8a096eb3425de49b9a0d481c9ef3697800db5^' '22c8a096eb3425de49b9a0d481c9ef3697800db5'
git diff --numstat '22c8a096eb3425de49b9a0d481c9ef3697800db5^' '22c8a096eb3425de49b9a0d481c9ef3697800db5'Length of output: 201738 🏁 Script executed: #!/bin/bash
set -euo pipefail
file='python/fast_mlsirm/report.py'
head='22c8a096eb3425de49b9a0d481c9ef3697800db5'
parent="${head}^"
echo '--- CSS REGION ---'
sed -n '540,850p' "$file"
echo '--- HTML TEMPLATE REGION AFTER CSS ---'
sed -n '850,1160p' "$file"
echo '--- ALL CSS/INTERACTION MATCHES IN CHANGED FILE ---'
rg -n -i -C 3 '(opacity|transition|:hover|:focus(?:-visible)?|\.bar-row\b|tbody\s+tr|font-variant-numeric|font-feature-settings)' "$file" || true
echo '--- ALL NUMERIC VALUE FORMATTING AND VISUALIZATION MARKUP IN CHANGED FILE ---'
rg -n -C 2 '(f["'\''].*\{.*(?:\.[0-9]+f|%|d|g|e)|format\(|bar-row|bar-fill|data-|<table|<td|<th|<svg|<text|<span)' "$file" || true
echo '--- EXPECTED-ONLY NORMALIZED FILE COMPARISON ---'
python - "$parent" "$head" "$file" <<'PY'
import subprocess
import sys
parent, head, path = sys.argv[1:]
before = subprocess.check_output(["git", "show", f"{parent}:{path}"], text=True)
after = subprocess.check_output(["git", "show", f"{head}:{path}"], text=True)
expected_before = (
" transition: opacity 0.2s ease;\n",
" transition: background-color 0.15s ease-in-out, opacity 0.2s ease;\n",
)
expected_after = (
"",
" transition: background-color 0.15s ease-in-out;\n",
)
normalized_before = before
normalized_after = after
for old, new in zip(expected_before, expected_after, strict=True):
normalized_before = normalized_before.replace(old, new, 1)
normalized_after = normalized_after.replace(
" font-variant-numeric: tabular-nums;\n", "", 1
)
print("normalization_equal=", normalized_before == normalized_after)
print("font_variant_count_head=", after.count("font-variant-numeric: tabular-nums;"))
print("bar_row_opacity_declarations_head=", sum(
1 for line in after.splitlines()
if "opacity" in line and ".bar-row" in line
))
print("total_opacity_declarations_head=", sum(
1 for line in after.splitlines() if "opacity" in line
))
PY
echo '--- FILE-LOCAL TEST REFERENCES ---'
rg -n -C 3 '(generate_html_report|report\.py|bar-row|font-variant-numeric|tabular-nums)' tests python/fast_mlsirm -g '*.py' || trueLength of output: 22585
No findings.
✅ Action performedReview finished.
|
Added `font-variant-numeric: tabular-nums;` to the `body` of HTML reports and removed unused `opacity` transitions. This ensures numbers align vertically in tables and charts, improving readability and scan-ability, while also removing dead CSS rules left over from a previous opacity change.
|
@opencode-agent address Operate only on exact current head
|
Acknowledged. |
Acknowledged. |
정확한 헤드(762bd78)를 기준으로 기존의 CSS 제약(body tabular numerals, 사용되지 않는 |
|
@opencode-agent @cwl-noema-review Final independent read-only review requested for exact current head Exact-head CI |
Acknowledged. |
|
Exact-head review request for @coderabbitai review |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
head='7bbf5f5d3bc9841e17eb1d80861ab0e8444d940f'
actual="$(git rev-parse HEAD)"
printf 'HEAD=%s\nEXPECTED=%s\n' "$actual" "$head"
test "$actual" = "$head"
echo '--- CHANGED FILES ---'
git diff-tree --no-commit-id --name-status -r "${head}^" "$head"
echo '--- DIFF ---'
git diff --check "${head}^" "$head"
git diff --find-renames --find-copies "${head}^" "$head"
echo '--- REPORT OUTLINE ---'
ast-grep outline python/fast_mlsirm/report.py --items all --view expanded
echo '--- RELEVANT REPORT CSS AND TEMPLATE CONTEXT ---'
rg -n -i -C 7 \
'(font-variant-numeric|font-feature-settings|tabular-nums|\.bar-row\b|tbody\s+tr|transition|opacity|:hover|:focus(?:-visible)?|prefers-reduced-motion|`@media`\s+print|`@page`)' \
python/fast_mlsirm/report.py
echo '--- NUMERIC OUTPUT AND EXPORT MARKUP ---'
rg -n -C 4 \
'(metric|bar-row|bar-fill|exact|export|<table|<tbody|<td|<th|<svg|<text|format\(|f["'\''])' \
python/fast_mlsirm/report.py
echo '--- FOCUSED TEST OUTLINE AND CONTENT ---'
fd -t f '^test_report_numeric_motion_css\.py$' .
test_file="$(fd -t f '^test_report_numeric_motion_css\.py$' . | head -n 1)"
test -n "$test_file"
ast-grep outline "$test_file" --items all --view expanded
cat -n "$test_file"
echo '--- CHANGELOG ENTRIES AND FRAGMENTS ---'
rg -n -i -C 5 \
'(tabular|numeric|numeral|opacity|transition|report|motion|accessib|print)' \
CHANGELOG.md . -g '*changelog*' -g '*.md' -g '*.rst' -g '*.yaml' -g '*.yml' -g '*.toml' \
-g '!CHANGELOG.md' || true
echo '--- CHANGED CHANGELOG CONTEXT ---'
git diff -U12 "${head}^" "$head" -- CHANGELOG.mdLength of output: 201939 🏁 Script executed: #!/bin/bash
set -euo pipefail
head='7bbf5f5d3bc9841e17eb1d80861ab0e8444d940f'
test "$(git rev-parse HEAD)" = "$head"
echo '--- CHANGED FILES ---'
git diff-tree --no-commit-id --name-status -r "${head}^" "$head"
echo '--- COMPLETE EXACT-HEAD DIFF ---'
git diff --check "${head}^" "$head"
git diff -U20 "${head}^" "$head"
echo '--- REPORT CSS: LINES WITH SELECTORS AND DECLARATIONS ---'
rg -n -i -C 12 \
'(^\s*body\s*\{|font-variant-numeric|\.bar-row\b|tbody\s+tr|transition:|opacity:|:hover|:focus(?:-visible)?|prefers-reduced-motion|`@media`\s+print|`@page`)' \
python/fast_mlsirm/report.py
echo '--- REPORT HTML: NUMERIC, TABLE, EXPORT, AND FOCUSABLE CONTENT ---'
rg -n -C 5 \
'(metric-|bar-row|bar-fill|exact-value|export|<table|<tbody|<td|<th|tabindex|href=|button|aria-)' \
python/fast_mlsirm/report.py
echo '--- FOCUSED REGRESSION ---'
test_file="$(fd -t f '^test_report_numeric_motion_css\.py$' . | head -n 1)"
printf 'TEST_FILE=%s\n' "$test_file"
test -n "$test_file"
cat -n "$test_file"
echo '--- CHANGELOG FRAGMENT ---'
cat -n docs/changelog.d/586-report-tabular-numerals-motion.md
echo '--- RENDERED CHANGELOG ENTRY ---'
rg -n -A8 -B2 '^#### Diagnostics-report numeric alignment and motion cleanup$' CHANGELOG.mdLength of output: 23965
No findings.
|
Acknowledged. |
|
@opencode-agent review the exact current head |
Acknowledged. |
|
@coderabbitai review Review the exact current head only. Verify that tabular numerals and transition cleanup preserve report semantics, focus behavior, visible hover contrast, reduced-motion behavior, print output, exact-value exports, and all psychometric values; ensure the regression renders a realistic report and does not make unsupported accessibility claims. Report only current-head actionable findings. |
🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo '--- EXACT HEAD ---'
head="$(git rev-parse HEAD)"
printf 'HEAD=%s\n' "$head"
git show -s --format='commit=%H%nparents=%P%nsubject=%s' "$head"
echo '--- MAIN REFERENCE AND MERGE BASE ---'
if git rev-parse --verify --quiet main >/dev/null; then
base="$(git merge-base main "$head")"
printf 'MAIN=%s\nMERGE_BASE=%s\n' "$(git rev-parse main)" "$base"
echo '--- CHANGED FILES: MERGE BASE TO HEAD ---'
git diff-tree --no-commit-id --name-status -r "$base" "$head"
echo '--- DIFF: MERGE BASE TO HEAD ---'
git diff --check "$base" "$head"
git diff --find-renames --find-copies -U12 "$base" "$head"
else
echo 'ERROR: local main reference is unavailable' >&2
exit 2
fi
echo '--- SOURCE OUTLINES ---'
ast-grep outline python/fast_mlsirm/report.py --items all --view expanded
test_file="$(fd -t f '^test_report_numeric_motion_css\.py$' . | head -n 1)"
printf 'TEST_FILE=%s\n' "$test_file"
test -n "$test_file"
ast-grep outline "$test_file" --items all --view expanded
echo '--- REPORT CSS AND TEMPLATE CONTEXT ---'
rg -n -i -C 10 \
'(^\s*body\s*\{|font-variant-numeric|font-feature-settings|\.bar-row\b|tbody\s+tr|transition:|opacity:|:hover|:focus(?:-visible)?|prefers-reduced-motion|`@media`\s+print|`@page`)' \
python/fast_mlsirm/report.py
echo '--- NUMERIC, EXPORT, AND SEMANTIC MARKUP ---'
rg -n -C 5 \
'(metric|bar-row|bar-fill|exact|export|<table|<thead|<tbody|<td|<th|<svg|<text|aria-|role=|tabindex|format\(|f["'\''])' \
python/fast_mlsirm/report.py
echo '--- FOCUSED REGRESSION CONTENT ---'
cat -n "$test_file"
echo '--- CHANGELOG SOURCE AND RENDERED ENTRY ---'
cat -n docs/changelog.d/586-report-tabular-numerals-motion.md
rg -n -A10 -B3 \
'Diagnostics-report numeric alignment and motion cleanup|tabular numerals|opacity transition|background-color transition' \
CHANGELOG.mdLength of output: 38354
No actionable findings.
|
Acknowledged. |
Buyer-visible change
font-variant-numeric: tabular-numsto standalone diagnostics-report body text so numeric values can align more consistently when the selected font supports equal-width figures..bar-rowandtbody trwhile preserving the active table-row background-color hover cue and the existing reduced-motion override.Exact current identity
mainat4d910ed650f384ff882c8b5fba6a8b08fd532236.7bbf5f5d3bc9841e17eb1d80861ab0e8444d940f.Exact-head evidence
31304171465: success, including Python, Rust, package/reinstall/release acceptance, explicit GPU no-skip, and fuzz jobs.31304171464: success.31304171466: success.tests/test_report_numeric_motion_css.pyrenders a realistic report and pins body numeric styling, removal of bar-row opacity transitions, preservation of the table-row background transition and hover cue, and the reduced-motion override.docs/changelog.d/586-report-tabular-numerals-motion.mdis rendered into the authoritativeCHANGELOG.mdmanaged block.Accessibility boundary
Tabular numerals can improve horizontal comparison when the active font supports them; they do not by themselves establish readability, accessibility, or report validity. Removing unused opacity transitions is motion cleanup only. The change preserves report text, table semantics, focus behavior, print behavior, chart geometry, hover contrast, data values, score semantics, and exact-value exports.
Remaining merge gates
Require a fresh exact-current-head automated review, zero valid unresolved findings, qualifying independent non-author formal approval where repository policy requires it, and every protected merge gate on this unchanged head. Predecessor-head, status-only, rate-limited, or synthetic evidence does not transfer.
Originally created by Jules task
10706979400227673778; subsequent governance state is maintained by the repository writer loop.