Skip to content

Exclude non-actionable blocked claim modes from dashboard 'today' group#228

Merged
ccpk1 merged 3 commits into
mainfrom
fix/blocked-claim-mode-grouping
Jul 24, 2026
Merged

Exclude non-actionable blocked claim modes from dashboard 'today' group#228
ccpk1 merged 3 commits into
mainfrom
fix/blocked-claim-mode-grouping

Conversation

@ccpk1

@ccpk1 ccpk1 commented Jul 24, 2026

Copy link
Copy Markdown
Owner

Summary

Chores in NOT_MY_TURN, STANDBY (blocked), and PAUSED claim modes were being grouped into today or this_week based on their due date, even though the assignee cannot act on them. This caused the dashboard group headers to show inflated counts compared to the welcome card summary.

Changes

  • sensor.py (_calculate_chore_attributes): Extract claim_mode from the status context and pass it to _calculate_primary_group.
  • sensor.py (_calculate_primary_group): Added claim_mode parameter. When the mode is blocked_not_my_turn, blocked_standby, or blocked_paused, return other instead of routing via due-date-based grouping.
  • Tests: Added targeted tests verifying blocked modes route to other while overdue, is_due, and non-blocked modes remain unchanged.

Related Issues

Refs #205

…' group

Chores in NOT_MY_TURN, STANDBY (blocked), and PAUSED claim modes
were being grouped into 'today' or 'this_week' based on their due
date, even though the assignee cannot act on them. This caused the
dashboard group headers to show inflated counts compared to the
welcome card summary.

Adds a 'claim_mode' parameter to _calculate_primary_group() that
routes these non-actionable chores to the 'other' group instead,
matching the filtering already done in
chore_counts_toward_due_today_summary().

Refs #205
@ccpk1 ccpk1 added bug Something is not working area: integration Integration logic and state labels Jul 24, 2026
@ccpk1 ccpk1 self-assigned this Jul 24, 2026
ccpk1 added 2 commits July 24, 2026 15:32
The pyproject.toml ignore list used the old string-style rule name
'too-many-positional-arguments' which is no longer recognized by
ruff 0.15+. Replaced with the proper rule code 'PLR0917'.
- Pin ruff to 0.15.16 in both CI (pip install ruff==0.15.16) and locally
  (pyproject.toml required-version ==0.15.16) to prevent version drift
- Add PLR0917 to ruff's ignore list (was previously only in the pylint
  disable section, which has no effect on ruff) so the CI doesn't flag
  button.py constructor signatures
- Revert the pylint section back to string-style rule names (pylint uses
  human-readable names, not ruff codes)
@ccpk1
ccpk1 merged commit 622fe42 into main Jul 24, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: integration Integration logic and state bug Something is not working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant