# 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
