From 8b6f44ac9abc806dcfdc30c8bba534173590aaf6 Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Sat, 28 Feb 2026 00:05:39 -0800 Subject: [PATCH] docs(roadmap): mark all 4 backend modules complete (timers, routines, households, shared-timers) --- docs/roadmap.md | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/docs/roadmap.md b/docs/roadmap.md index 71cd825..82bfd30 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -815,6 +815,7 @@ ChronoMind ships in **5 phases over ~6 months**, from web MVP to full cross-plat - [x] **Cross-platform cloud sync (via platform-service)** - [x] Sync API: `modules/timers/` — 7 REST endpoints (CRUD + delta sync + batch upsert), 42 tests, `productId: "chronomind"` + - [x] Sync API: `modules/routines/` — 7 REST endpoints (CRUD + delta sync + batch upsert), 32 tests, `productId: "chronomind"` - [x] JWT authentication via @bytelyst/auth (reuse existing `authenticate` preHandler) - [x] TLS in transit + encrypted at rest in Cosmos DB (container: `timers`, partition: `/userId`) - [x] Sync protocol: `syncVersion` monotonic integer — optimistic concurrency, 409 on stale writes @@ -826,14 +827,16 @@ ChronoMind ships in **5 phases over ~6 months**, from web MVP to full cross-plat ### Week 20-21: Shared Timers + Social -- [ ] **Shared timers (Family/Household)** - - [ ] Create a "household" group (invite via link) - - [ ] Shared timers visible to all household members - - [ ] Real-time sync: one person starts timer, everyone sees it - - [ ] Use cases: "Dinner in 30 minutes", "Leave for school in 15 min" - - [ ] Per-timer: shared vs private toggle - - [ ] Household admin: manage members, remove shared timers - - [ ] Up to 6 members per household (Family tier) +- [x] **Shared timers (Family/Household) — backend API** + - [x] `modules/households/` — 9 REST endpoints (CRUD, invite, join, leave, remove member), 26 tests + - [x] `modules/shared-timers/` — 6 REST endpoints (CRUD under `/households/:id/timers`, per-user ack), 30 tests + - [x] Create a "household" group (invite via link) — invite code generation + accept + - [x] Shared timers visible to all household members — membership check on all endpoints + - [ ] Real-time sync: one person starts timer, everyone sees it (needs Event Bus — polling fallback) + - [ ] Use cases: "Dinner in 30 minutes", "Leave for school in 15 min" (client UI) + - [ ] Per-timer: shared vs private toggle (client UI) + - [x] Household admin: manage members, remove shared timers — admin role enforcement + - [x] Up to 6 members per household (Family tier) — `MAX_HOUSEHOLD_MEMBERS` enforced - [ ] **Body doubling / shared focus (deferred to v3)** - [ ] _Experimental feature requiring real-time infrastructure (Event Bus). Defer until platform gap component 2.4 is built._ @@ -1064,11 +1067,11 @@ ChronoMind reuses **13 shared packages** and **17+ platform-service modules** fr | @bytelyst/testing | Shared test mocks | 4-5 | | @bytelyst/fastify-core | Service app factory | 5 | -**New platform-service modules needed (4):** -- `timers` — timer CRUD + sync for `productId: "chronomind"` -- `routines` — routine CRUD + sync -- `shared-timers` — household shared timer management -- `households` — household membership + invitations +**New platform-service modules (4/4 complete, 847 total tests):** +- ✅ `timers` — 7 endpoints, 42 tests (container: `timers`, partition: `/userId`) +- ✅ `routines` — 7 endpoints, 32 tests (container: `routines`, partition: `/userId`) +- ✅ `households` — 9 endpoints, 26 tests (container: `households`, partition: `/id`) +- ✅ `shared-timers` — 6 endpoints, 30 tests (container: `shared_timers`, partition: `/householdId`) ---