| Age | Commit message (Expand) | Author |
| 2026-07-16 | Add availability CRUD, task estimate, and budget-tracked toggle endpoints | Peter Stone |
| 2026-07-16 | Surface budget_status on GET /api/widget when tracked tasks exist | Peter Stone |
| 2026-07-16 | Fix overlapping-event double-subtraction in ComputeBudgetPeriod; clarify task... | Peter Stone |
| 2026-07-16 | Add pure availability-minus-events and scheduled-load computation | Peter Stone |
| 2026-07-16 | Infer a default estimate from same-project/label averages | Peter Stone |
| 2026-07-16 | Add budget-tracked toggles for projects/labels; fix SetLabelColor wiping the ... | Peter Stone |
| 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 |