Maestro task 9ccfc3a6-cc7b-493a-aa4b-2b455d26f4df — Home API, first task of Feature 21 (Home Dashboard).
Adds GET /api/v1/home aggregating existing services: household-local date label, tonight's dinner from the current week's plan, pending side-quest count, current/upcoming shopping-list status, and recentUpdates.unread. Read-only aggregation; no business logic duplicated.
Done-condition: response shape as specified; tests under a non-UTC household timezone prove tonight's dinner flips at local midnight; no-plan and no-suggestions cases covered; Go quality floor passes.
Head: cdbec3f3a250a3b0cd9465c0774e7d3589cdf03a.
Maestro task `9ccfc3a6-cc7b-493a-aa4b-2b455d26f4df` — Home API, first task of Feature 21 (Home Dashboard).
Adds `GET /api/v1/home` aggregating existing services: household-local date label, tonight's dinner from the current week's plan, pending side-quest count, current/upcoming shopping-list status, and `recentUpdates.unread`. Read-only aggregation; no business logic duplicated.
Done-condition: response shape as specified; tests under a non-UTC household timezone prove tonight's dinner flips at local midnight; no-plan and no-suggestions cases covered; Go quality floor passes.
Head: `cdbec3f3a250a3b0cd9465c0774e7d3589cdf03a`.
home.Service aggregates the Home screen from the services that own each
value, at "now" in the household's zone: the date label, tonight's dinner
from the current week's plan (null with no plan), the pending Side quest
count from the deck, the Supply run status of the upcoming week or else
the current one, and recentUpdates.unread.
unread is whether a notification was stored in notification_outbox after
household_settings.updates_seen_at (or at all while it is null), read
through the new notify.StoredSince over the HasNotificationSince query.
Nothing writes updates_seen_at yet; the updates task adds that.
Tests under America/Chicago show tonight's dinner flips at local
midnight, not UTC midnight, and cover no plan, no suggestions, the
Supply run choice and unread.
Maestro task 9ccfc3a6-cc7b-493a-aa4b-2b455d26f4df.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Maestro task
9ccfc3a6-cc7b-493a-aa4b-2b455d26f4df— Home API, first task of Feature 21 (Home Dashboard).Adds
GET /api/v1/homeaggregating existing services: household-local date label, tonight's dinner from the current week's plan, pending side-quest count, current/upcoming shopping-list status, andrecentUpdates.unread. Read-only aggregation; no business logic duplicated.Done-condition: response shape as specified; tests under a non-UTC household timezone prove tonight's dinner flips at local midnight; no-plan and no-suggestions cases covered; Go quality floor passes.
Head:
cdbec3f3a250a3b0cd9465c0774e7d3589cdf03a.Independent Codex gpt-6-sol review: APPROVED for this exact commit.