3.3 KiB
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