| Age | Commit message (Expand) | Author |
| 2026-07-16 | Add availability_blocks CRUD to the store layer | Peter Stone |
| 2026-07-16 | Add estimated_minutes to native task read/write/recurrence paths | Peter Stone |
| 2026-07-16 | gofmt internal/models/types.go and budget.go | Peter Stone |
| 2026-07-16 | Add budget/availability model types | Peter Stone |
| 2026-07-16 | Add schema for task budgets and availability blocks | Peter Stone |
| 2026-07-16 | fix(agent): pass project_id through on Agent API task creation | Peter Stone |
| 2026-07-16 | test(tasks): add tests for project color threading | Peter Stone |
| 2026-07-16 | feat(tasks): thread project color from BuildTimeline to WidgetItem | Peter Stone |
| 2026-07-16 | test(tasks): add test cases for project and label endpoints | Peter Stone |
| 2026-07-16 | feat(tasks): add HTTP endpoints for projects and label colors | Peter Stone |
| 2026-07-16 | feat(tasks): add label color CRUD store methods | Peter Stone |
| 2026-07-16 | feat(tasks): add Projects CRUD store methods | Peter Stone |
| 2026-07-16 | feat(tasks): add projects/labels schema, wire project_id through native tasks | Peter Stone |
| 2026-07-16 | refactor(store): extract agent session/trust methods from sqlite.go | Peter Stone |
| 2026-07-16 | refactor(store): extract calendar and Google Tasks methods from sqlite.go | Peter Stone |
| 2026-07-16 | refactor(store): extract shopping methods from sqlite.go into shopping.go | Peter Stone |
| 2026-07-16 | refactor(store): extract meal methods from sqlite.go into meals.go | Peter Stone |
| 2026-07-16 | chore: remove dead IsRecurring field and its always-false branch | Peter Stone |
| 2026-07-16 | chore: remove dead code (unused atom constants, orphaned handler) | Peter Stone |
| 2026-07-16 | fix(agent): restore doot-native task support in Agent API, remove stale test | Peter Stone |
| 2026-07-16 | fix(tasks): make CreateNextIteration atomically self-guarding | Peter Stone |
| 2026-07-16 | fix(tasks): return ErrNativeTaskNotFound from UpdateNativeTask on stale id | Peter Stone |
| 2026-07-16 | feat(tasks): add HTTP endpoints for task detail, update, and recurrence | Peter Stone |
| 2026-07-16 | feat(tasks): add periodic due-date check for recurring tasks | Peter Stone |
| 2026-07-16 | feat(tasks): create the next recurring iteration on completion | Peter Stone |
| 2026-07-16 | feat(tasks): add ComputeNextOccurrence for recurring task scheduling | Peter Stone |
| 2026-07-16 | feat(tasks): add recurrence columns and model fields for native tasks | Peter Stone |
| 2026-07-16 | feat: add authenticated /docs viewer for superpowers specs/plans | Peter Stone |
| 2026-07-16 | fix(web): account for Google Calendar's exclusive all-day end-date | Peter Stone |
| 2026-07-16 | feat(web): show multi-day calendar events on every day they span | Peter Stone |
| 2026-07-16 | fix(widget): forward End for all-day multi-day calendar events | Peter Stone |
| 2026-07-16 | feat(widget): tap event to open its source directly, drop detail popup | Peter Stone |
| 2026-07-13 | Merge github/master: reconcile with parallel widget work | Peter Stone |
| 2026-07-13 | feat(widget): editable task details, scrollable list, and overdue-task fixes | Peter Stone |
| 2026-07-12 | feat(widget): add recurrence lookup endpoint (GET /api/widget/recurrence) | Peter Stone |
| 2026-07-12 | feat(widget): capture and forward RecurringEventID for calendar events | Peter Stone |
| 2026-07-12 | feat(widget): add POST /api/widget/add for quick-add | Peter Stone |
| 2026-07-12 | feat(widget): add DueDate field for doot tasks to the widget API | Peter Stone |
| 2026-07-12 | feat(widget): forward IsOverdue from TimelineItem to WidgetItem API | Peter Stone |
| 2026-07-12 | fix(timeline): include overdue native tasks in timeline and widget | Peter Stone |
| 2026-07-12 | fix(calendar): split comma-joined GOOGLE_CALENDAR_ID before use | Peter Stone |
| 2026-07-12 | fix(widget): pin all-day calendar events to the top instead of losing them | Peter Stone |
| 2026-07-12 | fix(widget): surface unmatched task IDs instead of silently no-opping | Peter Stone |
| 2026-07-06 | feat: remove Todoist integration entirely | Doot Agent |
| 2026-07-05 | Merge deploy/master (gateway/proxy fixes) with doot-native task completion fix | Peter Stone |
| 2026-07-05 | fix: native tasks missing from Tasks tab and blank title on completion | Doot Agent |
| 2026-07-05 | fix(proxy): set Host header to upstream target to satisfy loopback MCP DNS-re... | Peter Stone |
| 2026-06-29 | fix: calendar/meals sync, tomorrow flat layout, /health endpoint | Peter Stone |
| 2026-06-29 | feat: reschedule tasks from widget bottom sheet | Peter Stone |
| 2026-06-29 | feat: make Todoist optional, guard nil client calls | Peter Stone |