Skip to content

Draw lane membership as a row with no value - #963

Merged
d-chambers merged 2 commits into
devfrom
viz-label-values
Aug 21, 2026
Merged

Draw lane membership as a row with no value#963
d-chambers merged 2 commits into
devfrom
viz-label-values

Conversation

@d-chambers

@d-chambers d-chambers commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Description

Dev is red after #952 and #955 crossed: #955 made labels refuse True/False (membership is a row with no value; an interval outside the group has no row), while #952's lanes plot and its tests still drew booleans. tests/test_viz/test_lanes.py and every test_inventory_viz.py test using the noisy fixture label fail on dev with Got True, but true and false are not values.

This brings the lanes plot onto the #955 rule: a row with no value states membership and takes the lane's one colour; the "False drawn faintly" case is gone, because such an interval has no row. The fixtures and the plot_lanes docstring example follow, and a test pins that booleans are refused.

Changelog

  • fixed: the lanes plot (plot_lanes, inventory epoch panels) and its tests for labels that refuse booleans, so the dev test suite is green again.

Checklist

I have:

  • filled in the Changelog section above (see docs/contributing/general_guidelines.qmd).

I have (if applicable):

  • referenced the GitHub issue this PR closes.
  • documented the new feature with docstrings and/or appropriate doc page.
  • included tests. See testing guidelines.
  • added the "ready_for_review" tag once the PR is ready to be reviewed.

Labels refuse true and false since #955: membership is a row with no
value, and an interval outside the group has no row. The lanes plot and
its tests, merged alongside in #952, still used booleans.
@d-chambers d-chambers added the ready_for_review PR is ready for review label Aug 21, 2026
@coderabbitai

coderabbitai Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@d-chambers, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 36 minutes

Limit details: You’ve used all 2 included reviews currently available.

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?

Wait for the limit to reset, then comment @coderabbitai review or push new commits to the PR.

An organization admin can change what happens after included review limits in Billing.

How do review limits work?

CodeRabbit enforces per-developer PR review limits within each organization.

For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 331b3201-bba7-4c3c-a6be-f28b7a27b0f9

📥 Commits

Reviewing files that changed from the base of the PR and between 0355743 and 9331ed6.

📒 Files selected for processing (2)
  • dascore/viz/_lanes.py
  • tests/test_viz/test_lanes.py

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: fcb79765-bda4-48d7-8a4b-674ddf1de828

📥 Commits

Reviewing files that changed from the base of the PR and between 2bfb202 and 0355743.

📒 Files selected for processing (3)
  • dascore/viz/_lanes.py
  • tests/test_viz/test_inventory_viz.py
  • tests/test_viz/test_lanes.py

Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

Membership lanes now use missing values instead of booleans. Unvalued lanes render all intervals with the same opaque color. Boolean values receive normal labels and raise ParameterError. Documentation, examples, fixtures, and tests reflect the new behavior.

Changes

Membership lane semantics

Layer / File(s) Summary
Update lane membership behavior
dascore/viz/_lanes.py
Missing values now identify membership lanes. Labels suppress only missing values, and all membership intervals use one opaque color. Documentation and the example use None.
Validate membership lane changes
tests/test_viz/test_lanes.py, tests/test_viz/test_inventory_viz.py
Fixtures use missing membership values. Tests verify default labels, opaque rendering, legend names, and ParameterError for boolean values.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 12 functions across 3 files.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly describes the main change: representing lane membership as a row without a value.
Description check ✅ Passed The description explains the problem, solution, tests, documentation updates, and checklist status with sufficient detail.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch viz-label-values

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

… lane

A frame of mixed lanes spells a missing value as NaN; the inventory path
plot hands the lanes such a frame.
@codecov

codecov Bot commented Aug 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (78cb411) to head (9331ed6).
⚠️ Report is 5 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##               dev      #963    +/-   ##
==========================================
  Coverage   100.00%   100.00%            
==========================================
  Files          195       197     +2     
  Lines        25268     26176   +908     
==========================================
+ Hits         25268     26176   +908     
Flag Coverage Δ
network 43.11% <0.00%> (-1.15%) ⬇️
unittests 100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@d-chambers
d-chambers merged commit 6ad7db8 into dev Aug 21, 2026
30 checks passed
@d-chambers
d-chambers deleted the viz-label-values branch August 21, 2026 11:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready_for_review PR is ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant