From 8abc63efdbc0bb96cd6c9aa99d6e9166e0bcabae Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Sun, 22 Mar 2026 23:45:19 +0000 Subject: chore: unify and centralize agent configuration in .agent/ --- IMPLEMENTOR.md | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 IMPLEMENTOR.md (limited to 'IMPLEMENTOR.md') diff --git a/IMPLEMENTOR.md b/IMPLEMENTOR.md deleted file mode 100644 index ba77c2b..0000000 --- a/IMPLEMENTOR.md +++ /dev/null @@ -1,47 +0,0 @@ -# Implementation Plan: Timeline Feature - -## Phase 1: Database Layer (Store) -**Goal:** Enable fetching data by date range. - -1. **Update Interface:** Modify `internal/store/store.go` to add: - * `GetTasksByDateRange(start, end time.Time) ([]models.Task, error)` - * `GetMealsByDateRange(start, end time.Time) ([]models.Meal, error)` - * `GetCardsByDateRange(start, end time.Time) ([]models.Card, error)` -2. **Update Implementation:** Modify `internal/store/sqlite.go` to implement these methods using SQL queries. -3. **Test:** Create/Update `internal/store/store_test.go` to verify the queries work correctly. - -## Phase 2: Core Logic & Models -**Goal:** Aggregate and normalize data into a timeline structure. - -1. **Create Models:** Create `internal/models/timeline.go` with `TimelineItem` and `TimelineItemType`. -2. **Create Logic:** Create `internal/handlers/timeline_logic.go`. - * Implement `BuildTimeline(store Store, calendarClient *api.GoogleCalendarClient, start, end time.Time)`. - * **Logic:** - * Fetch Tasks, Meals, Cards from Store. - * Fetch Events from Calendar Client. - * Convert all to `TimelineItem`. - * **Apply Meal Defaults:** - * If `MealType` == "breakfast" -> Set time to 08:00 - * If `MealType` == "lunch" -> Set time to 12:00 - * If `MealType` == "dinner" -> Set time to 19:00 - * Else -> Set time to 12:00 - * Sort items by `Time`. -3. **Test:** Create `internal/handlers/timeline_logic_test.go` to test merging and sorting (TDD). - -## Phase 3: HTTP Handler & Routing -**Goal:** Expose the timeline via HTTP. - -1. **Create Handler:** Create `internal/handlers/timeline.go`. - * Inject `Store` and `GoogleCalendarClient`. - * Parse query params (`start`, `days`). - * Call `BuildTimeline`. - * Render template. -2. **Register Route:** Update `cmd/dashboard/main.go` to map `/timeline` to the new handler. - -## Phase 4: UI -**Goal:** Visualize the timeline. - -1. **Create Template:** Create `web/templates/partials/timeline-tab.html`. - * Iterate over items grouped by day. - * Show time, icon, title, and details. -2. **Update Main View:** Update `web/templates/index.html` to add the "Timeline" tab and HTMX trigger. -- cgit v1.2.3