75 lines
3.3 KiB
Markdown
75 lines
3.3 KiB
Markdown
# Phase 11: Tasks Management - Discussion Log
|
|
|
|
> **Audit trail only.** Do not use as input to planning, research, or execution agents.
|
|
> Decisions are captured in CONTEXT.md — this log preserves the alternatives considered.
|
|
|
|
**Date:** 2026-03-24
|
|
**Phase:** 11-issue-3-tasks-management-allow-task-checking-anytime-and-pre-populate-recurring-tasks
|
|
**Areas discussed:** Anytime completion behavior, Pre-population strategy, Recurring task display range, Completion indication
|
|
**Mode:** --auto (all decisions auto-selected using recommended defaults)
|
|
|
|
---
|
|
|
|
## Anytime Completion Behavior
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Recalculate from today | nextDueDate recalculates from the day the task was completed | ✓ |
|
|
| Recalculate from original due date | nextDueDate adds interval from the original scheduled date | |
|
|
| Recalculate from whichever is later | Use max(today, originalDueDate) as base | |
|
|
|
|
**User's choice:** [auto] Recalculate from today (recommended default)
|
|
**Notes:** Matches user mental model — "I did it now, schedule the next one from now." The existing `completeTask()` already uses `now` as the base date.
|
|
|
|
---
|
|
|
|
## Pre-Population Strategy
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Query-time virtual instances | Generate virtual task appearances in the provider layer based on interval patterns | ✓ |
|
|
| Database pre-generation | Create future task instance rows in the database | |
|
|
| Hybrid | Keep single nextDueDate but generate virtual calendar entries | |
|
|
|
|
**User's choice:** [auto] Query-time virtual instances (recommended default)
|
|
**Notes:** No schema migration needed, matches existing reactive Riverpod architecture. Provider layer already does in-memory transforms (sort, filter) — adding virtual instance generation fits naturally.
|
|
|
|
---
|
|
|
|
## Recurring Task Display Range
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Current interval window only | Show task within days leading up to nextDueDate (e.g., 7 days for weekly) | ✓ |
|
|
| All matching pattern days | Show on every matching day indefinitely into the future | |
|
|
| Configurable window | Let user set how far ahead to show tasks | |
|
|
|
|
**User's choice:** [auto] Current interval window only (recommended default)
|
|
**Notes:** Prevents calendar clutter. Weekly task shows all 7 days leading up to its due date, then after completion reschedules and shows the next 7-day window.
|
|
|
|
---
|
|
|
|
## Completion Indication
|
|
|
|
| Option | Description | Selected |
|
|
|--------|-------------|----------|
|
|
| Hide completed-this-period tasks | Tasks completed in current period disappear from remaining days | ✓ |
|
|
| Show with strikethrough | Keep visible but mark as done | |
|
|
| Show with checkmark badge | Keep visible with completion indicator | |
|
|
|
|
**User's choice:** [auto] Hide completed-this-period tasks (recommended default)
|
|
**Notes:** Simplest approach, consistent with existing behavior where completed tasks disappear. No new UI patterns needed.
|
|
|
|
---
|
|
|
|
## Claude's Discretion
|
|
|
|
- Visual styling for pre-populated (not-yet-due) tasks
|
|
- DAO method organization for period-completion checks
|
|
- Performance optimization for virtual instance generation
|
|
- Edge case handling for anchor day clamping across month boundaries
|
|
|
|
## Deferred Ideas
|
|
|
|
None — discussion stayed within phase scope
|