Chore checklist with Mark as complete

Changed

Context

The mockup in #338 has a chore detail panel: description, location, frequency, a checklist of sub chores with progress, and Mark as complete.

What exists: the chore page shows the sub_chores block (nested views_tree list of the whole subtree) and the chore_log table. Sub chores are logged through the sub_chores checkboxes on a parent's log form, or on their own; ChoreLogTree attaches same-day logs to the nearest logged ancestor.

docs/todo/chore-sessions.md constrains this: some sub chores are prerequisites, so completing every sub chore must never complete the parent.

Decisions

  • The checklist shows the parent's sub chores that are due or overdue, each ticked on its own (one-tap logging, #340).
  • The parent stays open until its own Mark as complete is pressed, which logs the parent for today.
  • No snooze.
  • Partial work is still not modeled: a log means done. Progress is counted from today's logs, not from in-progress logs.

TODO

  • [ ] Checklist display of due or overdue sub chores of a chore, nested, with ticks.
  • [ ] Progress n/m and bar.
  • [ ] Mark as complete button (logs the parent today; ticks done today stay attached through ChoreLogTree::adopt()).
  • [ ] Reach it from a Today row (see the open question on #338).

Done when

  • Opening "Clean bathroom" lists only the sub chores that are due or overdue, with progress.
  • Ticking every sub chore leaves the parent not done until Mark as complete.
  • After Mark as complete, the parent's log for today has today's sub chore logs beneath it on /chores/log.
Task type
Project
Parent task