Configuration: Chores - ad-ha/kidschores-ha GitHub Wiki
Chore Configuration Guide
Prerequisites: Completed Quick Start Guide
[!NOTE] This guide explains the standard Chore setup flow for most families. For advanced scheduling, turn-based rotation, and due-window claim controls, see Chore Advanced Features.
Overview
Use this page to configure Chores that are clear, fair, and easy to manage.
You will make four key decisions:
- Who completes the Chore (
completion_criteria) - When the Chore is due and repeats (
recurring_frequency,due_date, days) - How approval boundaries behave (
approval_reset_type, pending claim action) - What happens when a Chore is late (
overdue_handling_type)
Form Layout
The Add/Edit Chore form is organized into three sections.
Definition
- Name
- Description
- Icon
- Points
- Assigned Kids
- Completion Criteria
Schedule
- Frequency
- Due Date
- Applicable Days
- Due Window Offset
- Claim Lock Until Window
- Custom Interval fields (only when custom frequency is selected)
Advanced Configurations
- Approval Reset Type
- Pending Claim Action
- Auto Approve
- Overdue Handling
- Due Reminder Offset
- Notifications
- Show on Calendar
- Labels
Completion Criteria
Choose how completion is tracked.
Independent
Each assigned Kid gets an independent instance of the Chore.
- Separate claim/approval state per Kid
- Separate due/schedule behavior per Kid when per-kid helper fields are used
- Best for personal routines
Shared (All)
All assigned Kids are expected to complete within the cycle.
- Group progress can show partial completion states
- Best for teamwork Chores
Shared (First)
One Kid completes for the group.
- First successful claimer/completer wins the cycle
- Other assigned Kids are blocked for that cycle
- Best for “one person handles it” Chores
Rotation Simple
Strict turn order for assigned Kids.
- Only the current turn-holder can claim before overdue (unless cycle override is used)
- Turn advances in list order
Rotation Smart
Turn-based, fairness-weighted assignment.
- Only the current turn-holder can claim before overdue (unless cycle override is used)
- Next turn is selected by fairness logic: fewest approvals first, then oldest last-approved time, then assigned list order as tie-breaker
[!TIP] Rotation modes are best when you want consistent accountability across siblings.
Scheduling
Frequency
Common options:
- None (one-time)
- Daily / Weekly / Biweekly / Monthly
- Custom interval
- Custom from completion
- Daily Multi (configured in helper step)
[!TIP] Important distinction:
- Frequency determines how the next due date is calculated.
- Approval reset type determines when approved state returns to pending.
Due Date
Sets the due boundary used by reminder, due-window, overdue, and approval-boundary behavior.
Applicable Days
Optional day filter for when a Chore is active.
- Leave blank to allow all days
- Use day restrictions only when needed
Due Window and Claim Lock
Use together to control early claiming behavior.
chore_due_window_offset: defines when the due window startschore_claim_lock_until_window: blocks claiming before the due window opens
When lock-until-window is enabled, Kids may see a waiting state until the window opens.
Approval and Late-Handling Controls
These settings answer a simple question: after a chore is approved, when does it become available again, and what happens if it is late or still waiting for approval?
Think of approval behavior as three independent lanes:
- Trigger lane (
approval_reset_type): when the boundary fires - Claim lane (
approval_reset_pending_claim_action): what happens to unapproved claims at that boundary - Overdue lane (
overdue_handling_type): overdue behavior at due time and boundary
Use this model when combining settings so behavior stays predictable.
Approval Reset Type
Defines when approval boundaries occur:
- Once per day
- Multiple times per day
- At due date (single or multi)
- Upon completion (resets approval state immediately after completion; then reschedules using the chore's normal recurrence rules based on due-date/schedule logic)
- Manual
[!TIP]
Upon completioncontrols when approval reset happens. It does not switch recurrence to completion-time math. For recurrence that uses completion timestamp instead of due-date scheduling, use Custom from completion in Chore Advanced Features.
Pending Claim Action
Defines what happens if a claim is still pending at the boundary:
- Hold pending
- Clear pending
- Auto-approve pending
Overdue Handling
Defines late behavior for the Chore.
Common options include:
- Never overdue
- Overdue at due date
- Clear overdue at approval boundary
- Clear overdue immediately on late completion
- Clear and mark missed
- Mark missed and lock
- Allow steal until approval boundary (rotation only)
[!WARNING] Allow steal is rotation-only and requires compatible rotation + approval boundary settings. See Chore Advanced Features for exact compatibility.
Daily Multi and Per-Kid Helpers
Some settings are completed in helper steps after the main form:
daily_multi_times- Per-kid fields for independent chores with multiple Kids (such as per-kid applicable days, times, and due dates)
If you select a mode that needs these values, the flow routes you to the correct helper step automatically.
Practical Defaults
Start simple, then refine:
- Completion criteria:
independent - Frequency:
dailyorweekly - Approval reset: once-per-day style
- Pending claim action: auto-approve or clear, based on household preference
- Overdue handling: clear immediate on late (balanced default behavior)
Troubleshooting Quick Checks
- Chore not visible today: check
applicable_days, due window, and claim lock - Kid cannot claim: check current state and lock reason (waiting / not my turn / missed)
- Daily Multi not prompting: ensure required base schedule fields are set before helper step
- Rotation confusion: verify completion criteria is rotation mode and assigned Kids list order is correct